Merge "Revert "Sync up with Parsoid parserTests.""
[lhc/web/wiklou.git] / includes / specials / SpecialUnblock.php
index 244b889..f776832 100644 (file)
@@ -53,7 +53,7 @@ class SpecialUnblock extends SpecialPage {
 
                $out = $this->getOutput();
                $out->setPageTitle( $this->msg( 'unblockip' ) );
-               $out->addModules( 'mediawiki.special' );
+               $out->addModules( array( 'mediawiki.special', 'mediawiki.userSuggest' ) );
 
                $form = new HTMLForm( $this->getFields(), $this->getContext() );
                $form->setWrapperLegendMsg( 'unblockip' );
@@ -88,6 +88,7 @@ class SpecialUnblock extends SpecialPage {
                                'autofocus' => true,
                                'size' => '45',
                                'required' => true,
+                               'cssclass' => 'mw-autocomplete-user', // used by mediawiki.userSuggest
                        ),
                        'Name' => array(
                                'type' => 'info',
@@ -226,12 +227,34 @@ class SpecialUnblock extends SpecialPage {
                }
 
                # Make log entry
-               $log = new LogPage( 'block' );
-               $log->addEntry( 'unblock', $page, $data['Reason'], array(), $performer );
+               $logEntry = new ManualLogEntry( 'block', 'unblock' );
+               $logEntry->setTarget( $page );
+               $logEntry->setComment( $data['Reason'] );
+               $logEntry->setPerformer( $performer );
+               $logId = $logEntry->insert();
+               $logEntry->publish( $logId );
 
                return true;
        }
 
+       /**
+        * Return an array of subpages beginning with $search that this special page will accept.
+        *
+        * @param string $search Prefix to search for
+        * @param int $limit Maximum number of results to return (usually 10)
+        * @param int $offset Number of results to skip (usually 0)
+        * @return string[] Matching subpages
+        */
+       public function prefixSearchSubpages( $search, $limit, $offset ) {
+               $user = User::newFromName( $search );
+               if ( !$user ) {
+                       // No prefix suggestion for invalid user
+                       return array();
+               }
+               // Autocomplete subpage as user list - public to allow caching
+               return UserNamePrefixSearch::search( 'public', $search, $limit, $offset );
+       }
+
        protected function getGroupName() {
                return 'users';
        }