dispatchUser() should use a 302 http status code
[lhc/web/wiklou.git] / includes / specials / SpecialPrefixindex.php
index 9ff6d70..f7906db 100644 (file)
@@ -48,8 +48,6 @@ class SpecialPrefixindex extends SpecialAllPages {
         * @param string $par Becomes "FOO" when called like Special:Prefixindex/FOO (default null)
         */
        function execute( $par ) {
-               global $wgContLang;
-
                $this->setHeaders();
                $this->outputHeader();
 
@@ -65,7 +63,7 @@ class SpecialPrefixindex extends SpecialAllPages {
                $this->hideRedirects = $request->getBool( 'hideredirects', $this->hideRedirects );
                $this->stripPrefix = $request->getBool( 'stripprefix', $this->stripPrefix );
 
-               $namespaces = $wgContLang->getNamespaces();
+               $namespaces = MediaWikiServices::getInstance()->getContentLanguage()->getNamespaces();
                $out->setPageTitle(
                        ( $namespace > 0 && array_key_exists( $namespace, $namespaces ) )
                                ? $this->msg( 'prefixindex-namespace', str_replace( '_', ' ', $namespaces[$namespace] ) )
@@ -102,8 +100,10 @@ class SpecialPrefixindex extends SpecialAllPages {
                        'prefix' => [
                                'label-message' => 'allpagesprefix',
                                'name' => 'prefix',
+                               'id' => 'nsfrom',
                                'type' => 'text',
                                'size' => '30',
+                               'default' => str_replace( '_', ' ', $from ),
                        ],
                        'namespace' => [
                                'type' => 'namespaceselect',
@@ -111,7 +111,7 @@ class SpecialPrefixindex extends SpecialAllPages {
                                'id' => 'namespace',
                                'label-message' => 'namespace',
                                'all' => null,
-                               'value' => $namespace,
+                               'default' => $namespace,
                        ],
                        'hidedirects' => [
                                'class' => 'HTMLCheckField',
@@ -124,30 +124,30 @@ class SpecialPrefixindex extends SpecialAllPages {
                                'label-message' => 'prefixindex-strip',
                        ],
                ];
-               $htmlForm = new HTMLForm( $formDescriptor, $this->getContext() );
+               $context = new DerivativeContext( $this->getContext() );
+               $context->setTitle( $this->getPageTitle() ); // Remove subpage
+               $htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, $context );
                $htmlForm
                        ->setMethod( 'get' )
-                       ->setWrapperLegendMsg( 'allpages' )
+                       ->setWrapperLegendMsg( 'prefixindex' )
                        ->setSubmitTextMsg( 'prefixindex-submit' );
 
                return $htmlForm->prepareForm()->getHTML( false );
        }
 
        /**
-        * @param int $namespace Default NS_MAIN
+        * @param int $namespace
         * @param string $prefix
-        * @param string $from List all pages from this name (default false)
+        * @param string|null $from List all pages from this name (default false)
         */
-       protected function showPrefixChunk( $namespace = NS_MAIN, $prefix, $from = null ) {
-               global $wgContLang;
-
+       protected function showPrefixChunk( $namespace, $prefix, $from = null ) {
                if ( $from === null ) {
                        $from = $prefix;
                }
 
                $fromList = $this->getNamespaceKeyAndText( $namespace, $from );
                $prefixList = $this->getNamespaceKeyAndText( $namespace, $prefix );
-               $namespaces = $wgContLang->getNamespaces();
+               $namespaces = MediaWikiServices::getInstance()->getContentLanguage()->getNamespaces();
                $res = null;
                $n = 0;
                $nextRow = null;