Special:PrefixIndex: Convert to HTMLForm

Most of the code here is from
I98cdfb69d11dee0dd1ac2d0d862235f2e53d85d9.

This is also an updated revert of the revert
I99f75b5cb12913236a43b17970ea1752261ace9b.

Bug: T117726
Change-Id: Ieb9713f8346316e9c3cf1e83eae00848f3921b43
This commit is contained in:
Prateek Saxena 2018-04-16 10:03:44 +05:30
parent e929c71631
commit e9fbb83208

View file

@ -98,56 +98,39 @@ class SpecialPrefixindex extends SpecialAllPages {
* @return string
*/
protected function namespacePrefixForm( $namespace = NS_MAIN, $from = '' ) {
$out = Xml::openElement( 'div', [ 'class' => 'namespaceoptions' ] );
$out .= Xml::openElement(
'form',
[ 'method' => 'get', 'action' => $this->getConfig()->get( 'Script' ) ]
);
$out .= Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() );
$out .= Xml::openElement( 'fieldset' );
$out .= Xml::element( 'legend', null, $this->msg( 'allpages' )->text() );
$out .= Xml::openElement( 'table', [ 'id' => 'nsselect', 'class' => 'allpages' ] );
$out .= "<tr>
<td class='mw-label'>" .
Xml::label( $this->msg( 'allpagesprefix' )->text(), 'nsfrom' ) .
"</td>
<td class='mw-input'>" .
Xml::input( 'prefix', 30, str_replace( '_', ' ', $from ), [ 'id' => 'nsfrom' ] ) .
"</td>
</tr>
<tr>
<td class='mw-label'>" .
Xml::label( $this->msg( 'namespace' )->text(), 'namespace' ) .
"</td>
<td class='mw-input'>" .
Html::namespaceSelector( [
'selected' => $namespace,
], [
$formDescriptor = [
'prefix' => [
'label-message' => 'allpagesprefix',
'name' => 'prefix',
'type' => 'text',
'size' => '30',
],
'namespace' => [
'type' => 'namespaceselect',
'name' => 'namespace',
'id' => 'namespace',
'class' => 'namespaceselector',
] ) .
Xml::checkLabel(
$this->msg( 'allpages-hide-redirects' )->text(),
'hideredirects',
'hideredirects',
$this->hideRedirects
) . ' ' .
Xml::checkLabel(
$this->msg( 'prefixindex-strip' )->text(),
'stripprefix',
'stripprefix',
$this->stripPrefix
) . ' ' .
Xml::submitButton( $this->msg( 'prefixindex-submit' )->text() ) .
"</td>
</tr>";
$out .= Xml::closeElement( 'table' );
$out .= Xml::closeElement( 'fieldset' );
$out .= Xml::closeElement( 'form' );
$out .= Xml::closeElement( 'div' );
'label-message' => 'namespace',
'all' => null,
'value' => $namespace,
],
'hidedirects' => [
'class' => 'HTMLCheckField',
'name' => 'hideredirects',
'label-message' => 'allpages-hide-redirects',
],
'stripprefix' => [
'class' => 'HTMLCheckField',
'name' => 'stripprefix',
'label-message' => 'prefixindex-strip',
],
];
$htmlForm = new HTMLForm( $formDescriptor, $this->getContext() );
$htmlForm
->setMethod( 'get' )
->setWrapperLegendMsg( 'allpages' )
->setSubmitTextMsg( 'prefixindex-submit' );
return $out;
return $htmlForm->prepareForm()->getHTML( false );
}
/**