]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blobdiff - includes/specials/SpecialUserrights.php
MediaWiki 1.15.0
[autoinstalls/mediawiki.git] / includes / specials / SpecialUserrights.php
index ce0097b2228721c70f64b6d0adaa96430988a9ba..906191091d26d562820917ebad6416ba315e876a 100644 (file)
@@ -96,11 +96,18 @@ class UserrightsPage extends SpecialPage {
                        // save settings
                        if( $wgRequest->getCheck( 'saveusergroups' ) ) {
                                $reason = $wgRequest->getVal( 'user-reason' );
-                               if( $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ), $this->mTarget ) ) {
+                               $tok = $wgRequest->getVal( 'wpEditToken' );
+                               if( $wgUser->matchEditToken( $tok, $this->mTarget ) ) {
                                        $this->saveUserGroups(
                                                $this->mTarget,
                                                $reason
                                        );
+                                       
+                                       global $wgOut;
+                                       
+                                       $url = $this->getSuccessURL();
+                                       $wgOut->redirect( $url );
+                                       return;
                                }
                        }
                }
@@ -110,6 +117,10 @@ class UserrightsPage extends SpecialPage {
                        $this->editUserGroupsForm( $this->mTarget );
                }
        }
+       
+       function getSuccessURL() {
+               return $this->getTitle( $this->mTarget )->getFullURL();
+       }
 
        /**
         * Save user groups changes in the database.
@@ -231,9 +242,9 @@ class UserrightsPage extends SpecialPage {
         * @return mixed User, UserRightsProxy, or null
         */
        function fetchUser( $username ) {
-               global $wgOut, $wgUser;
+               global $wgOut, $wgUser, $wgUserrightsInterwikiDelimiter;
 
-               $parts = explode( '@', $username );
+               $parts = explode( $wgUserrightsInterwikiDelimiter, $username );
                if( count( $parts ) < 2 ) {
                        $name = trim( $username );
                        $database = '';