Add Special:ApiSandbox
[lhc/web/wiklou.git] / includes / specials / SpecialUserrights.php
index ea22274..7351c33 100644 (file)
@@ -41,6 +41,10 @@ class UserrightsPage extends SpecialPage {
                parent::__construct( 'Userrights' );
        }
 
+       public function doesWrites() {
+               return true;
+       }
+
        public function isRestricted() {
                return true;
        }
@@ -469,7 +473,12 @@ class UserrightsPage extends SpecialPage {
                                        $this->mFetchedUser === null ? array( 'autofocus' => '' ) : array()
                                )
                        ) . ' ' .
-                       Xml::submitButton( $this->msg( 'editusergroup' )->text() ) .
+                       Xml::submitButton(
+                               $this->msg(
+                                       'editusergroup',
+                                       $this->mFetchedUser === null ? '[]' : $this->mFetchedUser->getName()
+                               )->text()
+                       ) .
                        Html::closeElement( 'fieldset' ) .
                        Html::closeElement( 'form' ) . "\n"
                );
@@ -599,7 +608,7 @@ class UserrightsPage extends SpecialPage {
                                <tr>
                                        <td></td>
                                        <td class='mw-submit'>" .
-                                               Xml::submitButton( $this->msg( 'saveusergroups' )->text(),
+                                               Xml::submitButton( $this->msg( 'saveusergroups', $user->getName() )->text(),
                                                        array( 'name' => 'saveusergroups' ) +
                                                                Linker::tooltipAndAccesskeyAttribs( 'userrights-set' )
                                                ) .
@@ -776,6 +785,24 @@ class UserrightsPage extends SpecialPage {
                LogEventsList::showLogExtract( $output, 'rights', $user->getUserPage() );
        }
 
+       /**
+        * 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';
        }