r65348 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r65347‎ | r65348 | r65349 >
Date:22:28, 20 April 2010
Author:siebrand
Status:deferred (Comments)
Tags:
Comment:
stylize.php, trailing whitespace removed, indentation updated
Modified paths:
  • /trunk/extensions/CentralAuth/ApiQueryGlobalUserInfo.php (modified) (history)
  • /trunk/extensions/CentralAuth/CentralAuth.i18n.php (modified) (history)
  • /trunk/extensions/CentralAuth/CentralAuth.php (modified) (history)
  • /trunk/extensions/CentralAuth/CentralAuthGroupMembershipProxy.php (modified) (history)
  • /trunk/extensions/CentralAuth/CentralAuthHooks.php (modified) (history)
  • /trunk/extensions/CentralAuth/CentralAuthPlugin.php (modified) (history)
  • /trunk/extensions/CentralAuth/CentralAuthUser.php (modified) (history)
  • /trunk/extensions/CentralAuth/CentralAuthUserArray.php (modified) (history)
  • /trunk/extensions/CentralAuth/SpecialAutoLogin.php (modified) (history)
  • /trunk/extensions/CentralAuth/SpecialCentralAuth.php (modified) (history)
  • /trunk/extensions/CentralAuth/SpecialGlobalGroupMembership.php (modified) (history)
  • /trunk/extensions/CentralAuth/SpecialGlobalGroupPermissions.php (modified) (history)
  • /trunk/extensions/CentralAuth/SpecialGlobalUsers.php (modified) (history)
  • /trunk/extensions/CentralAuth/SpecialMergeAccount.php (modified) (history)
  • /trunk/extensions/CentralAuth/SpecialWikiSets.php (modified) (history)
  • /trunk/extensions/CentralAuth/SuppressUserJob.php (modified) (history)
  • /trunk/extensions/CentralAuth/WikiSet.php (modified) (history)
  • /trunk/extensions/CentralAuth/central-auth.sql (modified) (history)
  • /trunk/extensions/CentralAuth/evil-plans.txt (modified) (history)
  • /trunk/extensions/CentralAuth/migratePass0.php (modified) (history)
  • /trunk/extensions/CentralAuth/migratePass1.php (modified) (history)
  • /trunk/extensions/CentralAuth/migrateStewards.php (modified) (history)
  • /trunk/extensions/CentralAuth/renaming.txt (modified) (history)

Diff [purge]

Index: trunk/extensions/CentralAuth/CentralAuthPlugin.php
@@ -1,5 +1,4 @@
22 <?php
3 -
43 /**
54 * "Attached" accounts always require authentication against the central password.
65 *
@@ -7,8 +6,8 @@
87 * $wgCentralAuthStrict is not set, but they will not have access to any
98 * central password or settings.
109 */
 10+
1111 class CentralAuthPlugin extends AuthPlugin {
12 -
1312 /**
1413 * Check whether there exists a user account with the given name.
1514 * The name will be normalized to MediaWiki's requirements, so
@@ -39,15 +38,17 @@
4039 global $wgCentralAuthAutoMigrate;
4140
4241 $central = new CentralAuthUser( $username );
43 - if( !$central->exists() ) {
44 - wfDebugLog( 'CentralAuth',
45 - "plugin: no global account for '$username'" );
 42+ if ( !$central->exists() ) {
 43+ wfDebugLog(
 44+ 'CentralAuth',
 45+ "plugin: no global account for '$username'"
 46+ );
4647 return false;
4748 }
4849
4950 $passwordMatch = $central->authenticate( $password ) == "ok";
5051
51 - if( $passwordMatch && $wgCentralAuthAutoMigrate ) {
 52+ if ( $passwordMatch && $wgCentralAuthAutoMigrate ) {
5253 // If the user passed in the global password, we can identify
5354 // any remaining local accounts with a matching password
5455 // and migrate them in transparently.
@@ -64,9 +65,9 @@
6566 // global exists, local doesn't exist: require global auth -> will autocreate local
6667 // global doesn't exist, local doesn't exist: no authentication
6768 //
68 - if( !$central->isAttached() ) {
 69+ if ( !$central->isAttached() ) {
6970 $local = User::newFromName( $username );
70 - if( $local && $local->getId() ) {
 71+ if ( $local && $local->getId() ) {
7172 // An unattached local account; central authentication can't
7273 // be used until this account has been transferred.
7374 // $wgCentralAuthStrict will determine if local login is allowed.
@@ -149,7 +150,7 @@
150151 function setPassword( $user, $password ) {
151152 // Fixme: password changes should happen through central interface.
152153 $central = CentralAuthUser::getInstance( $user );
153 - if( $central->isAttached() ) {
 154+ if ( $central->isAttached() ) {
154155 return $central->setPassword( $password );
155156 } else {
156157 // Not attached, local password is set only
@@ -194,11 +195,11 @@
195196 * @return bool
196197 * @public
197198 */
198 - function addUser( $user, $password, $email='', $realname='' ) {
 199+ function addUser( $user, $password, $email = '', $realname = '' ) {
199200 global $wgCentralAuthAutoNew;
200 - if( $wgCentralAuthAutoNew ) {
 201+ if ( $wgCentralAuthAutoNew ) {
201202 $central = CentralAuthUser::getInstance( $user );
202 - if( !$central->exists() && !$central->listUnattached() ) {
 203+ if ( !$central->exists() && !$central->listUnattached() ) {
203204 // Username is unused; set up as a global account
204205 // @fixme is this even vaguely reliable? pah
205206 $central->register( $password, $email, $realname );
@@ -234,17 +235,17 @@
235236 * @param $user User object.
236237 * @public
237238 */
238 - function initUser( &$user, $autocreate=false ) {
239 - if( $autocreate ) {
 239+ function initUser( &$user, $autocreate = false ) {
 240+ if ( $autocreate ) {
240241 $central = CentralAuthUser::getInstance( $user );
241 - if( $central->exists() ) {
 242+ if ( $central->exists() ) {
242243 $central->attach( wfWikiID(), 'login' );
243244 $central->addLocalName( wfWikiID() );
244245 $this->updateUser( $user );
245246 }
246247 }
247248 }
248 -
 249+
249250 public function getUserInstance( User &$user ) {
250251 return CentralAuthUser::getInstance( $user );
251252 }
Index: trunk/extensions/CentralAuth/SpecialGlobalGroupMembership.php
@@ -1,17 +1,17 @@
22 <?php
3 -
43 /**
54 *
65 * Equivalent of Special:Userrights for global groups.
76 * @addtogroup extensions
87 */
9 -
 8+
109 class SpecialGlobalGroupMembership extends UserrightsPage {
1110 var $mGlobalUser;
 11+
1212 function SpecialGlobalGroupMembership() {
1313 SpecialPage::SpecialPage( 'GlobalGroupMembership' );
14 - wfLoadExtensionMessages('SpecialCentralAuth');
15 -
 14+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
 15+
1616 global $wgUser;
1717 $this->mGlobalUser = CentralAuthUser::getInstance( $wgUser );
1818 }
@@ -20,25 +20,25 @@
2121 global $wgRequest;
2222 $knownWikis = $this->mGlobalUser->listAttached();
2323 $title = $this->getTitle( $this->mTarget );
24 - return $title->getFullURL( 'wpKnownWiki='.urlencode( $knownWikis[0] ) );
 24+ return $title->getFullURL( 'wpKnownWiki=' . urlencode( $knownWikis[0] ) );
2525 }
26 -
 26+
2727 /**
2828 * Output a form to allow searching for a user
2929 */
3030 function switchForm() {
3131 global $wgOut, $wgScript, $wgRequest;
32 -
 32+
3333 $knownwiki = $wgRequest->getVal( 'wpKnownWiki' );
3434 $knownwiki = $knownwiki ? $knownwiki : wfWikiId();
35 -
 35+
3636 // Generate wiki selector
37 - $selector = new XmlSelect('wpKnownWiki', 'wpKnownWiki', $knownwiki);
38 -
39 - foreach (CentralAuthUser::getWikiList() as $wiki) {
 37+ $selector = new XmlSelect( 'wpKnownWiki', 'wpKnownWiki', $knownwiki );
 38+
 39+ foreach ( CentralAuthUser::getWikiList() as $wiki ) {
4040 $selector->addOption( $wiki );
4141 }
42 -
 42+
4343 $wgOut->addHTML(
4444 Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'name' => 'uluser', 'id' => 'mw-userrights-form1' ) ) .
4545 Xml::hidden( 'title', $this->getTitle() ) .
@@ -52,56 +52,56 @@
5353 Xml::closeElement( 'form' ) . "\n"
5454 );
5555 }
56 -
 56+
5757 function changeableGroups() {
5858 global $wgUser;
59 -
60 - ## Should be a global user
61 - if (!$this->mGlobalUser->exists() || !$this->mGlobalUser->isAttached()) {
 59+
 60+ # # Should be a global user
 61+ if ( !$this->mGlobalUser->exists() || !$this->mGlobalUser->isAttached() ) {
6262 return array();
6363 }
64 -
 64+
6565 $allGroups = CentralAuthUser::availableGlobalGroups();
66 -
67 - ## Permission MUST be gained from global rights.
 66+
 67+ # # Permission MUST be gained from global rights.
6868 if ( $this->mGlobalUser->hasGlobalPermission( 'globalgroupmembership' ) ) {
69 - #specify addself and removeself as empty arrays -- bug 16098
 69+ # specify addself and removeself as empty arrays -- bug 16098
7070 return array( 'add' => $allGroups, 'remove' => $allGroups, 'add-self' => array(), 'remove-self' => array() );
7171 } else {
7272 return array( 'add' => array(), 'remove' => array(), 'add-self' => array(), 'remove-self' => array() );
7373 }
7474 }
75 -
 75+
7676 function fetchUser( $username ) {
7777 global $wgUser, $wgRequest;
78 -
79 - $knownwiki = $wgRequest->getVal('wpKnownWiki');
80 -
 78+
 79+ $knownwiki = $wgRequest->getVal( 'wpKnownWiki' );
 80+
8181 $user = CentralAuthGroupMembershipProxy::newFromName( $username );
82 -
83 - if( !$user ) {
 82+
 83+ if ( !$user ) {
8484 return Status::newFatal( 'nosuchusershort', $username );
85 - } elseif (!$wgRequest->getCheck( 'saveusergroups' ) && !$user->attachedOn($knownwiki)) {
 85+ } elseif ( !$wgRequest->getCheck( 'saveusergroups' ) && !$user->attachedOn( $knownwiki ) ) {
8686 return Status::newFatal( 'centralauth-globalgroupmembership-badknownwiki',
8787 $username, $knownwiki );
8888 }
89 -
 89+
9090 return Status::newGood( $user );
9191 }
92 -
 92+
9393 protected static function getAllGroups() {
9494 return CentralAuthUser::availableGlobalGroups();
9595 }
96 -
 96+
9797 protected function showLogFragment( $user, $output ) {
98 - $pageTitle = Title::makeTitleSafe( NS_USER, $user->getName());
 98+ $pageTitle = Title::makeTitleSafe( NS_USER, $user->getName() );
9999 $output->addHTML( Xml::element( 'h2', null, LogPage::logName( 'gblrights' ) . "\n" ) );
100100 LogEventsList::showLogExtract( $output, 'gblrights', $pageTitle->getPrefixedText() );
101101 }
102 -
 102+
103103 function addLogEntry( $user, $oldGroups, $newGroups, $reason ) {
104104 global $wgRequest;
105 -
 105+
106106 $log = new LogPage( 'gblrights' );
107107
108108 $log->addEntry( 'usergroups',
Index: trunk/extensions/CentralAuth/ApiQueryGlobalUserInfo.php
@@ -1,5 +1,4 @@
22 <?php
3 -
43 /**
54 * Created on Jan 30, 2010
65 *
@@ -30,13 +29,13 @@
3130 * @ingroup Extensions
3231 */
3332 class ApiQueryGlobalUserInfo extends ApiQueryBase {
34 -
3533 public function __construct( $query, $moduleName ) {
3634 parent::__construct( $query, $moduleName, 'gui' );
3735 }
3836
3937 public function execute() {
4038 global $wgUser;
 39+
4140 $params = $this->extractRequestParams();
4241 $prop = array_flip( (array)$params['prop'] );
4342 if ( is_null( $params['user'] ) ) {
@@ -46,7 +45,7 @@
4746 if ( !$user->exists() ) {
4847 $this->dieUsageMsg( array( 'nosuchuser', $params['user'] ) );
4948 }
50 -
 49+
5150 // Add basic info
5251 $result = $this->getResult();
5352 $data = array(
@@ -61,7 +60,7 @@
6261 $data['hidden'] = '';
6362 }
6463 $result->addValue( 'query', $this->getModuleName(), $data );
65 -
 64+
6665 // Add requested info
6766 if ( isset( $prop['groups'] ) ) {
6867 $groups = $user->getGlobalGroups();
@@ -129,7 +128,8 @@
130129 public function getParamDescription() {
131130 return array(
132131 'user' => 'User to get information about. Defaults to the current user',
133 - 'prop' => array( 'Which properties to get:',
 132+ 'prop' => array(
 133+ 'Which properties to get:',
134134 ' groups - Get a list of global groups this user belongs to',
135135 ' merged - Get a list of merged accounts',
136136 ' unattached - Get a list of unattached accounts'
@@ -140,7 +140,7 @@
141141 public function getDescription() {
142142 return 'Show information about a global user.';
143143 }
144 -
 144+
145145 public function getPossibleErrors() {
146146 return array_merge( parent::getPossibleErrors(), array(
147147 array( 'nosuchuser', 'user' ),
Index: trunk/extensions/CentralAuth/migratePass0.php
@@ -1,11 +1,10 @@
22 <?php
3 -
43 // --> disable account creations, password changes
54 // pass 0:
65 // * generate 'globalnames' and 'localnames' entries for each user on each wiki
76 // --> enable
87
9 -require dirname(__FILE__) . '/../../maintenance/commandLine.inc';
 8+require dirname( __FILE__ ) . '/../../maintenance/commandLine.inc';
109
1110 /**
1211 * Copy user data for this wiki into the localuser table
@@ -23,15 +22,15 @@
2423 // on the central authentication server.
2524
2625 $lastUser = $dbr->selectField( 'user', 'MAX(user_id)', '', __FUNCTION__ );
27 - for( $min = 0; $min <= $lastUser; $min += $chunkSize ) {
 26+ for ( $min = 0; $min <= $lastUser; $min += $chunkSize ) {
2827 $max = $min + $chunkSize;
2928 $result = $dbr->select( 'user',
3029 array( 'user_id', 'user_name' ),
3130 "user_id BETWEEN $min AND $max",
3231 __FUNCTION__ );
3332
34 - while( $row = $dbr->fetchObject( $result ) ) {
35 - $users[intval($row->user_id)] = $row->user_name;
 33+ while ( $row = $dbr->fetchObject( $result ) ) {
 34+ $users[intval( $row->user_id )] = $row->user_name;
3635 ++$migrated;
3736 }
3837 $dbr->freeResult( $result );
@@ -39,7 +38,7 @@
4039 CentralAuthUser::storeMigrationData( $wgDBname, $users );
4140
4241 $delta = microtime( true ) - $start;
43 - $rate = ($delta == 0.0) ? 0.0 : $migrated / $delta;
 42+ $rate = ( $delta == 0.0 ) ? 0.0 : $migrated / $delta;
4443 printf( "%s %d (%0.1f%%) done in %0.1f secs (%0.3f accounts/sec).\n",
4544 $wgDBname,
4645 $migrated,
Index: trunk/extensions/CentralAuth/central-auth.sql
@@ -80,14 +80,14 @@
8181 -- Random key for password resets
8282 gu_password_reset_key tinyblob,
8383 gu_password_reset_expiration varchar(14) binary,
84 -
 84+
8585 -- Random key for crosswiki authentication tokens
8686 gu_auth_token varbinary(32) NULL,
8787
8888 primary key (gu_id),
8989 unique key (gu_name),
9090 key (gu_email),
91 -
 91+
9292 key gu_locked( gu_name(255), gu_locked ),
9393 key gu_hidden( gu_name(255), gu_hidden(255) )
9494 ) /*$wgDBTableOptions*/;
@@ -122,7 +122,7 @@
123123 CREATE TABLE global_user_groups (
124124 gug_user int(11) not null,
125125 gug_group varchar(255) not null,
126 -
 126+
127127 PRIMARY KEY (gug_user,gug_group),
128128 KEY (gug_user),
129129 key (gug_group)
@@ -132,7 +132,7 @@
133133 CREATE TABLE global_group_permissions (
134134 ggp_group varchar(255) not null,
135135 ggp_permission varchar(255) not null,
136 -
 136+
137137 PRIMARY KEY (ggp_group, ggp_permission),
138138 KEY (ggp_group),
139139 KEY (ggp_permission)
@@ -152,7 +152,7 @@
153153 -- Let's suppose that max length of db name is 31 (32 with ","), then we have space for
154154 -- 2048 wikis. More than we need
155155 ws_wikis blob not null,
156 -
 156+
157157 PRIMARY KEY ws_id (ws_id),
158158 UNIQUE ws_name (ws_name)
159159 ) /*$wgDBTableOptions*/;
Index: trunk/extensions/CentralAuth/migratePass1.php
@@ -1,11 +1,10 @@
22 <?php
3 -
43 // pass 1:
54 // * generate 'globaluser' entries for each username
65 // * go through all usernames in 'globalnames' and for those
76 // that can be automatically migrated, go ahead and do it.
87
9 -require dirname(__FILE__) . '/../../maintenance/commandLine.inc';
 8+require dirname( __FILE__ ) . '/../../maintenance/commandLine.inc';
109
1110 function migratePassOne() {
1211 $migrated = 0;
@@ -19,13 +18,13 @@
2019 array( 'gn_name' ),
2120 '',
2221 __METHOD__ );
23 - while( $row = $dbBackground->fetchObject( $result ) ) {
 22+ while ( $row = $dbBackground->fetchObject( $result ) ) {
2423 $name = $row->gn_name;
2524 $central = new CentralAuthUser( $name );
26 - if( $central->storeAndMigrate() ) {
 25+ if ( $central->storeAndMigrate() ) {
2726 $migrated++;
2827 }
29 - if( ++$total % $chunkSize == 0 ) {
 28+ if ( ++$total % $chunkSize == 0 ) {
3029 migratePassOneReport( $migrated, $total, $start );
3130 }
3231 }
Index: trunk/extensions/CentralAuth/evil-plans.txt
@@ -248,4 +248,3 @@
249249 for approved users, and shift the permissions over from 'user' to 'private'
250250 or whatever. Then add some handy way for local sysops to privatise people,
251251 rather than the cumbersome 'account by email'.
252 -
Index: trunk/extensions/CentralAuth/SpecialAutoLogin.php
@@ -1,6 +1,6 @@
22 <?php
3 -if (!defined('MEDIAWIKI')) {
4 - die('CentralAuth');
 3+if ( !defined( 'MEDIAWIKI' ) ) {
 4+ die( 'CentralAuth' );
55 }
66
77 /**
@@ -9,9 +9,8 @@
1010 * @addtogroup Extensions
1111 */
1212 class SpecialAutoLogin extends UnlistedSpecialPage {
13 -
1413 function __construct() {
15 - parent::__construct('AutoLogin');
 14+ parent::__construct( 'AutoLogin' );
1615 }
1716
1817 function execute( $par ) {
@@ -23,7 +22,7 @@
2423 # Don't cache error messages
2524 $wgOut->enableClientCache( false );
2625
27 - if( strlen( $tempToken ) == 0 ) {
 26+ if ( strlen( $tempToken ) == 0 ) {
2827 wfLoadExtensionMessages( 'SpecialCentralAuth' );
2928 $this->setHeaders();
3029 $wgOut->addWikiMsg( 'centralauth-autologin-desc' );
@@ -34,9 +33,9 @@
3534 $data = $wgMemc->get( $key );
3635 $wgMemc->delete( $key );
3736
38 - if( !$data ) {
 37+ if ( !$data ) {
3938 $msg = 'Token is invalid or has expired';
40 - wfDebug( __METHOD__.": $msg\n" );
 39+ wfDebug( __METHOD__ . ": $msg\n" );
4140 wfLoadExtensionMessages( 'SpecialCentralAuth' );
4241 $this->setHeaders();
4342 $wgOut->addWikiText( $msg );
@@ -47,9 +46,9 @@
4847 $token = $data['token'];
4948 $remember = $data['remember'];
5049
51 - if( $data['wiki'] != wfWikiID() ) {
 50+ if ( $data['wiki'] != wfWikiID() ) {
5251 $msg = 'Bad token (wrong wiki)';
53 - wfDebug( __METHOD__.": $msg\n" );
 52+ wfDebug( __METHOD__ . ": $msg\n" );
5453 wfLoadExtensionMessages( 'SpecialCentralAuth' );
5554 $this->setHeaders();
5655 $wgOut->addWikiText( $msg );
@@ -59,9 +58,9 @@
6059 $centralUser = new CentralAuthUser( $userName );
6160 $loginResult = $centralUser->authenticateWithToken( $token );
6261
63 - if( $loginResult != 'ok' ) {
 62+ if ( $loginResult != 'ok' ) {
6463 $msg = "Bad token: $loginResult";
65 - wfDebug( __METHOD__.": $msg\n" );
 64+ wfDebug( __METHOD__ . ": $msg\n" );
6665 wfLoadExtensionMessages( 'SpecialCentralAuth' );
6766 $this->setHeaders();
6867 $wgOut->addWikiText( $msg );
@@ -82,10 +81,10 @@
8382 header( 'Content-Type: image/png' );
8483
8584 global $wgCentralAuthLoginIcon;
86 - if( $wgCentralAuthLoginIcon ) {
 85+ if ( $wgCentralAuthLoginIcon ) {
8786 readfile( $wgCentralAuthLoginIcon );
8887 } else {
89 - readfile( dirname(__FILE__).'/1x1.png' );
 88+ readfile( dirname( __FILE__ ) . '/1x1.png' );
9089 }
9190 }
9291 }
Index: trunk/extensions/CentralAuth/SpecialWikiSets.php
@@ -14,7 +14,7 @@
1515
1616 class SpecialWikiSets extends SpecialPage {
1717 var $mCanEdit;
18 -
 18+
1919 function __construct() {
2020 parent::__construct( 'WikiSets' );
2121 wfLoadExtensionMessages( 'SpecialCentralAuth' );
@@ -31,10 +31,10 @@
3232
3333 $this->setHeaders();
3434
35 - if( strpos( $subpage, 'delete/' ) === 0 && $this->mCanEdit ) {
 35+ if ( strpos( $subpage, 'delete/' ) === 0 && $this->mCanEdit ) {
3636 $subpage = substr( $subpage, 7 ); // Remove delete/ part
37 - if( is_numeric( $subpage ) ) {
38 - if( $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) )
 37+ if ( is_numeric( $subpage ) ) {
 38+ if ( $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) )
3939 $this->doDelete( $subpage );
4040 else
4141 $this->buildDeleteView( $subpage );
@@ -42,9 +42,9 @@
4343 $this->buildMainView();
4444 }
4545 } else {
46 - if( $subpage && !is_numeric( $subpage ) ) {
 46+ if ( $subpage && !is_numeric( $subpage ) ) {
4747 $set = WikiSet::newFromName( $subpage );
48 - if( $set ) {
 48+ if ( $set ) {
4949 $subpage = $set->getID();
5050 } else {
5151 $wgOut->setPageTitle( wfMsg( 'error' ) );
@@ -54,9 +54,9 @@
5555 }
5656 }
5757
58 - if( ( $subpage || $subpage === '0' ) && $this->mCanEdit && $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
 58+ if ( ( $subpage || $subpage === '0' ) && $this->mCanEdit && $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
5959 $this->doSubmit( $subpage );
60 - } else if( ( $subpage || $subpage === '0' ) && is_numeric( $subpage ) ) {
 60+ } else if ( ( $subpage || $subpage === '0' ) && is_numeric( $subpage ) ) {
6161 $this->buildSetView( $subpage );
6262 } else {
6363 $this->buildMainView();
@@ -71,18 +71,18 @@
7272 $msgPostfix = $this->mCanEdit ? 'rw' : 'ro';
7373 $legend = wfMsg( "centralauth-editset-legend-{$msgPostfix}" );
7474 $wgOut->addHTML( "<fieldset><legend>{$legend}</legend>" );
75 - if( $msg )
 75+ if ( $msg )
7676 $wgOut->addHTML( $msg );
7777 $wgOut->addWikiMsg( "centralauth-editset-intro-{$msgPostfix}" );
7878 $wgOut->addHTML( '<ul>' );
7979
8080 $sets = WikiSet::getAllWikiSets();
81 - foreach( $sets as $set ) {
 81+ foreach ( $sets as $set ) {
8282 $text = wfMsgExt( "centralauth-editset-item-{$msgPostfix}", array( 'parseinline' ), $set->getName(), $set->getID() );
8383 $wgOut->addHTML( "<li>{$text}</li>" );
8484 }
8585
86 - if( $this->mCanEdit ) {
 86+ if ( $this->mCanEdit ) {
8787 $target = SpecialPage::getTitleFor( 'WikiSets', '0' );
8888 $newlink = $sk->makeLinkObj( $target, wfMsgHtml( 'centralauth-editset-new' ) );
8989 $wgOut->addHTML( "<li>{$newlink}</li>" );
@@ -97,41 +97,44 @@
9898 $wgOut->setSubtitle( wfMsgExt( 'centralauth-editset-subtitle', 'parseinline' ) );
9999
100100 $set = $subpage ? WikiSet::newFromID( $subpage ) : null;
101 - if( !$name ) $name = $set ? $set->getName() : '';
102 - if( !$type ) $type = $set ? $set->getType() : WikiSet::OPTIN;
103 - if( !$wikis ) $wikis = implode( "\n", $set ? $set->getWikisRaw() : array() );
 101+ if ( !$name ) $name = $set ? $set->getName() : '';
 102+ if ( !$type ) $type = $set ? $set->getType() : WikiSet::OPTIN;
 103+ if ( !$wikis ) $wikis = implode( "\n", $set ? $set->getWikisRaw() : array() );
104104 else $wikis = implode( "\n", $wikis );
105105 $url = SpecialPage::getTitleFor( 'WikiSets', $subpage )->getLocalUrl();
106 - if( $this->mCanEdit )
107 - $legend = wfMsgHtml( 'centralauth-editset-legend-' . ($set ? 'edit' : 'new'), $name );
108 - else
 106+ if ( $this->mCanEdit ) {
 107+ $legend = wfMsgHtml( 'centralauth-editset-legend-' . ( $set ? 'edit' : 'new' ), $name );
 108+ } else {
109109 $legend = wfMsgHtml( 'centralauth-editset-legend-view', $name );
 110+ }
110111
111112 $wgOut->addHTML( "<fieldset><legend>{$legend}</legend>" );
112113
113 - if( $set ) {
 114+ if ( $set ) {
114115 $groups = $set->getRestrictedGroups();
115116 if ( $groups ) {
116117 $usage = "<ul>\n";
117 - foreach( $groups as $group )
118 - $usage .= "<li>" . wfMsgExt( 'centralauth-editset-grouplink', array('parseinline'), $group ) . "</li>\n";
 118+ foreach ( $groups as $group )
 119+ $usage .= "<li>" . wfMsgExt( 'centralauth-editset-grouplink', array( 'parseinline' ), $group ) . "</li>\n";
119120 $usage .= "</ul>";
120121 } else {
121 - $usage = wfMsgWikiHtml('centralauth-editset-nouse');
 122+ $usage = wfMsgWikiHtml( 'centralauth-editset-nouse' );
122123 }
123124 } else {
124125 $usage = '';
125126 }
126127
127 - if( $this->mCanEdit ) {
128 - if( $error )
 128+ if ( $this->mCanEdit ) {
 129+ if ( $error ) {
129130 $wgOut->addHTML( "<strong class='error'>{$error}</strong>" );
 131+ }
130132 $wgOut->addHTML( "<form action='{$url}' method='post'>" );
131133
132134 $form = array();
133135 $form['centralauth-editset-name'] = Xml::input( 'wpName', false, $name );
134 - if( $usage )
 136+ if ( $usage ) {
135137 $form['centralauth-editset-usage'] = $usage;
 138+ }
136139 $form['centralauth-editset-type'] = $this->buildTypeSelector( 'wpType', $type );
137140 $form['centralauth-editset-wikis'] = Xml::textarea( 'wpWikis', $wikis );
138141 $form['centralauth-editset-reason'] = Xml::input( 'wpReason', false, $reason );
@@ -153,16 +156,18 @@
154157
155158 function buildTypeSelector( $name, $value ) {
156159 $select = new XmlSelect( $name, 'set-type', $value );
157 - foreach( array( WikiSet::OPTIN, WikiSet::OPTOUT ) as $type )
 160+ foreach ( array( WikiSet::OPTIN, WikiSet::OPTOUT ) as $type ) {
158161 $select->addOption( wfMsg( "centralauth-editset-{$type}" ), $type );
 162+ }
159163 return $select->getHTML();
160164 }
161165
162166 function buildWikiList( $list ) {
163167 sort( $list );
164168 $html = '<ul>';
165 - foreach( $list as $wiki )
 169+ foreach ( $list as $wiki ) {
166170 $html .= "<li>{$wiki}</li>";
 171+ }
167172 $html .= '</ul>';
168173 return $html;
169174 }
@@ -170,9 +175,9 @@
171176 function buildDeleteView( $subpage ) {
172177 global $wgOut, $wgUser;
173178 $wgOut->setSubtitle( wfMsgExt( 'centralauth-editset-subtitle', 'parseinline' ) );
174 -
 179+
175180 $set = WikiSet::newFromID( $subpage );
176 - if( !$set ) {
 181+ if ( !$set ) {
177182 $this->buildMainView( '<strong class="error">' . wfMsgHtml( 'centralauth-editset-notfound', $subpage ) . '</strong>' );
178183 return;
179184 }
@@ -196,34 +201,36 @@
197202 $reason = $wgRequest->getVal( 'wpReason' );
198203 $set = WikiSet::newFromId( $id );
199204
200 - if( !Title::newFromText( $name ) ) {
 205+ if ( !Title::newFromText( $name ) ) {
201206 $this->buildSetView( $id, wfMsgHtml( 'centralauth-editset-badname' ), $name, $type, $wikis, $reason );
202207 return;
203208 }
204 - if( (!$id || $set->getName() != $name ) && WikiSet::newFromName( $name ) ) {
 209+ if ( ( !$id || $set->getName() != $name ) && WikiSet::newFromName( $name ) ) {
205210 $this->buildSetView( $id, wfMsgHtml( 'centralauth-editset-setexists' ), $name, $type, $wikis, $reason );
206211 return;
207212 }
208 - if( !in_array( $type, array( WikiSet::OPTIN, WikiSet::OPTOUT ) ) ) {
 213+ if ( !in_array( $type, array( WikiSet::OPTIN, WikiSet::OPTOUT ) ) ) {
209214 $this->buildSetView( $id, wfMsgHtml( 'centralauth-editset-badtype' ), $name, $type, $wikis, $reason );
210215 return;
211216 }
212 - if( !$wikis ) {
 217+ if ( !$wikis ) {
213218 $this->buildSetView( $id, wfMsgHtml( 'centralauth-editset-nowikis' ), $name, $type, $wikis, $reason );
214219 return;
215220 }
216221 $badwikis = array();
217222 $allwikis = CentralAuthUser::getWikiList();
218 - foreach( $wikis as $wiki )
219 - if( !in_array( $wiki, $allwikis ) )
 223+ foreach ( $wikis as $wiki ) {
 224+ if ( !in_array( $wiki, $allwikis ) ) {
220225 $badwikis[] = $wiki;
221 - if( $badwikis ) {
222 - $this->buildSetView( $id, wfMsgExt( 'centralauth-editset-badwikis', array( 'escapenoentities', 'parsemag' ),
 226+ }
 227+ }
 228+ if ( $badwikis ) {
 229+ $this->buildSetView( $id, wfMsgExt( 'centralauth-editset-badwikis', array( 'escapenoentities', 'parsemag' ),
223230 implode( ', ', $badwikis ), count( $badwikis ) ), $name, $type, $wikis, $reason );
224231 return;
225232 }
226233
227 - if( $set ) {
 234+ if ( $set ) {
228235 $oldname = $set->getName();
229236 $oldtype = $set->getType();
230237 $oldwikis = $set->getWikisRaw();
@@ -239,41 +246,43 @@
240247 // Now logging
241248 $log = new LogPage( 'gblrights' );
242249 $title = SpecialPage::getTitleFor( 'WikiSets', $set->getID() );
243 - if( !$oldname ) {
 250+ if ( !$oldname ) {
244251 // New set
245252 $log->addEntry( 'newset', $title, $reason, array( $name, $type, implode( ', ', $wikis ) ) );
246253 } else {
247 - if( $oldname != $name )
 254+ if ( $oldname != $name ) {
248255 $log->addEntry( 'setrename', $title, $reason, array( $name, $oldname ) );
249 - if( $oldtype != $type )
 256+ }
 257+ if ( $oldtype != $type ) {
250258 $log->addEntry( 'setnewtype', $title, $reason, array( $name, $oldtype, $type ) );
 259+ }
251260 $added = implode( ', ', array_diff( $wikis, $oldwikis ) );
252261 $removed = implode( ', ', array_diff( $oldwikis, $wikis ) );
253 - if( $added || $removed ) {
 262+ if ( $added || $removed ) {
254263 $log->addEntry( 'setchange', $title, $reason, array( $name, $added, $removed ) );
255264 }
256265 }
257 -
258 - global $wgUser,$wgOut;
 266+
 267+ global $wgUser, $wgOut;
259268 $sk = $wgUser->getSkin();
260269 $returnLink = $sk->makeKnownLinkObj( $this->getTitle(), wfMsg( 'centralauth-editset-return' ) );
261270
262 - $wgOut->addHTML( '<strong class="success">' . wfMsgHtml( 'centralauth-editset-success' ) . '</strong> <p>'.$returnLink.'</p>' );
 271+ $wgOut->addHTML( '<strong class="success">' . wfMsgHtml( 'centralauth-editset-success' ) . '</strong> <p>' . $returnLink . '</p>' );
263272 }
264 -
 273+
265274 function doDelete( $set ) {
266275 global $wgRequest, $wgContLang;
267 -
 276+
268277 $set = WikiSet::newFromID( $set );
269 - if( !$set ) {
 278+ if ( !$set ) {
270279 $this->buildMainView( '<strong class="error">' . wfMsgHtml( 'centralauth-editset-notfound', $subpage ) . '</strong>' );
271280 return;
272281 }
273 -
 282+
274283 $reason = $wgRequest->getVal( 'wpReason' );
275284 $name = $set->getName();
276285 $set->delete();
277 -
 286+
278287 $title = SpecialPage::getTitleFor( 'WikiSets', $set->getID() );
279288 $log = new LogPage( 'gblrights' );
280289 $log->addEntry( 'deleteset', $title, $reason, array( $name ) );
Index: trunk/extensions/CentralAuth/migrateStewards.php
@@ -1,11 +1,11 @@
22 <?php
33
4 -require dirname(__FILE__) . '/../../maintenance/commandLine.inc';
 4+require dirname( __FILE__ ) . '/../../maintenance/commandLine.inc';
55
66 echo "Populating global groups table with stewards...\n";
77
88 // Fetch local stewards
9 -$dbl = wfGetDB( DB_SLAVE ); //Get local database
 9+$dbl = wfGetDB( DB_SLAVE ); // Get local database
1010 $result = $dbl->select(
1111 array( 'user', 'user_groups' ),
1212 array( 'user_name' ),
@@ -16,7 +16,7 @@
1717 'migrateStewards.php'
1818 );
1919 $localStewards = array();
20 -while( $row = $dbl->fetchObject( $result ) ) {
 20+while ( $row = $dbl->fetchObject( $result ) ) {
2121 $localStewards[] = $row->user_name;
2222 }
2323
@@ -33,19 +33,19 @@
3434 ),
3535 'migrateStewards.php'
3636 );
37 -while( $row = $dbl->fetchObject( $result ) ) {
 37+while ( $row = $dbl->fetchObject( $result ) ) {
3838 $globalStewards[$row->gu_name] = $row->gu_id;
3939 }
4040
4141 echo "Fetched " . count( $localStewards ) . " SULed stewards... Adding them in group\n";
42 -foreach( $globalStewards as $user => $id ) {
 42+foreach ( $globalStewards as $user => $id ) {
4343 $dbg->insert( 'global_user_groups',
4444 array(
4545 'gug_user' => $id,
4646 'gug_group' => 'steward' ),
4747 'migrateStewards.php' );
4848 echo "Added {$user}\n";
49 -
 49+
5050 $u = new CentralAuthUser( $user );
5151 $u->quickInvalidateCache(); // Don't bother regenerating the steward's cache.
5252 }
Index: trunk/extensions/CentralAuth/CentralAuthGroupMembershipProxy.php
@@ -1,6 +1,4 @@
22 <?php
3 -
4 -
53 /**
64 * Cut-down copy of User interface for local-interwiki-database
75 * user rights manipulation.
@@ -13,7 +11,7 @@
1412
1513 public static function whoIs( $wikiID, $id ) {
1614 $user = self::newFromId( $wikiID, $id );
17 - if( $user ) {
 15+ if ( $user ) {
1816 return $user->name;
1917 } else {
2018 return false;
Index: trunk/extensions/CentralAuth/CentralAuthUserArray.php
@@ -17,7 +17,7 @@
1818 }
1919
2020 /**
21 - * Load global user data
 21+ * Load global user data
2222 */
2323 $names = array();
2424 foreach ( $res as $row ) {
@@ -27,7 +27,7 @@
2828
2929 $dbr = CentralAuthUser::getCentralSlaveDB();
3030 $caRes = $dbr->select( array( 'localuser', 'globaluser' ), '*',
31 - array(
 31+ array(
3232 'gu_name' => $names,
3333 'lu_name=gu_name',
3434 'lu_wiki' => wfWikiID()
@@ -36,7 +36,7 @@
3737 foreach ( $caRes as $row ) {
3838 $this->globalData[$row->gu_name] = $row;
3939 }
40 - wfDebug( __METHOD__.': got user data for ' . implode( ', ',
 40+ wfDebug( __METHOD__ . ': got user data for ' . implode( ', ',
4141 array_keys( $this->globalData ) ) . "\n" );
4242 }
4343
@@ -49,4 +49,3 @@
5050 }
5151 }
5252 }
53 -
Index: trunk/extensions/CentralAuth/CentralAuthUser.php
@@ -1,5 +1,4 @@
22 <?php
3 -
43 /*
54
65 likely construction types...
@@ -12,7 +11,6 @@
1312 */
1413
1514 class CentralAuthUser extends AuthPluginUser {
16 -
1715 /**
1816 * The username of the current user.
1917 */
@@ -20,7 +18,7 @@
2119 /*private*/ var $mStateDirty = false;
2220 /*private*/ var $mVersion = 4;
2321 /*private*/ var $mDelayInvalidation = 0;
24 -
 22+
2523 static $mCacheVars = array(
2624 'mGlobalId',
2725 'mSalt',
@@ -35,7 +33,7 @@
3634 'mRights',
3735 'mHomeWiki',
3836
39 - # Store the string list instead of the array, to save memory, and
 37+ # Store the string list instead of the array, to save memory, and
4038 # avoid unserialize() overhead
4139 'mAttachedList',
4240
@@ -99,10 +97,10 @@
10098 unset( $this->mAttachedList );
10199 unset( $this->mHomeWiki );
102100 }
103 -
 101+
104102 /**
105103 * Load up state information, but don't use the cache
106 - */
 104+ */
107105 protected function loadStateNoCache() {
108106 $this->loadState( true );
109107 }
@@ -125,9 +123,9 @@
126124 wfProfileOut( __METHOD__ );
127125 return;
128126 }
129 -
 127+
130128 wfDebugLog( 'CentralAuth', "Loading state for global user {$this->mName} from DB" );
131 -
 129+
132130 // Get the master. We want to make sure we've got up to date information
133131 // since we're caching it.
134132 $dbr = self::getCentralDB();
@@ -144,12 +142,12 @@
145143 $result = $dbr->safeQuery( $sql, wfWikiID(), $this->mName );
146144 $row = $dbr->fetchObject( $result );
147145 $dbr->freeResult( $result );
148 -
 146+
149147 $this->loadFromRow( $row, true );
150148 $this->saveToCache();
151149 wfProfileOut( __METHOD__ );
152150 }
153 -
 151+
154152 /**
155153 * Load user groups and rights from the database.
156154 */
@@ -223,7 +221,7 @@
224222 $this->mHidden = '';
225223 }
226224 }
227 -
 225+
228226 /**
229227 * Load data from memcached
230228 */
@@ -234,7 +232,7 @@
235233 $cache = $wgMemc->get( $this->getCacheKey() );
236234 $fromMaster = true;
237235 }
238 -
 236+
239237 if ( !is_array( $cache ) || $cache['mVersion'] < $this->mVersion ) {
240238 // Out of date cache.
241239 wfDebugLog( 'CentralAuth', "Global User: cache miss for {$this->mName}, " .
@@ -242,14 +240,14 @@
243241 wfProfileOut( __METHOD__ );
244242 return false;
245243 }
246 -
 244+
247245 $this->loadFromCacheObject( $cache, $fromMaster );
248 -
 246+
249247 wfProfileOut( __METHOD__ );
250 -
 248+
251249 return true;
252250 }
253 -
 251+
254252 /**
255253 * Load user state from a cached array.
256254 */
@@ -258,13 +256,13 @@
259257 foreach ( self::$mCacheVars as $var ) {
260258 $this->$var = $object[$var];
261259 }
262 -
 260+
263261 $this->loadAttached();
264 -
 262+
265263 $this->mIsAttached = $this->exists() && in_array( wfWikiID(), $this->mAttachedArray );
266264 $this->mFromMaster = $fromMaster;
267265 }
268 -
 266+
269267 /**
270268 * Get the object data as an array ready for caching
271269 * @return Object to cache.
@@ -273,7 +271,7 @@
274272 $this->loadState();
275273 $this->loadAttached();
276274 $this->loadGroups();
277 -
 275+
278276 $obj = array();
279277 foreach ( self::$mCacheVars as $var ) {
280278 if ( isset( $this->$var ) ) {
@@ -282,10 +280,10 @@
283281 $obj[$var] = null;
284282 }
285283 }
286 -
 284+
287285 return $obj;
288286 }
289 -
 287+
290288 /**
291289 * Save cachable data to memcached.
292290 */
@@ -309,14 +307,14 @@
310308 $this->loadState();
311309 return $this->mGlobalId;
312310 }
313 -
 311+
314312 /**
315313 * Generate a valid memcached key for caching the object's data.
316314 */
317315 protected function getCacheKey() {
318316 return "centralauth-user-" . md5( $this->mName );
319317 }
320 -
 318+
321319 /**
322320 * Return the global account's name, whether it exists or not.
323321 */
@@ -331,7 +329,7 @@
332330 $this->loadState();
333331 return $this->mIsAttached;
334332 }
335 -
 333+
336334 /**
337335 * Return the password salt and hash.
338336 * @return array( salt, hash )
@@ -340,13 +338,13 @@
341339 $this->loadState();
342340 return array( $this->mSalt, $this->mPassword );
343341 }
344 -
 342+
345343 /**
346344 * Return the global-login token for this account.
347345 */
348346 public function getAuthToken() {
349347 $this->loadState();
350 -
 348+
351349 if ( !isset( $this->mAuthToken ) || !$this->mAuthToken ) {
352350 $this->resetAuthToken();
353351 }
@@ -378,7 +376,7 @@
379377 /**
380378 * Returns whether user name should not
381379 * be shown in public lists.
382 - * @return bool
 380+ * @return bool
383381 */
384382 public function isHidden() {
385383 $this->loadState();
@@ -462,7 +460,7 @@
463461 wfDebugLog( 'CentralAuth',
464462 "registration failed for global account '$this->mName'" );
465463 }
466 -
 464+
467465 // Kill any cache entries saying we don't exist
468466 $this->invalidateCache();
469467 return $ok;
@@ -655,7 +653,7 @@
656654 * @param array &$unattached on success, list of wikis which won't be auto-attached
657655 * @param array &$methods on success, associative array of each wiki's attachment method
658656 * @param array &$blocked true if the home wiki is blocked
659 - *
 657+ *
660658 * @return Status object
661659 */
662660 function migrationDryRun( $passwords, &$home, &$attached, &$unattached, &$methods ) {
@@ -758,14 +756,14 @@
759757 "Full automatic migration for '$this->mName'" );
760758 }
761759 }
762 -
 760+
763761 // Don't purge the cache 50 times.
764762 $this->startTransaction();
765763
766764 foreach ( $attach as $wiki => $method ) {
767765 $this->attach( $wiki, $method );
768766 }
769 -
 767+
770768 $this->endTransaction();
771769
772770 return count( $attach ) == count( $migrationSet );
@@ -811,7 +809,7 @@
812810 $remaining[] = $wiki;
813811 }
814812 }
815 -
 813+
816814 $this->endTransaction();
817815
818816 if ( count( $remaining ) == 0 ) {
@@ -866,7 +864,7 @@
867865 $status->error( 'centralauth-invalid-wiki', $wikiName );
868866 $status->failCount++;
869867 }
870 -
 868+
871869 $invalidCount = count( $list ) - count( $valid );
872870 $missingCount = 0;
873871 $dbcw = self::getCentralDB();
@@ -906,7 +904,7 @@
907905 if ( in_array( wfWikiID(), $valid ) ) {
908906 $this->resetState();
909907 }
910 -
 908+
911909 $this->invalidateCache();
912910
913911 return $status;
@@ -950,9 +948,9 @@
951949 # Delete the localuser rows
952950 $centralDB->delete( 'localuser', array( 'lu_name' => $this->mName ), __METHOD__ );
953951 $centralDB->commit();
954 -
 952+
955953 $this->invalidateCache();
956 -
 954+
957955 return Status::newGood();
958956 }
959957
@@ -969,9 +967,9 @@
970968 return Status::newFatal( 'centralauth-admin-lock-nonexistent', $this->mName );
971969 }
972970 $dbw->commit();
973 -
 971+
974972 $this->invalidateCache();
975 -
 973+
976974 return Status::newGood();
977975 }
978976
@@ -988,9 +986,9 @@
989987 return Status::newFatal( 'centralauth-admin-unlock-nonexistent', $this->mName );
990988 }
991989 $dbw->commit();
992 -
 990+
993991 $this->invalidateCache();
994 -
 992+
995993 return Status::newGood();
996994 }
997995
@@ -1089,22 +1087,22 @@
10901088 array( $by, $reason ), true, $lang );
10911089
10921090 $block = new Block(
1093 - /* $address */ $this->mName,
1094 - /* $user */ $data['id'],
1095 - /* $by */ 0,
1096 - /* $reason */ $blockReason,
1097 - /* $timestamp */ wfTimestampNow(),
1098 - /* $auto */ false,
1099 - /* $expiry */ Block::infinity(),
1100 - /* anonOnly */ false,
1101 - /* $createAccount */ true,
1102 - /* $enableAutoblock */ true,
1103 - /* $hideName (ipb_deleted) */ true,
1104 - /* $blockEmail */ true,
1105 - /* $allowUsertalk */ false,
1106 - /* $byName */ $by
1107 - );
1108 -
 1091+ /* $address */ $this->mName,
 1092+ /* $user */ $data['id'],
 1093+ /* $by */ 0,
 1094+ /* $reason */ $blockReason,
 1095+ /* $timestamp */ wfTimestampNow(),
 1096+ /* $auto */ false,
 1097+ /* $expiry */ Block::infinity(),
 1098+ /* anonOnly */ false,
 1099+ /* $createAccount */ true,
 1100+ /* $enableAutoblock */ true,
 1101+ /* $hideName (ipb_deleted) */ true,
 1102+ /* $blockEmail */ true,
 1103+ /* $allowUsertalk */ false,
 1104+ /* $byName */ $by
 1105+ );
 1106+
11091107 # On normal block, BlockIp hook would be run here, but doing
11101108 # that from CentralAuth doesn't seem a good idea...
11111109
@@ -1114,7 +1112,7 @@
11151113 # Ditto for BlockIpComplete hook.
11161114
11171115 IPBlockForm::suppressUserName( $this->mName, $data['id'], $dbw );
1118 -
 1116+
11191117 # Locally log to suppress ?
11201118 } else {
11211119 $dbw->delete(
@@ -1192,7 +1190,7 @@
11931191 "\00302$url\003 \0035*\003 \00303$user\003 \0035*\003\n";
11941192 return $fullString;
11951193 }
1196 -
 1194+
11971195 /**
11981196 * If the user provides the correct password, would we let them log in?
11991197 * This encompasses checks on missing and locked accounts, at present.
@@ -1227,9 +1225,9 @@
12281226 if ( ( $ret = $this->canAuthenticate() ) !== true ) {
12291227 return $ret;
12301228 }
1231 -
 1229+
12321230 list( $salt, $crypt ) = $this->getPasswordHash();
1233 -
 1231+
12341232 if ( $this->matchHash( $password, $salt, $crypt ) ) {
12351233 wfDebugLog( 'CentralAuth',
12361234 "authentication for '$this->mName' succeeded" );
@@ -1240,7 +1238,7 @@
12411239 return "bad password";
12421240 }
12431241 }
1244 -
 1242+
12451243 /**
12461244 * Attempt to authenticate the global user account with the given global authtoken
12471245 * @param string $token
@@ -1250,7 +1248,7 @@
12511249 if ( ( $ret = $this->canAuthenticate() ) !== true ) {
12521250 return $ret;
12531251 }
1254 -
 1252+
12551253 if ( $this->validateAuthToken( $token ) ) {
12561254 return "ok";
12571255 } else {
@@ -1405,7 +1403,7 @@
14061404
14071405 return !empty( $rows );
14081406 }
1409 -
 1407+
14101408 /**
14111409 * Load the list of databases where this account has been successfully
14121410 * attached
@@ -1415,19 +1413,19 @@
14161414 // Already loaded
14171415 return;
14181416 }
1419 -
 1417+
14201418 wfDebugLog( 'CentralAuth', "Loading attached wiki list for global user {$this->mName}." );
1421 -
 1419+
14221420 if ( isset( $this->mAttachedList ) ) {
14231421 wfDebugLog( 'CentralAuth', "-Found in cache." );
14241422 // We have a list already, probably from the cache.
14251423 $this->mAttachedArray = explode( "\n", $this->mAttachedList );
1426 -
 1424+
14271425 return;
14281426 }
1429 -
 1427+
14301428 wfDebugLog( 'CentralAuth', "-Loading from DB" );
1431 -
 1429+
14321430 $dbw = self::getCentralDB();
14331431
14341432 $result = $dbw->select( 'localuser',
@@ -1440,7 +1438,7 @@
14411439 $wikis[] = $row->lu_wiki;
14421440 }
14431441 $dbw->freeResult( $result );
1444 -
 1442+
14451443 $this->mAttachedArray = $wikis;
14461444 $this->mAttachedList = implode( "\n", $wikis );
14471445 }
@@ -1453,7 +1451,7 @@
14541452 */
14551453 public function listAttached() {
14561454 $this->loadAttached();
1457 -
 1455+
14581456 return $this->mAttachedArray;
14591457 }
14601458
@@ -1486,7 +1484,7 @@
14871485 $row->lu_attached_timestamp ),
14881486 'attachedMethod' => $row->lu_attached_method,
14891487 );
1490 -
 1488+
14911489 // Just for fun, add local user data.
14921490 // Displayed in the steward interface.
14931491 $wikis[$row->lu_wiki] = array_merge( $wikis[$row->lu_wiki],
@@ -1652,7 +1650,7 @@
16531651
16541652 wfDebugLog( 'CentralAuth',
16551653 "Set global password for '$this->mName'" );
1656 -
 1654+
16571655 // Reset the auth token.
16581656 $this->resetAuthToken();
16591657 $this->invalidateCache();
@@ -1670,11 +1668,11 @@
16711669 }
16721670 return $this->mPassword;
16731671 }
1674 -
 1672+
16751673 static function setCookie( $name, $value, $exp = -1 ) {
16761674 global $wgCentralAuthCookiePrefix, $wgCentralAuthCookieDomain, $wgCookieSecure,
16771675 $wgCookieExpiration, $wgCookieHttpOnly;
1678 -
 1676+
16791677 if ( $exp == -1 ) {
16801678 $exp = time() + $wgCookieExpiration;
16811679 } elseif ( $exp == 0 ) {
@@ -1685,7 +1683,7 @@
16861684 $exp += time();
16871685 }
16881686 $httpOnlySafe = version_compare( "5.2", PHP_VERSION, "<" );
1689 -
 1687+
16901688 if ( $httpOnlySafe && isset( $wgCookieHttpOnly ) ) {
16911689 setcookie( $wgCentralAuthCookiePrefix . $name,
16921690 $value,
@@ -1705,7 +1703,7 @@
17061704 $wgCookieSecure );
17071705 }
17081706 }
1709 -
 1707+
17101708 protected function clearCookie( $name ) {
17111709 global $wgCentralAuthCookiePrefix;
17121710 self::setCookie( $name, '', - 86400 );
@@ -1721,16 +1719,16 @@
17221720 // Older code passed a user object here. Be kind and do what they meant to do.
17231721 $remember = $remember->getOption( 'rememberpassword' );
17241722 }
1725 -
 1723+
17261724 $session = array();
17271725 $exp = time() + 86400;
1728 -
 1726+
17291727 $session['user'] = $this->mName;
17301728 self::setCookie( 'User', $this->mName );
17311729 $session['token'] = $this->getAuthToken();
17321730 $session['expiry'] = $exp;
17331731 $session['auto-create-blacklist'] = array();
1734 -
 1732+
17351733 if ( $remember ) {
17361734 self::setCookie( 'Token', $this->getAuthToken() );
17371735 } else {
@@ -1738,31 +1736,31 @@
17391737 }
17401738 return self::setSession( $session );
17411739 }
1742 -
 1740+
17431741 /**
17441742 * Delete global cookies which auto-authenticate the user on other wikis.
17451743 * Called on logout.
17461744 */
17471745 function deleteGlobalCookies() {
17481746 global $wgCentralAuthCookiePrefix;
1749 -
 1747+
17501748 $this->clearCookie( 'User' );
17511749 $this->clearCookie( 'Token' );
17521750 $this->clearCookie( 'Session' );
1753 -
 1751+
17541752 // Logged-out cookie -to fix caching.
17551753 self::setCookie( 'LoggedOut', wfTimestampNow() );
1756 -
 1754+
17571755 self::deleteSession();
17581756 }
1759 -
 1757+
17601758 /**
17611759 * Check a global auth token against the one we know of in the database.
17621760 */
17631761 function validateAuthToken( $token ) {
17641762 return ( $token == $this->getAuthToken() );
17651763 }
1766 -
 1764+
17671765 /**
17681766 * Generate a new random auth token, and store it in the database.
17691767 * Should be called as often as possible, to the extent that it will
@@ -1772,7 +1770,7 @@
17731771 // Generate a random token.
17741772 $this->mAuthToken = wfGenerateToken( $this->getId() );
17751773 $this->mStateDirty = true;
1776 -
 1774+
17771775 // Save it.
17781776 $this->saveSettings();
17791777 }
@@ -1802,19 +1800,19 @@
18031801 ),
18041802 __METHOD__
18051803 );
1806 -
 1804+
18071805 $this->invalidateCache();
18081806 }
1809 -
 1807+
18101808 function getGlobalGroups() {
18111809 $this->loadGroups();
1812 -
 1810+
18131811 return $this->mGroups;
18141812 }
1815 -
 1813+
18161814 function getGlobalRights() {
18171815 $this->loadGroups();
1818 -
 1816+
18191817 $rights = array();
18201818 $sets = array();
18211819 foreach ( $this->mRights as $right ) {
@@ -1828,111 +1826,111 @@
18291827 }
18301828 return $rights;
18311829 }
1832 -
 1830+
18331831 function removeFromGlobalGroups( $groups ) {
18341832 $dbw = self::getCentralDB();
1835 -
 1833+
18361834 # Delete from the DB
18371835 $dbw->delete( 'global_user_groups',
18381836 array( 'gug_user' => $this->getId(), 'gug_group' => $groups ),
18391837 __METHOD__ );
1840 -
 1838+
18411839 $this->invalidateCache();
18421840 }
1843 -
 1841+
18441842 function addToGlobalGroups( $groups ) {
18451843 $dbw = self::getCentralDB();
1846 -
 1844+
18471845 if ( !is_array( $groups ) ) {
18481846 $groups = array( $groups );
18491847 }
1850 -
 1848+
18511849 $insert_rows = array();
18521850 foreach ( $groups as $group ) {
18531851 $insert_rows[] = array( 'gug_user' => $this->getId(), 'gug_group' => $group );
18541852 }
1855 -
 1853+
18561854 # Replace into the DB
18571855 $dbw->replace( 'global_user_groups',
18581856 array( 'gug_user', 'gug_group' ),
18591857 $insert_rows, __METHOD__ );
1860 -
 1858+
18611859 $this->invalidateCache();
18621860 }
1863 -
 1861+
18641862 static function availableGlobalGroups() {
18651863 $dbr = self::getCentralSlaveDB();
1866 -
 1864+
18671865 $res = $dbr->select( 'global_group_permissions', 'distinct ggp_group', array(), __METHOD__ );
1868 -
 1866+
18691867 $groups = array();
1870 -
 1868+
18711869 while ( $row = $dbr->fetchObject( $res ) )
18721870 $groups[] = $row->ggp_group;
1873 -
 1871+
18741872 return $groups;
18751873 }
1876 -
 1874+
18771875 static function globalGroupPermissions( $group ) {
18781876 $dbr = self::getCentralSlaveDB();
1879 -
 1877+
18801878 $res = $dbr->select( array( 'global_group_permissions' ),
18811879 array( 'ggp_permission' ), array( 'ggp_group' => $group ), __METHOD__ );
1882 -
 1880+
18831881 $rights = array();
1884 -
 1882+
18851883 while ( $row = $dbr->fetchObject( $res ) ) {
18861884 $rights[] = $row->ggp_permission;
18871885 }
1888 -
 1886+
18891887 return $rights;
18901888 }
1891 -
 1889+
18921890 function hasGlobalPermission( $perm ) {
18931891 $perms = $this->getGlobalRights();
1894 -
 1892+
18951893 return in_array( $perm, $perms );
18961894 }
1897 -
 1895+
18981896 static function getUsedRights() {
18991897 $dbr = self::getCentralSlaveDB();
1900 -
 1898+
19011899 $res = $dbr->select( 'global_group_permissions', 'distinct ggp_permission',
19021900 array(), __METHOD__ );
1903 -
 1901+
19041902 $rights = array();
1905 -
 1903+
19061904 while ( $row = $dbr->fetchObject( $res ) )
19071905 $rights[] = $row->ggp_permission;
1908 -
 1906+
19091907 return $rights;
19101908 }
1911 -
 1909+
19121910 public function invalidateCache() {
19131911 if ( !$this->mDelayInvalidation ) {
19141912 wfDebugLog( 'CentralAuth', "Updating cache for global user {$this->mName}" );
1915 -
 1913+
19161914 // Reload the state
19171915 $this->loadStateNoCache();
1918 -
 1916+
19191917 // Overwrite the cache.
19201918 $this->saveToCache();
19211919 } else {
19221920 wfDebugLog( 'CentralAuth', "Deferring cache invalidation because we're in a transaction" );
19231921 }
19241922 }
1925 -
 1923+
19261924 /**
19271925 * For when speed is of the essence (e.g. when batch-purging users after rights changes)
19281926 */
19291927 public function quickInvalidateCache() {
19301928 global $wgMemc;
1931 -
 1929+
19321930 wfDebugLog( 'CentralAuth', "Quick cache invalidation for global user {$this->mName}" );
1933 -
 1931+
19341932 $wgMemc->delete( $this->getCacheKey() );
19351933 }
1936 -
 1934+
19371935 /**
19381936 * End a "transaction".
19391937 * A transaction delays cache invalidation until after
@@ -1944,7 +1942,7 @@
19451943 $this->mDelayInvalidation = false;
19461944 $this->invalidateCache();
19471945 }
1948 -
 1946+
19491947 /**
19501948 * Start a "transaction".
19511949 * A transaction delays cache invalidation until after
@@ -2023,7 +2021,7 @@
20242022 $key = self::memcKey( 'session', $id );
20252023 $wgMemc->delete( $key );
20262024 }
2027 -
 2025+
20282026 /**
20292027 * Check if the user is attached on a given wiki id.
20302028 */
Index: trunk/extensions/CentralAuth/SpecialGlobalGroupPermissions.php
@@ -1,5 +1,4 @@
22 <?php
3 -
43 # This file is part of MediaWiki.
54
65 # MediaWiki is free software: you can redistribute it and/or modify
@@ -23,7 +22,6 @@
2423 exit( 1 );
2524 }
2625
27 -
2826 class SpecialGlobalGroupPermissions extends SpecialPage {
2927 function __construct() {
3028 parent::__construct( 'GlobalGroupPermissions' );
Index: trunk/extensions/CentralAuth/CentralAuth.php
@@ -1,5 +1,4 @@
22 <?php
3 -
43 /**
54 * Extension credits
65 */
@@ -24,10 +23,10 @@
2524 *
2625 * If this is not on the primary database connection, don't forget
2726 * to also set up $wgDBservers to have an entry with a groupLoads
28 - * setting for the 'CentralAuth' group. Alternatively you can use
 27+ * setting for the 'CentralAuth' group. Alternatively you can use
2928 * $wgLBFactoryConf to set up an LBFactory_Multi object.
3029 *
31 - * To use a database with a table prefix, set this variable to
 30+ * To use a database with a table prefix, set this variable to
3231 * "{$database}-{$prefix}".
3332 */
3433 $wgCentralAuthDatabase = 'centralauth';
@@ -84,15 +83,15 @@
8584 $wgCentralAuthCookiePrefix = 'centralauth_';
8685
8786 /**
88 - * List of wiki IDs which should be called on login/logout to set third-party
 87+ * List of wiki IDs which should be called on login/logout to set third-party
8988 * cookies for the global session state.
9089 *
91 - * The wiki ID is typically the database name, except when table prefixes are
92 - * used, in which case it is the database name, a hyphen separator, and then
 90+ * The wiki ID is typically the database name, except when table prefixes are
 91+ * used, in which case it is the database name, a hyphen separator, and then
9392 * the table prefix.
9493 *
95 - * This allows a farm with multiple second-level domains to set up a global
96 - * session on all of them by hitting one wiki from each domain
 94+ * This allows a farm with multiple second-level domains to set up a global
 95+ * session on all of them by hitting one wiki from each domain
9796 * (en.wikipedia.org, en.wikinews.org, etc).
9897 *
9998 * Done by $wgCentralAuthLoginIcon from Special:AutoLogin on each wiki.
@@ -238,26 +237,32 @@
239238
240239 $wgLogTypes[] = 'gblrights';
241240 $wgLogNames['gblrights'] = 'centralauth-rightslog-name';
242 -$wgLogHeaders['gblrights'] = 'centralauth-rightslog-header';
 241+$wgLogHeaders['gblrights'] = 'centralauth-rightslog-header';
243242 $wgLogActions['gblrights/usergroups'] = 'centralauth-rightslog-entry-usergroups';
244243 $wgLogActions['gblrights/groupperms'] = 'centralauth-rightslog-entry-groupperms';
245244 $wgLogActions['gblrights/groupprms2'] = 'centralauth-rightslog-entry-groupperms2';
246245 $wgLogActions['gblrights/groupprms3'] = 'centralauth-rightslog-entry-groupperms3';
247 -foreach( array( 'newset', 'setrename', 'setnewtype', 'setchange', 'deleteset' ) as $type )
 246+
 247+foreach ( array( 'newset', 'setrename', 'setnewtype', 'setchange', 'deleteset' ) as $type )
248248 $wgLogActionsHandlers["gblrights/{$type}"] = 'efHandleWikiSetLogEntry';
249249
250250 function efHandleWikiSetLogEntry( $type, $action, $title, $skin, $params, $filterWikilinks = false ) {
251 - wfLoadExtensionMessages('SpecialCentralAuth');
 251+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
252252 $link = $skin ? $skin->makeLinkObj( $title, $params[0] ) : $params[0];
253 - if( $action == 'newset' )
 253+ if ( $action == 'newset' ) {
254254 $args = array( WikiSet::formatType( $params[1] ), $params[2] );
255 - if( $action == 'setrename' )
 255+ }
 256+ if ( $action == 'setrename' ) {
256257 $args = array( $params[1] );
257 - if( $action == 'setnewtype' )
 258+ }
 259+ if ( $action == 'setnewtype' ) {
258260 $args = array( WikiSet::formatType( $params[1] ), WikiSet::formatType( $params[2] ) );
259 - if( $action == 'setchange' )
 261+ }
 262+ if ( $action == 'setchange' ) {
260263 $args = array( $params[1] ? $params[1] : wfMsg( 'rightsnone' ), $params[2] ? $params[2] : wfMsg( 'rightsnone' ) );
261 - if( $action == 'deleteset' )
 264+ }
 265+ if ( $action == 'deleteset' ) {
262266 $args = array();
 267+ }
263268 return wfMsgReal( "centralauth-rightslog-entry-{$action}", array_merge( array( $link ), $args ), true, !$skin );
264269 }
Index: trunk/extensions/CentralAuth/SpecialCentralAuth.php
@@ -4,7 +4,7 @@
55 var $mGlobalUser, $mAttachedLocalAccounts, $mUnattachedLocalAccounts;
66
77 function __construct() {
8 - wfLoadExtensionMessages('SpecialCentralAuth');
 8+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
99 parent::__construct( 'CentralAuth' );
1010 }
1111
@@ -62,7 +62,7 @@
6363 }
6464
6565 $continue = true;
66 - if( $this->mCanEdit && $this->mPosted ) {
 66+ if ( $this->mCanEdit && $this->mPosted ) {
6767 $continue = $this->doSubmit();
6868 }
6969
@@ -72,11 +72,11 @@
7373 $this->showUsernameForm();
7474 if ( $continue ) {
7575 $this->showInfo();
76 - if( $this->mCanLock )
 76+ if ( $this->mCanLock )
7777 $this->showStatusForm();
78 - if( $this->mCanUnmerge )
 78+ if ( $this->mCanUnmerge )
7979 $this->showActionForm( 'delete' );
80 - if( $this->mCanEdit )
 80+ if ( $this->mCanEdit )
8181 $this->showLogExtract();
8282 $this->showWikiLists();
8383 }
@@ -89,7 +89,7 @@
9090 global $wgUser, $wgOut, $wgRequest;
9191 if ( !$wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ) ) {
9292 $this->showError( 'centralauth-token-mismatch' );
93 - } elseif( $this->mMethod == 'unmerge' && $this->mCanUnmerge ) {
 93+ } elseif ( $this->mMethod == 'unmerge' && $this->mCanUnmerge ) {
9494 $status = $globalUser->adminUnattach( $this->mWikis );
9595 if ( !$status->isGood() ) {
9696 $this->showStatusError( $status->getWikiText() );
@@ -123,22 +123,22 @@
124124 CentralAuthUser::HIDDEN_NONE,
125125 CentralAuthUser::HIDDEN_LISTS,
126126 CentralAuthUser::HIDDEN_OVERSIGHT );
127 - if( !in_array( $setHidden, $hiddenLevels ) )
 127+ if ( !in_array( $setHidden, $hiddenLevels ) )
128128 $setHidden = '';
129129
130130 if ( !$isLocked && $setLocked ) {
131131 $lockStatus = $globalUser->adminLock();
132132 $added[] = wfMsgForContent( 'centralauth-log-status-locked' );
133 - } elseif( $isLocked && !$setLocked ) {
 133+ } elseif ( $isLocked && !$setLocked ) {
134134 $lockStatus = $globalUser->adminUnlock();
135135 $removed[] = wfMsgForContent( 'centralauth-log-status-locked' );
136136 }
137137
138138 $reason = $wgRequest->getText( 'wpReasonList' );
139139 $reasonDetail = $wgRequest->getText( 'wpReason' );
140 - if( $reason == 'other' ) {
 140+ if ( $reason == 'other' ) {
141141 $reason = $reasonDetail;
142 - } elseif( $reasonDetail ) {
 142+ } elseif ( $reasonDetail ) {
143143 $reason .= wfMsgForContent( 'colon-separator' ) . $reasonDetail;
144144 }
145145
@@ -152,31 +152,31 @@
153153 break;
154154 case CentralAuthUser::HIDDEN_LISTS:
155155 $added[] = wfMsgForContent( 'centralauth-log-status-hidden' );
156 - if( $oldHiddenLevel == CentralAuthUser::HIDDEN_OVERSIGHT )
 156+ if ( $oldHiddenLevel == CentralAuthUser::HIDDEN_OVERSIGHT )
157157 $removed[] = wfMsgForContent( 'centralauth-log-status-oversighted' );
158158 break;
159159 case CentralAuthUser::HIDDEN_OVERSIGHT:
160160 $added[] = wfMsgForContent( 'centralauth-log-status-oversighted' );
161 - if( $oldHiddenLevel == CentralAuthUser::HIDDEN_LISTS )
 161+ if ( $oldHiddenLevel == CentralAuthUser::HIDDEN_LISTS )
162162 $removed[] = wfMsgForContent( 'centralauth-log-status-hidden' );
163163 break;
164164 }
165165
166 - if( $setHidden == CentralAuthUser::HIDDEN_OVERSIGHT )
 166+ if ( $setHidden == CentralAuthUser::HIDDEN_OVERSIGHT )
167167 $globalUser->suppress( $reason );
168 - elseif( $oldHiddenLevel == CentralAuthUser::HIDDEN_OVERSIGHT )
 168+ elseif ( $oldHiddenLevel == CentralAuthUser::HIDDEN_OVERSIGHT )
169169 $globalUser->unsuppress( $reason );
170170 }
171171
172172 $good =
173 - ( is_null($lockStatus) || $lockStatus->isGood() ) &&
174 - ( is_null($hideStatus) || $hideStatus->isGood() );
 173+ ( is_null( $lockStatus ) || $lockStatus->isGood() ) &&
 174+ ( is_null( $hideStatus ) || $hideStatus->isGood() );
175175
176176 // Logging etc
177 - if ( $good && (count($added) || count($removed)) ) {
178 - $added = count($added) ?
 177+ if ( $good && ( count( $added ) || count( $removed ) ) ) {
 178+ $added = count( $added ) ?
179179 implode( ', ', $added ) : wfMsgForContent( 'centralauth-log-status-none' );
180 - $removed = count($removed) ?
 180+ $removed = count( $removed ) ?
181181 implode( ', ', $removed ) : wfMsgForContent( 'centralauth-log-status-none' );
182182
183183 $this->logAction(
@@ -187,11 +187,11 @@
188188 $setHidden == CentralAuthUser::HIDDEN_OVERSIGHT
189189 );
190190 $this->showSuccess( 'centralauth-admin-setstatus-success', $this->mUserName );
191 - } elseif (!$good) {
192 - if ( !is_null($lockStatus) && !$lockStatus->isGood() ) {
 191+ } elseif ( !$good ) {
 192+ if ( !is_null( $lockStatus ) && !$lockStatus->isGood() ) {
193193 $this->showStatusError( $lockStatus->getWikiText() );
194194 }
195 - if ( !is_null($hideStatus) && !$hideStatus->isGood() ) {
 195+ if ( !is_null( $hideStatus ) && !$hideStatus->isGood() ) {
196196 $this->showStatusError( $hideStatus->getWikiText() );
197197 }
198198 }
@@ -253,11 +253,11 @@
254254 'days' => 30.417,
255255 'months' => 12,
256256 'years' => 1 );
257 - foreach( $units as $unit => $chunk ) {
 257+ foreach ( $units as $unit => $chunk ) {
258258 // Used messaged (to make sure that grep finds them):
259259 // 'centralauth-seconds-ago', 'centralauth-minutes-ago', 'centralauth-hours-ago'
260260 // 'centralauth-days-ago', 'centralauth-months-ago', 'centralauth-years-ago'
261 - if( $span < 2*$chunk ) {
 261+ if ( $span < 2 * $chunk ) {
262262 return wfMsgExt( "centralauth-$unit-ago", 'parsemag', $wgLang->formatNum( $span ) );
263263 }
264264 $span = $wgLang->formatNum( intval( $span / $chunk ) );
@@ -280,7 +280,7 @@
281281 'hidden' => $this->formatHiddenLevel( $globalUser->getHiddenLevel() ) );
282282 $out = '<fieldset id="mw-centralauth-info">';
283283 $out .= '<legend>' . wfMsgHtml( 'centralauth-admin-info-header' ) . '</legend>';
284 - foreach( $attribs as $tag => $data ) {
 284+ foreach ( $attribs as $tag => $data ) {
285285 $out .= '<p><strong>' . wfMsgHtml( "centralauth-admin-info-$tag" ) . '</strong> ' .
286286 htmlspecialchars( $data ) . '</p>';
287287 }
@@ -300,7 +300,7 @@
301301 $wgOut->addHTML( "<fieldset><legend>{$legend}</legend>" );
302302 $wgOut->addHTML( $this->listHeader() );
303303 $wgOut->addHTML( $this->listMerged( $merged ) );
304 - if( $remainder )
 304+ if ( $remainder )
305305 $wgOut->addHTML( $this->listRemainder( $remainder ) );
306306 $wgOut->addHTML( $this->listFooter() );
307307 $wgOut->addHTML( '</fieldset>' );
@@ -320,18 +320,18 @@
321321 Xml::openElement( 'table', array( 'class' => 'wikitable sortable mw-centralauth-wikislist' ) ) . "\n" .
322322 '<thead><tr>' .
323323 ( $this->mCanUnmerge ? '<th></th>' : '' ) .
324 - '<th>' . wfMsgHtml( 'centralauth-admin-list-localwiki' ) . '</th>'.
 324+ '<th>' . wfMsgHtml( 'centralauth-admin-list-localwiki' ) . '</th>' .
325325 '<th>' . wfMsgHtml( 'centralauth-admin-list-attached-on' ) . '</th>' .
326326 '<th>' . wfMsgHtml( 'centralauth-admin-list-method' ) . '</th>' .
327327 '<th>' . wfMsgHtml( 'centralauth-admin-list-blocked' ) . '</th>' .
328 - '<th>' . wfMsgHtml( 'centralauth-admin-list-editcount' ) . '</th>'.
 328+ '<th>' . wfMsgHtml( 'centralauth-admin-list-editcount' ) . '</th>' .
329329 '</tr></thead>' .
330330 '<tbody>';
331331 }
332332
333333 function listFooter() {
334334 $footer = '';
335 - if( $this->mCanUnmerge )
 335+ if ( $this->mCanUnmerge )
336336 $footer .=
337337 '<tr>' .
338338 '<td style="border-right: none"></td>' .
@@ -364,7 +364,7 @@
365365 function listMergedWikiItem( $row ) {
366366 global $wgLang;
367367 return '<tr>' .
368 - ( $this->mCanUnmerge ? '<td>' . $this->adminCheck( $row['wiki'] ) . '</td>' : '' ).
 368+ ( $this->mCanUnmerge ? '<td>' . $this->adminCheck( $row['wiki'] ) . '</td>' : '' ) .
369369 '<td>' . $this->foreignUserLink( $row['wiki'] ) . '</td>' .
370370 '<td>' .
371371 // invisible, to make this column sortable
@@ -388,8 +388,8 @@
389389 }
390390
391391 function formatBlockStatus( $row ) {
392 - if( $row['blocked'] ) {
393 - if( $row['block-expiry'] == 'infinity' ) {
 392+ if ( $row['blocked'] ) {
 393+ if ( $row['block-expiry'] == 'infinity' ) {
394394 $reason = $row['block-reason'];
395395 return wfMsgExt( 'centralauth-admin-blocked-indef', 'parseinline', array( $reason ) );
396396 } else {
@@ -444,13 +444,13 @@
445445 $wiki = $wikiID;
446446 } else {
447447 $wiki = WikiMap::getWiki( $wikiID );
448 - if( !$wiki ) {
 448+ if ( !$wiki ) {
449449 throw new MWException( "Invalid wiki: $wikiID" );
450450 }
451451 }
452452
453453 $url = $wiki->getUrl( $title );
454 - if( $params )
 454+ if ( $params )
455455 $url .= '?' . $params;
456456 return Xml::element( 'a',
457457 array(
@@ -462,7 +462,7 @@
463463
464464 function foreignUserLink( $wikiID ) {
465465 $wiki = WikiMap::getWiki( $wikiID );
466 - if( !$wiki ) {
 466+ if ( !$wiki ) {
467467 throw new MWException( "Invalid wiki: $wikiID" );
468468 }
469469
@@ -538,7 +538,7 @@
539539 'mw-centralauth-status-hidden-list',
540540 $this->mGlobalUser->getHiddenLevel() == CentralAuthUser::HIDDEN_LISTS ) .
541541 '<br />';
542 - if( $this->mCanOversight ) {
 542+ if ( $this->mCanOversight ) {
543543 $radioHidden .= Xml::radioLabel(
544544 wfMsgExt( 'centralauth-admin-status-hidden-oversight', array( 'parseinline' ) ),
545545 'wpStatusHidden',
@@ -589,14 +589,14 @@
590590 Title::newFromText( "User:{$user}@global" )->getPrefixedText(),
591591 '',
592592 array( 'showIfEmpty' => true ) );
593 - if( $numRows ) {
 593+ if ( $numRows ) {
594594 $wgOut->addHTML( Xml::fieldset( wfMsg( 'centralauth-admin-logsnippet' ), $text ) );
595595 }
596596 }
597597
598598 function determineHomeWiki() {
599 - foreach( $this->mAttachedLocalAccounts as $wiki => $acc ) {
600 - if( $acc['attachedMethod'] == 'primary' || $acc['attachedMethod'] == 'new' ) {
 599+ foreach ( $this->mAttachedLocalAccounts as $wiki => $acc ) {
 600+ if ( $acc['attachedMethod'] == 'primary' || $acc['attachedMethod'] == 'new' ) {
601601 return $wiki;
602602 }
603603 }
@@ -607,7 +607,7 @@
608608
609609 function evaluateTotalEditcount() {
610610 $total = 0;
611 - foreach( $this->mAttachedLocalAccounts as $acc ) {
 611+ foreach ( $this->mAttachedLocalAccounts as $acc ) {
612612 $total += $acc['editCount'];
613613 }
614614 return $total;
@@ -616,7 +616,7 @@
617617 function addMergeMethodDescriptions() {
618618 global $wgOut, $wgLang;
619619 $js = "wgMergeMethodDescriptions = {\n";
620 - foreach( array( 'primary', 'new', 'empty', 'password', 'mail', 'admin', 'login' ) as $method ) {
 620+ foreach ( array( 'primary', 'new', 'empty', 'password', 'mail', 'admin', 'login' ) as $method ) {
621621 $short = Xml::encodeJsVar( $wgLang->ucfirst( wfMsgHtml( "centralauth-merge-method-{$method}" ) ) );
622622 $desc = Xml::encodeJsVar( wfMsgWikiHtml( "centralauth-merge-method-{$method}-desc" ) );
623623 $js .= "\t'{$method}' : { 'short' : {$short}, 'desc' : {$desc} },\n";
Index: trunk/extensions/CentralAuth/SpecialMergeAccount.php
@@ -1,9 +1,8 @@
22 <?php
33
44 class SpecialMergeAccount extends SpecialPage {
5 -
65 function __construct() {
7 - wfLoadExtensionMessages('SpecialCentralAuth');
 6+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
87 parent::__construct( 'MergeAccount', 'centralauth-merge' );
98 }
109
@@ -19,7 +18,7 @@
2019 return;
2120 }
2221
23 - if( !$wgUser->isLoggedIn() ) {
 22+ if ( !$wgUser->isLoggedIn() ) {
2423 $wgOut->addWikiText(
2524 wfMsg( 'centralauth-merge-notlogged' ) .
2625 "\n\n" .
@@ -27,7 +26,7 @@
2827
2928 return;
3029 }
31 -
 30+
3231 if ( wfReadOnly() ) {
3332 $wgOut->setPagetitle( wfMsg( 'readonly' ) );
3433 $wgOut->addWikiMsg( 'readonlytext', wfReadOnlyReason() );
@@ -56,7 +55,7 @@
5756 // did / did not merge some accounts
5857 // do / don't have more accounts to merge
5958
60 - if( $this->mAttemptMerge ) {
 59+ if ( $this->mAttemptMerge ) {
6160 switch( $this->mMergeAction ) {
6261 case "dryrun":
6362 return $this->doDryRunMerge();
@@ -74,8 +73,8 @@
7574 }
7675
7776 $globalUser = new CentralAuthUser( $this->mUserName );
78 - if( $globalUser->exists() ) {
79 - if( $globalUser->isAttached() ) {
 77+ if ( $globalUser->exists() ) {
 78+ if ( $globalUser->isAttached() ) {
8079 $this->showCleanupForm();
8180 } else {
8281 $this->showAttachForm();
@@ -101,7 +100,7 @@
102101
103102 // Generate a random binary string
104103 $key = '';
105 - for( $i = 0; $i < 128; $i++ ) {
 104+ for ( $i = 0; $i < 128; $i++ ) {
106105 $key .= chr( mt_rand( 0, 255 ) );
107106 }
108107 $this->mSessionKey = $key;
@@ -115,7 +114,7 @@
116115 $_SESSION['wsCentralAuthMigration'][$this->mSessionToken],
117116 $this->mSessionKey ) ) );
118117 wfRestoreWarnings();
119 - if( is_array( $passwords ) ) {
 118+ if ( is_array( $passwords ) ) {
120119 return $passwords;
121120 }
122121 return array();
@@ -123,7 +122,7 @@
124123
125124 private function addWorkingPassword( $password ) {
126125 $passwords = $this->getWorkingPasswords();
127 - if( !in_array( $password, $passwords ) ) {
 126+ if ( !in_array( $password, $passwords ) ) {
128127 $passwords[] = $password;
129128 }
130129
@@ -142,25 +141,23 @@
143142 }
144143
145144 function xorString( $text, $key ) {
146 - if( $key != '' ) {
147 - for( $i = 0; $i < strlen( $text ); $i++ ) {
148 - $text[$i] = chr(0xff & (ord($text[$i]) ^ ord($key[$i % strlen( $key )])));
 145+ if ( $key != '' ) {
 146+ for ( $i = 0; $i < strlen( $text ); $i++ ) {
 147+ $text[$i] = chr( 0xff & ( ord( $text[$i] ) ^ ord( $key[$i % strlen( $key )] ) ) );
149148 }
150149 }
151150 return $text;
152151 }
153152
154 -
155 -
156153 function doDryRunMerge() {
157154 global $wgUser, $wgRequest, $wgOut, $wgCentralAuthDryRun;
158155 $globalUser = new CentralAuthUser( $wgUser->getName() );
159156
160 - if( $globalUser->exists() ) {
 157+ if ( $globalUser->exists() ) {
161158 throw new MWException( "Already exists -- race condition" );
162159 }
163160
164 - if( $wgCentralAuthDryRun ) {
 161+ if ( $wgCentralAuthDryRun ) {
165162 $wgOut->addWikiText( wfMsg( 'centralauth-notice-dryrun' ) );
166163 }
167164
@@ -174,16 +171,16 @@
175172 $methods = array();
176173 $status = $globalUser->migrationDryRun( $passwords, $home, $attached, $unattached, $methods );
177174
178 - if( $status->isGood() ) {
 175+ if ( $status->isGood() ) {
179176 // This is the global account or matched it
180 - if( count( $unattached ) == 0 ) {
 177+ if ( count( $unattached ) == 0 ) {
181178 // Everything matched -- very convenient!
182179 $wgOut->addWikiText( wfMsg( 'centralauth-merge-dryrun-complete' ) );
183180 } else {
184181 $wgOut->addWikiText( wfMsg( 'centralauth-merge-dryrun-incomplete' ) );
185182 }
186183
187 - if( count( $unattached ) > 0 ) {
 184+ if ( count( $unattached ) > 0 ) {
188185 $wgOut->addHTML( $this->step2PasswordForm( $unattached ) );
189186 $wgOut->addWikiText( wfMsg( 'centralauth-merge-dryrun-or' ) );
190187 }
@@ -197,7 +194,7 @@
198195 $wgOut->addHTML( '</div>' );
199196
200197 // Show wiki list if required
201 - if ( $status->hasMessage( 'centralauth-blocked-text' )
 198+ if ( $status->hasMessage( 'centralauth-blocked-text' )
202199 || $status->hasMessage( 'centralauth-merge-home-password' ) )
203200 {
204201 $out = '<h2>' . wfMsgHtml( 'centralauth-list-home-title' ) . '</h2>';
@@ -215,16 +212,16 @@
216213 global $wgUser, $wgRequest, $wgOut, $wgCentralAuthDryRun;
217214 $globalUser = new CentralAuthUser( $wgUser->getName() );
218215
219 - if( $wgCentralAuthDryRun ) {
 216+ if ( $wgCentralAuthDryRun ) {
220217 return $this->dryRunError();
221218 }
222219
223 - if( $globalUser->exists() ) {
 220+ if ( $globalUser->exists() ) {
224221 throw new MWException( "Already exists -- race condition" );
225222 }
226223
227224 $passwords = $this->getWorkingPasswords();
228 - if( empty( $passwords ) ) {
 225+ if ( empty( $passwords ) ) {
229226 throw new MWException( "Submission error -- invalid input" );
230227 }
231228
@@ -241,15 +238,15 @@
242239 global $wgUser, $wgRequest, $wgOut, $wgCentralAuthDryRun;
243240 $globalUser = new CentralAuthUser( $wgUser->getName() );
244241
245 - if( !$globalUser->exists() ) {
 242+ if ( !$globalUser->exists() ) {
246243 throw new MWException( "User doesn't exist -- race condition?" );
247244 }
248245
249 - if( !$globalUser->isAttached() ) {
 246+ if ( !$globalUser->isAttached() ) {
250247 throw new MWException( "Can't cleanup merge if not already attached." );
251248 }
252249
253 - if( $wgCentralAuthDryRun ) {
 250+ if ( $wgCentralAuthDryRun ) {
254251 return $this->dryRunError();
255252 }
256253 $password = $wgRequest->getText( 'wpPassword' );
@@ -260,8 +257,8 @@
261258 $ok = $globalUser->attemptPasswordMigration( $password, $attached, $unattached );
262259 $this->clearWorkingPasswords();
263260
264 - if( !$ok ) {
265 - if( empty( $attached ) ) {
 261+ if ( !$ok ) {
 262+ if ( empty( $attached ) ) {
266263 $wgOut->addWikiText( wfMsg( 'centralauth-finish-noconfirms' ) );
267264 } else {
268265 $wgOut->addWikiText( wfMsg( 'centralauth-finish-incomplete' ) );
@@ -274,19 +271,19 @@
275272 global $wgUser, $wgRequest, $wgOut, $wgCentralAuthDryRun;
276273 $globalUser = new CentralAuthUser( $wgUser->getName() );
277274
278 - if( !$globalUser->exists() ) {
 275+ if ( !$globalUser->exists() ) {
279276 throw new MWException( "User doesn't exist -- race condition?" );
280277 }
281278
282 - if( $globalUser->isAttached() ) {
 279+ if ( $globalUser->isAttached() ) {
283280 throw new MWException( "Already attached -- race condition?" );
284281 }
285282
286 - if( $wgCentralAuthDryRun ) {
 283+ if ( $wgCentralAuthDryRun ) {
287284 return $this->dryRunError();
288285 }
289286 $password = $wgRequest->getText( 'wpPassword' );
290 - if( $globalUser->authenticate( $password ) == 'ok' ) {
 287+ if ( $globalUser->authenticate( $password ) == 'ok' ) {
291288 $globalUser->attach( wfWikiID(), 'password' );
292289 $wgOut->addWikiText( wfMsg( 'centralauth-attach-success' ) );
293290 $this->showCleanupForm();
@@ -302,7 +299,7 @@
303300 private function showWelcomeForm() {
304301 global $wgOut, $wgUser, $wgCentralAuthDryRun;
305302
306 - if( $wgCentralAuthDryRun ) {
 303+ if ( $wgCentralAuthDryRun ) {
307304 $wgOut->addWikiText( wfMsg( 'centralauth-notice-dryrun' ) );
308305 }
309306
@@ -342,7 +339,7 @@
343340 function showStatus( $merged, $remainder ) {
344341 global $wgOut;
345342
346 - if( count( $remainder ) > 0 ) {
 343+ if ( count( $remainder ) > 0 ) {
347344 $wgOut->setPageTitle( wfMsg( 'centralauth-incomplete' ) );
348345 $wgOut->addWikiText( wfMsg( 'centralauth-incomplete-text' ) );
349346 } else {
@@ -351,14 +348,14 @@
352349 }
353350 $wgOut->addWikiText( wfMsg( 'centralauth-readmore-text' ) );
354351
355 - if( $merged ) {
 352+ if ( $merged ) {
356353 $wgOut->addHTML( '<hr />' );
357354 $wgOut->addWikiText( wfMsg( 'centralauth-list-attached',
358355 $this->mUserName ) );
359356 $wgOut->addHTML( $this->listAttached( $merged ) );
360357 }
361358
362 - if( $remainder ) {
 359+ if ( $remainder ) {
363360 $wgOut->addHTML( '<hr />' );
364361 $wgOut->addWikiText( wfMsg( 'centralauth-list-unattached',
365362 $this->mUserName ) );
@@ -373,7 +370,7 @@
374371 }
375372 }
376373
377 - function listAttached( $wikiList, $methods=array() ) {
 374+ function listAttached( $wikiList, $methods = array() ) {
378375 return $this->listWikis( $wikiList, $methods );
379376 }
380377
@@ -381,17 +378,17 @@
382379 return $this->listWikis( $wikiList );
383380 }
384381
385 - function listWikis( $list, $methods=array() ) {
 382+ function listWikis( $list, $methods = array() ) {
386383 asort( $list );
387384 return $this->formatList( $list, $methods, array( $this, 'listWikiItem' ) );
388385 }
389386
390387 function formatList( $items, $methods, $callback ) {
391 - if( !$items ) {
 388+ if ( !$items ) {
392389 return '';
393390 } else {
394391 $itemMethods = array();
395 - foreach( $items as $item ) {
 392+ foreach ( $items as $item ) {
396393 $itemMethods[] = isset( $methods[$item] ) ? $methods[$item] : '';
397394 }
398395 return "<ul>\n<li>" .
@@ -408,7 +405,7 @@
409406
410407 function foreignUserLink( $wikiID ) {
411408 $wiki = WikiMap::getWiki( $wikiID );
412 - if( !$wiki ) {
 409+ if ( !$wiki ) {
413410 throw new MWException( "no wiki for $wikiID" );
414411 }
415412
Index: trunk/extensions/CentralAuth/CentralAuthHooks.php
@@ -5,7 +5,7 @@
66 $auth = new StubObject( 'wgAuth', 'CentralAuthPlugin' );
77 return true;
88 }
9 -
 9+
1010 /**
1111 * Make sure migration information in localuser table is populated
1212 * on local account creation
@@ -15,7 +15,7 @@
1616 $central->addLocalName( wfWikiID() );
1717 return true;
1818 }
19 -
 19+
2020 /**
2121 * Add a little pretty to the preferences user info section
2222 */
@@ -27,7 +27,7 @@
2828 return true;
2929 }
3030
31 - wfLoadExtensionMessages('SpecialCentralAuth');
 31+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
3232 $skin = $wgUser->getSkin();
3333
3434 // Possible states:
@@ -37,12 +37,12 @@
3838 // - all local accounts are attached
3939
4040 $global = CentralAuthUser::getInstance( $wgUser );
41 - if( $global->exists() ) {
42 - if( $global->isAttached() ) {
 41+ if ( $global->exists() ) {
 42+ if ( $global->isAttached() ) {
4343 // Local is attached...
4444 $attached = count( $global->listAttached() );
4545 $unattached = count( $global->listUnattached() );
46 - if( $unattached ) {
 46+ if ( $unattached ) {
4747 // Migration incomplete
4848 $message = '<strong>' . wfMsgExt( 'centralauth-prefs-migration', 'parseinline' ) . '</strong>' .
4949 '<br />' .
@@ -73,7 +73,7 @@
7474 wfMsgExt( 'centralauth-prefs-view', 'parseinline' ) );
7575 $manageLinkList = wfMsg( 'parentheses', $wgLang->pipeList( $manageLinks ) );
7676
77 - $prefInsert =
 77+ $prefInsert =
7878 array( 'globalaccountstatus' =>
7979 array(
8080 'section' => 'personal/info',
@@ -89,30 +89,30 @@
9090
9191 return true;
9292 }
93 -
 93+
9494 static function onAbortNewAccount( $user, &$abortError ) {
9595 $centralUser = CentralAuthUser::getInstance( $user );
9696 if ( $centralUser->exists() ) {
97 - wfLoadExtensionMessages('SpecialCentralAuth');
 97+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
9898 $abortError = wfMsg( 'centralauth-account-exists' );
9999 return false;
100100 }
101101 return true;
102102 }
103 -
 103+
104104 static function onUserLoginComplete( &$user, &$inject_html ) {
105105 global $wgCentralAuthCookies;
106 - if( !$wgCentralAuthCookies ) {
 106+ if ( !$wgCentralAuthCookies ) {
107107 // Use local sessions only.
108108 return true;
109109 }
110110
111111 $centralUser = CentralAuthUser::getInstance( $user );
112 -
113 - if (!$centralUser->exists() || !$centralUser->isAttached()) {
 112+
 113+ if ( !$centralUser->exists() || !$centralUser->isAttached() ) {
114114 return true;
115115 }
116 -
 116+
117117 // On other domains
118118 global $wgCentralAuthAutoLoginWikis;
119119 if ( !$wgCentralAuthAutoLoginWikis ) {
@@ -122,9 +122,9 @@
123123 }
124124
125125 wfLoadExtensionMessages( 'SpecialCentralAuth' );
126 - $inject_html .= '<div class="centralauth-login-box"><p>' .
 126+ $inject_html .= '<div class="centralauth-login-box"><p>' .
127127 wfMsgExt( 'centralauth-login-progress', array( 'parsemag' ), $user->getName() ) . "</p>\n<p>";
128 - foreach( $wgCentralAuthAutoLoginWikis as $alt => $wiki ) {
 128+ foreach ( $wgCentralAuthAutoLoginWikis as $alt => $wiki ) {
129129 $data = array(
130130 'userName' => $user->getName(),
131131 'token' => $centralUser->getAuthToken(),
@@ -134,96 +134,97 @@
135135 $loginToken = wfGenerateToken( $centralUser->getId() );
136136 global $wgMemc;
137137 $wgMemc->set( CentralAuthUser::memcKey( 'login-token', $loginToken ), $data, 600 );
138 -
 138+
139139 $wiki = WikiMap::getWiki( $wiki );
140140 $url = $wiki->getUrl( 'Special:AutoLogin' );
141 -
 141+
142142 $querystring = 'token=' . $loginToken;
143 -
144 - if (strpos($url, '?') > 0) {
 143+
 144+ if ( strpos( $url, '?' ) > 0 ) {
145145 $url .= "&$querystring";
146146 } else {
147147 $url .= "?$querystring";
148148 }
149 -
150 - $inject_html .= Xml::element( 'img',
151 - array(
 149+
 150+ $inject_html .= Xml::element( 'img',
 151+ array(
152152 'src' => $url,
153153 'alt' => $alt,
154154 'title' => $alt,
155155 'width' => 20,
156156 'height' => 20,
157157 'style' => 'border: 1px solid #ccc;',
158 - ) );
 158+ )
 159+ );
159160 }
160 -
 161+
161162 $inject_html .= '</p></div>';
162 -
 163+
163164 return true;
164165 }
165 -
 166+
166167 static function onUserLoadFromSession( $user, &$result ) {
167168 global $wgCentralAuthCookies, $wgCentralAuthCookiePrefix;
168 - if( !$wgCentralAuthCookies ) {
 169+ if ( !$wgCentralAuthCookies ) {
169170 // Use local sessions only.
170171 return true;
171172 }
172173 $prefix = $wgCentralAuthCookiePrefix;
173 -
174 - if( $user->isLoggedIn() ) {
 174+
 175+ if ( $user->isLoggedIn() ) {
175176 // Already logged in; don't worry about the global session.
176177 return true;
177178 }
178 -
179 - if (isset($_COOKIE["{$prefix}User"]) && isset($_COOKIE["{$prefix}Token"])) {
 179+
 180+ if ( isset( $_COOKIE["{$prefix}User"] ) && isset( $_COOKIE["{$prefix}Token"] ) ) {
180181 $userName = $_COOKIE["{$prefix}User"];
181182 $token = $_COOKIE["{$prefix}Token"];
182183 } elseif ( (bool)( $session = CentralAuthUser::getSession() ) ) {
183184 $token = $session['token'];
184185 $userName = $session['user'];
185186 } else {
186 - wfDebug( __METHOD__.": no token or session\n" );
 187+ wfDebug( __METHOD__ . ": no token or session\n" );
187188 return true;
188189 }
189 -
 190+
190191 // Sanity check to avoid session ID collisions, as reported on bug 19158
191 - if ( !isset($_COOKIE["{$prefix}User"]) ) {
192 - wfDebug( __METHOD__.": no User cookie, so unable to check for session mismatch\n" );
 192+ if ( !isset( $_COOKIE["{$prefix}User"] ) ) {
 193+ wfDebug( __METHOD__ . ": no User cookie, so unable to check for session mismatch\n" );
193194 return true;
194195 } elseif ( $_COOKIE["{$prefix}User"] != $userName ) {
195 - wfDebug( __METHOD__.": Session ID/User mismatch. Possible session collision. ".
196 - "Expected: $userName; actual: ".
197 - $_COOKIE["{$prefix}User"]."\n" );
 196+ wfDebug( __METHOD__ . ": Session ID/User mismatch. Possible session collision. " .
 197+ "Expected: $userName; actual: " .
 198+ $_COOKIE["{$prefix}User"] . "\n" );
198199 return true;
199200 }
200201
201202 // Clean up username
202203 $title = Title::makeTitleSafe( NS_USER, $userName );
203204 if ( !$title ) {
204 - wfDebug( __METHOD__.": invalid username\n" );
 205+ wfDebug( __METHOD__ . ": invalid username\n" );
205206 }
206207 $userName = $title->getText();
207208
208209 // Try the central user
209210 $centralUser = new CentralAuthUser( $userName );
210211 if ( $centralUser->authenticateWithToken( $token ) != 'ok' ) {
211 - wfDebug( __METHOD__.": token mismatch\n" );
 212+ wfDebug( __METHOD__ . ": token mismatch\n" );
212213 return true;
213214 }
214215
215216 // Try the local user from the slave DB
216217 $localId = User::idFromName( $userName );
217218
218 - // Fetch the user ID from the master, so that we don't try to create the user
 219+ // Fetch the user ID from the master, so that we don't try to create the user
219220 // when they already exist, due to replication lag
220221 if ( !$localId && wfGetLB()->getReaderIndex() != 0 ) {
221222 $dbw = wfGetDB( DB_MASTER );
222 - $localId = $dbw->selectField( 'user', 'user_id',
 223+ $localId = $dbw->selectField( 'user', 'user_id',
223224 array( 'user_name' => $userName ), __METHOD__ );
224225 }
225226
226227 if ( !$centralUser->isAttached() && $localId ) {
227 - wfDebug( __METHOD__.": exists, and not attached\n" );
 228+ wfDebug( __METHOD__ . ": exists, and not attached\n" );
228229 return true;
229230 }
230231
@@ -237,34 +238,35 @@
238239 $user->setID( $localId );
239240 $user->loadFromId();
240241 }
 242+
241243 // Auth OK.
242 - wfDebug( __METHOD__.": logged in from session\n" );
 244+ wfDebug( __METHOD__ . ": logged in from session\n" );
243245 self::initSession( $user, $token );
244246 $user->centralAuthObj = $centralUser;
245247 $result = true;
246 -
 248+
247249 return true;
248250 }
249 -
 251+
250252 static function onUserLogout( &$user ) {
251253 global $wgCentralAuthCookies;
252 - if( !$wgCentralAuthCookies ) {
 254+ if ( !$wgCentralAuthCookies ) {
253255 // Use local sessions only.
254256 return true;
255257 }
256258 $centralUser = CentralAuthUser::getInstance( $user );
257 -
258 - if ($centralUser->exists()) {
 259+
 260+ if ( $centralUser->exists() ) {
259261 $centralUser->deleteGlobalCookies();
260262 $centralUser->resetAuthToken();
261263 }
262 -
 264+
263265 return true;
264266 }
265 -
 267+
266268 static function onUserLogoutComplete( &$user, &$inject_html, $userName ) {
267269 global $wgCentralAuthCookies, $wgCentralAuthAutoLoginWikis;
268 - if( !$wgCentralAuthCookies ) {
 270+ if ( !$wgCentralAuthCookies ) {
269271 // Nothing to do.
270272 return true;
271273 } elseif ( !$wgCentralAuthAutoLoginWikis ) {
@@ -272,10 +274,10 @@
273275 $inject_html .= wfMsgExt( 'centralauth-logout-no-others', 'parse' );
274276 return true;
275277 }
276 -
 278+
277279 $centralUser = CentralAuthUser::getInstance( $user );
278 -
279 - if (!$centralUser->exists() || !$centralUser->isAttached()) {
 280+
 281+ if ( !$centralUser->exists() || !$centralUser->isAttached() ) {
280282 return true;
281283 } elseif ( !$wgCentralAuthAutoLoginWikis ) {
282284 wfLoadExtensionMessages( 'SpecialCentralAuth' );
@@ -285,11 +287,11 @@
286288
287289 // Generate the images
288290 wfLoadExtensionMessages( 'SpecialCentralAuth' );
289 - $inject_html .= '<div class="centralauth-logout-box"><p>' .
 291+ $inject_html .= '<div class="centralauth-logout-box"><p>' .
290292 wfMsg( 'centralauth-logout-progress' ) . "</p>\n<p>";
291293 $centralUser = new CentralAuthUser( $userName );
292294
293 - foreach( $wgCentralAuthAutoLoginWikis as $alt => $wiki ) {
 295+ foreach ( $wgCentralAuthAutoLoginWikis as $alt => $wiki ) {
294296 $data = array(
295297 'userName' => $userName,
296298 'token' => $centralUser->getAuthToken(),
@@ -302,28 +304,29 @@
303305
304306 $wiki = WikiMap::getWiki( $wiki );
305307 $url = $wiki->getUrl( 'Special:AutoLogin' );
306 -
307 - if (strpos($url, '?') > 0) {
 308+
 309+ if ( strpos( $url, '?' ) > 0 ) {
308310 $url .= "&logout=1&token=$loginToken";
309311 } else {
310312 $url .= "?logout=1&token=$loginToken";
311313 }
312 -
313 - $inject_html .= Xml::element( 'img',
314 - array(
 314+
 315+ $inject_html .= Xml::element( 'img',
 316+ array(
315317 'src' => $url,
316318 'alt' => $alt,
317319 'title' => $alt,
318320 'width' => 20,
319321 'height' => 20,
320322 'style' => 'border: 1px solid #ccc;',
321 - ) );
 323+ )
 324+ );
322325 }
323 -
 326+
324327 $inject_html .= '</p></div>';
325328 return true;
326329 }
327 -
 330+
328331 static function onGetCacheVaryCookies( $out, &$cookies ) {
329332 global $wgCentralAuthCookiePrefix;
330333 $cookies[] = $wgCentralAuthCookiePrefix . 'Token';
@@ -331,24 +334,24 @@
332335 $cookies[] = $wgCentralAuthCookiePrefix . 'LoggedOut';
333336 return true;
334337 }
335 -
 338+
336339 static function onUserArrayFromResult( &$userArray, $res ) {
337340 $userArray = CentralAuthUserArray::newFromResult( $res );
338341 return true;
339342 }
340 -
 343+
341344 /**
342345 * Warn bureaucrat about possible conflicts with unified accounts
343346 */
344347 static function onRenameUserWarning( $oldName, $newName, &$warnings ) {
345348 $oldCentral = new CentralAuthUser( $oldName );
346349 if ( $oldCentral->exists() && $oldCentral->isAttached() ) {
347 - wfLoadExtensionMessages('SpecialCentralAuth');
 350+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
348351 $warnings[] = array( 'centralauth-renameuser-merged', $oldName, $newName );
349352 }
350353 $newCentral = new CentralAuthUser( $newName );
351354 if ( $newCentral->exists() && !$newCentral->isAttached() ) {
352 - wfLoadExtensionMessages('SpecialCentralAuth');
 355+ wfLoadExtensionMessages( 'SpecialCentralAuth' );
353356 $warnings[] = array( 'centralauth-renameuser-reserved', $oldName, $newName );
354357 }
355358 return true;
@@ -356,7 +359,7 @@
357360
358361 static function onRenameUserPreRename( $uid, $oldName, $newName ) {
359362 $oldCentral = new CentralAuthUser( $oldName );
360 - if( $oldCentral->exists() && $oldCentral->isAttached() ) {
 363+ if ( $oldCentral->exists() && $oldCentral->isAttached() ) {
361364 $oldCentral->adminUnattach( array( wfWikiID() ) );
362365 }
363366 return true;
@@ -383,14 +386,14 @@
384387
385388 $userName = $user->getName();
386389 wfSetupSession();
387 - if ($token != @$_SESSION['globalloggedin'] ) {
 390+ if ( $token != @$_SESSION['globalloggedin'] ) {
388391 $_SESSION['globalloggedin'] = $token;
389392 if ( !wfReadOnly() ) {
390393 $user->invalidateCache();
391394 }
392 - wfDebug( __METHOD__.": Initialising session for $userName with token $token.\n" );
 395+ wfDebug( __METHOD__ . ": Initialising session for $userName with token $token.\n" );
393396 } else {
394 - wfDebug( __METHOD__.": Session already initialised for $userName with token $token.\n" );
 397+ wfDebug( __METHOD__ . ": Session already initialised for $userName with token $token.\n" );
395398 }
396399 }
397400
@@ -404,24 +407,24 @@
405408 global $wgAuth, $wgCentralAuthCreateOnView;
406409 // Denied by configuration?
407410 if ( !$wgAuth->autoCreate() ) {
408 - wfDebug( __METHOD__.": denied by configuration\n" );
 411+ wfDebug( __METHOD__ . ": denied by configuration\n" );
409412 return false;
410413 }
411 -
 414+
412415 if ( !$wgCentralAuthCreateOnView ) {
413416 // Only create local accounts when we perform an active login...
414417 // Don't freak people out on every page view
415 - wfDebug( __METHOD__.": denied by \$wgCentralAuthCreateOnView\n" );
 418+ wfDebug( __METHOD__ . ": denied by \$wgCentralAuthCreateOnView\n" );
416419 return false;
417420 }
418421
419422 // Is the user blacklisted by the session?
420 - // This is just a cache to avoid expensive DB queries in $user->isAllowedToCreateAccount().
421 - // The user can log in via Special:UserLogin to bypass the blacklist and get a proper
 423+ // This is just a cache to avoid expensive DB queries in $user->isAllowedToCreateAccount().
 424+ // The user can log in via Special:UserLogin to bypass the blacklist and get a proper
422425 // error message.
423426 $session = CentralAuthUser::getSession();
424427 if ( isset( $session['auto-create-blacklist'] ) && in_array( wfWikiID(), (array)$session['auto-create-blacklist'] ) ) {
425 - wfDebug( __METHOD__.": blacklisted by session\n" );
 428+ wfDebug( __METHOD__ . ": blacklisted by session\n" );
426429 return false;
427430 }
428431
@@ -430,24 +433,24 @@
431434 if ( !$anon->isAllowedToCreateAccount() ) {
432435 // Blacklist the user to avoid repeated DB queries subsequently
433436 // First load the session again in case it changed while the above DB query was in progress
434 - wfDebug( __METHOD__.": user is blocked from this wiki, blacklisting\n" );
 437+ wfDebug( __METHOD__ . ": user is blocked from this wiki, blacklisting\n" );
435438 $session = CentralAuthUser::getSession();
436439 $session['auto-create-blacklist'][] = wfWikiID();
437440 CentralAuthUser::setSession( $session );
438441 return false;
439442 }
440443
441 - // Check for validity of username
442 - if ( !User::isValidUserName( $userName ) ) {
443 - wfDebug( __METHOD__.": Invalid username\n" );
444 - $session = CentralAuthUser::getSession();
445 - $session['auto-create-blacklist'][] = wfWikiID();
446 - CentralAuthUser::setSession( $session );
447 - return false;
448 - }
 444+ // Check for validity of username
 445+ if ( !User::isValidUserName( $userName ) ) {
 446+ wfDebug( __METHOD__ . ": Invalid username\n" );
 447+ $session = CentralAuthUser::getSession();
 448+ $session['auto-create-blacklist'][] = wfWikiID();
 449+ CentralAuthUser::setSession( $session );
 450+ return false;
 451+ }
449452
450453 // Checks passed, create the user
451 - wfDebug( __METHOD__.": creating new user\n" );
 454+ wfDebug( __METHOD__ . ": creating new user\n" );
452455 $user->loadDefaults( $userName );
453456 $user->addToDatabase();
454457 $user->addNewUserLogEntryAutoCreate();
@@ -461,7 +464,7 @@
462465 # Update user count
463466 $ssUpdate = new SiteStatsUpdate( 0, 0, 0, 0, 1 );
464467 $ssUpdate->doUpdate();
465 -
 468+
466469 return true;
467470 }
468471
@@ -504,26 +507,26 @@
505508 }
506509 return true;
507510 }
508 -
 511+
509512 static function onUserGetRights( $user, &$rights ) {
510 - if (!$user->isAnon()) {
 513+ if ( !$user->isAnon() ) {
511514 $centralUser = CentralAuthUser::getInstance( $user );
512 -
513 - if ($centralUser->exists() && $centralUser->isAttached()) {
 515+
 516+ if ( $centralUser->exists() && $centralUser->isAttached() ) {
514517 $extraRights = $centralUser->getGlobalRights();
515 -
 518+
516519 $rights = array_merge( $extraRights, $rights );
517520 }
518521 }
519 -
 522+
520523 return true;
521524 }
522 -
 525+
523526 static function onMakeGlobalVariablesScript( $groups ) {
524527 global $wgUser;
525528 if ( !$wgUser->isAnon() ) {
526529 $centralUser = CentralAuthUser::getInstance( $wgUser );
527 - if ($centralUser->exists() && $centralUser->isAttached()) {
 530+ if ( $centralUser->exists() && $centralUser->isAttached() ) {
528531 $groups['wgGlobalGroups'] = $centralUser->getGlobalGroups();
529532 }
530533 }
@@ -559,8 +562,8 @@
560563 */
561564 static function onUserLoadDefaults( $user, $name ) {
562565 global $wgCentralAuthCookiePrefix;
563 - if ( isset( $_COOKIE[$wgCentralAuthCookiePrefix.'LoggedOut'] ) ) {
564 - $user->mTouched = wfTimestamp( TS_MW, $_COOKIE[$wgCentralAuthCookiePrefix.'LoggedOut'] );
 566+ if ( isset( $_COOKIE[$wgCentralAuthCookiePrefix . 'LoggedOut'] ) ) {
 567+ $user->mTouched = wfTimestamp( TS_MW, $_COOKIE[$wgCentralAuthCookiePrefix . 'LoggedOut'] );
565568 }
566569 return true;
567570 }
@@ -568,14 +571,14 @@
569572 static function onGetUserPermissionsErrorsExpensive( $title, $user, $action, &$result ) {
570573 global $wgCentralAuthLockedCanEdit;
571574
572 - if( $action == 'read' || $user->isAnon() ) {
 575+ if ( $action == 'read' || $user->isAnon() ) {
573576 return true;
574577 }
575578 $centralUser = CentralAuthUser::getInstance( $user );
576 - if( !($centralUser->exists() && $centralUser->isAttached()) ) {
 579+ if ( !( $centralUser->exists() && $centralUser->isAttached() ) ) {
577580 return true;
578581 }
579 - if(
 582+ if (
580583 $centralUser->isOversighted() || // Oversighted users should *never* be able to edit
581584 ( $centralUser->isLocked() && !in_array( $title->getPrefixedText(), $wgCentralAuthLockedCanEdit ) )
582585 ) {
@@ -590,7 +593,7 @@
591594 return true;
592595 }
593596 $centralUser = CentralAuthUser::getInstance( $user );
594 - if( !($centralUser->exists() && $centralUser->isAttached()) ) {
 597+ if ( !( $centralUser->exists() && $centralUser->isAttached() ) ) {
595598 return true;
596599 }
597600 $wikiID = $centralUser->getHomeWiki();
Index: trunk/extensions/CentralAuth/SuppressUserJob.php
@@ -15,7 +15,7 @@
1616 public function __construct( $title, $params ) {
1717 parent::__construct( 'crosswikiSuppressUser', $title, $params );
1818 }
19 -
 19+
2020 /**
2121 * Execute the job
2222 *
@@ -24,11 +24,11 @@
2525 public function run() {
2626 extract( $this->params );
2727 $user = new CentralAuthUser( $username );
28 - if( !$user->exists() ) {
 28+ if ( !$user->exists() ) {
2929 wfDebugLog( 'suppressjob', "Requested to suppress non-existent user {$username} by {$by}." );
3030 }
3131
32 - foreach( $wikis as $wiki ) {
 32+ foreach ( $wikis as $wiki ) {
3333 $user->doLocalSuppression( $suppress, $wiki, $by, $reason );
3434 wfDebugLog( 'suppressjob', ( $suppress ? 'S' : 'Uns' ) . "uppressed {$username} at {$wiki} by {$by} via job queue." );
3535 }
Index: trunk/extensions/CentralAuth/WikiSet.php
@@ -36,20 +36,24 @@
3737 public function setWikisRaw( $w, $commit = false ) { return $this->setDbField( 'ws_wikis', $w, $commit ); }
3838 public function getType() { return $this->mType; }
3939 public function setType( $t, $commit = false ) {
40 - if( !in_array( $t, array( self::OPTIN, self::OPTOUT ) ) )
 40+ if ( !in_array( $t, array( self::OPTIN, self::OPTOUT ) ) ) {
4141 return false;
 42+ }
4243 return $this->setDbField( 'ws_type', $t, $commit );
4344 }
4445 protected function setDbField( $field, $value, $commit ) {
4546 $map = array( 'ws_name' => 'mName', 'ws_type' => 'mType', 'ws_wikis' => 'mWikis' );
4647 $mname = $map[$field];
4748 $this->$mname = $value;
48 - if( $commit )
 49+ if ( $commit ) {
4950 $this->commit();
 51+ }
5052 }
5153
5254 public static function newFromRow( $row ) {
53 - if( !$row ) return null;
 55+ if ( !$row ) {
 56+ return null;
 57+ }
5458 return new WikiSet(
5559 $row->ws_name,
5660 $row->ws_type,
@@ -59,13 +63,13 @@
6064 }
6165
6266 public static function newFromName( $name, $useCache = true ) {
63 - if( $useCache ) {
 67+ if ( $useCache ) {
6468 global $wgMemc;
6569 $data = $wgMemc->get( self::memcKey( "name:" . md5( $name ) ) );
66 - if( $data ) {
67 - if( $data['mVersion'] == self::VERSION ) {
 70+ if ( $data ) {
 71+ if ( $data['mVersion'] == self::VERSION ) {
6872 $ws = new WikiSet( null, null, null );
69 - foreach( $data as $key => $val )
 73+ foreach ( $data as $key => $val )
7074 $ws->$key = $val;
7175 return $ws;
7276 }
@@ -75,21 +79,22 @@
7680 $row = $dbr->selectRow(
7781 'wikiset', '*', array( 'ws_name' => $name ), __METHOD__
7882 );
79 - if( !$row )
 83+ if ( !$row ) {
8084 return null;
 85+ }
8186 $ws = self::newFromRow( $row );
8287 $ws->saveToCache();
8388 return $ws;
8489 }
8590
8691 public static function newFromID( $id, $useCache = true ) {
87 - if( $useCache ) {
 92+ if ( $useCache ) {
8893 global $wgMemc;
8994 $data = $wgMemc->get( self::memcKey( $id ) );
90 - if( $data ) {
91 - if( $data['mVersion'] == self::VERSION ) {
 95+ if ( $data ) {
 96+ if ( $data['mVersion'] == self::VERSION ) {
9297 $ws = new WikiSet( null, null, null );
93 - foreach( $data as $name => $val )
 98+ foreach ( $data as $name => $val )
9499 $ws->$name = $val;
95100 return $ws;
96101 }
@@ -99,8 +104,9 @@
100105 $row = $dbr->selectRow(
101106 'wikiset', '*', array( 'ws_id' => $id ), __METHOD__
102107 );
103 - if( !$row )
 108+ if ( !$row ) {
104109 return null;
 110+ }
105111 $ws = self::newFromRow( $row );
106112 $ws->saveToCache();
107113 return $ws;
@@ -117,8 +123,9 @@
118124 ), __METHOD__
119125 );
120126 $dbw->commit();
121 - if( !$this->mId )
 127+ if ( !$this->mId ) {
122128 $this->mId = $dbw->insertId();
 129+ }
123130 $this->purge();
124131 return (bool)$dbw->affectedRows();
125132 }
@@ -140,22 +147,24 @@
141148 public function saveToCache() {
142149 global $wgMemc;
143150 $data = array();
144 - foreach( self::$mCacheVars as $var ) {
 151+ foreach ( self::$mCacheVars as $var ) {
145152 $data[$var] = $this->$var;
146153 }
147154 $wgMemc->set( self::memcKey( $this->mId ), $data );
148155 }
149156
150157 public function getWikis() {
151 - if( $this->mType == self::OPTIN )
 158+ if ( $this->mType == self::OPTIN ) {
152159 return $this->mWikis;
 160+ }
153161 else
154162 return array_diff( CentralAuthUser::getWikiList(), $this->mWikis );
155163 }
156164
157165 public function inSet( $wiki = '' ) {
158 - if( !$wiki )
 166+ if ( !$wiki ) {
159167 $wiki = wfWikiID();
 168+ }
160169 return in_array( $wiki, $this->getWikis() );
161170 }
162171
@@ -165,8 +174,9 @@
166175 'global_group_restrictions', '*', array( 'ggr_set' => $this->mId ), __METHOD__
167176 );
168177 $result = array();
169 - foreach( $r as $row )
 178+ foreach ( $r as $row ) {
170179 $result[] = $row->ggr_group;
 180+ }
171181 return $result;
172182 }
173183
@@ -174,8 +184,9 @@
175185 $dbr = CentralAuthUser::getCentralSlaveDB();
176186 $res = $dbr->select( 'wikiset', '*', false, __METHOD__ );
177187 $result = array();
178 - while( $row = $dbr->fetchObject( $res ) )
 188+ while ( $row = $dbr->fetchObject( $res ) ) {
179189 $result[] = self::newFromRow( $row );
 190+ }
180191 return $result;
181192 }
182193
Index: trunk/extensions/CentralAuth/SpecialGlobalUsers.php
@@ -1,7 +1,6 @@
22 <?php
33
44 class SpecialGlobalUsers extends SpecialPage {
5 -
65 function __construct() {
76 wfLoadExtensionMessages( 'SpecialCentralAuth' );
87 parent::__construct( 'GlobalUsers' );
@@ -13,13 +12,13 @@
1413
1514 $pg = new GlobalUsersPager();
1615
17 - if( $par ) {
 16+ if ( $par ) {
1817 $pg->setGroup( $par );
1918 }
20 - if( $rqGroup = $wgRequest->getVal( 'group' ) ) {
 19+ if ( $rqGroup = $wgRequest->getVal( 'group' ) ) {
2120 $pg->setGroup( $rqGroup );
2221 }
23 - if( $rqUsername = $wgContLang->ucfirst( $wgRequest->getVal( 'username' ) ) ) {
 22+ if ( $rqUsername = $wgContLang->ucfirst( $wgRequest->getVal( 'username' ) ) ) {
2423 $pg->setUsername( $rqUsername );
2524 }
2625
@@ -39,12 +38,12 @@
4039 }
4140
4241 function setGroup( $group = '' ) {
43 - if( !$group ) {
 42+ if ( !$group ) {
4443 $this->mGroup = false;
4544 return;
4645 }
4746 $groups = array_keys( $this->getAllGroups() );
48 - if( in_array( $group, $groups ) ) {
 47+ if ( in_array( $group, $groups ) ) {
4948 $this->mGroup = $group;
5049 } else {
5150 $this->mGroup = false;
@@ -52,7 +51,7 @@
5352 }
5453
5554 function setUsername( $username = '' ) {
56 - if( !$username ) {
 55+ if ( !$username ) {
5756 $this->mUsername = false;
5857 return;
5958 }
@@ -65,8 +64,9 @@
6665
6766 function getDefaultQuery() {
6867 $query = parent::getDefaultQuery();
69 - if( !isset( $query['group'] ) && $this->mGroup )
 68+ if ( !isset( $query['group'] ) && $this->mGroup ) {
7069 $query['group'] = $this->mGroup;
 70+ }
7171 return $this->mDefaultQuery = $query;
7272
7373 }
@@ -75,11 +75,13 @@
7676 $localwiki = wfWikiID();
7777 $conds = array( 'gu_hidden' => CentralAuthUser::HIDDEN_NONE );
7878
79 - if( $this->mGroup )
 79+ if ( $this->mGroup ) {
8080 $conds['gug_group'] = $this->mGroup;
 81+ }
8182
82 - if( $this->mUsername )
 83+ if ( $this->mUsername ) {
8384 $conds[] = 'gu_name >= ' . $this->mDb->addQuotes( $this->mUsername );
 85+ }
8486
8587 return array(
8688 'tables' => " (globaluser LEFT JOIN localuser ON gu_name = lu_name AND lu_wiki = '{$localwiki}') LEFT JOIN global_user_groups ON gu_id = gug_user ",
@@ -98,9 +100,10 @@
99101 global $wgLang;
100102 $user = htmlspecialchars( $row->gu_name );
101103 $info = array();
102 - if( $row->gu_locked )
 104+ if ( $row->gu_locked ) {
103105 $info[] = wfMsgHtml( 'centralauth-listusers-locked' );
104 - if( $row->lu_attached_method ) {
 106+ }
 107+ if ( $row->lu_attached_method ) {
105108 $userPage = Title::makeTitle( NS_USER, $row->gu_name );
106109 $text = wfMsgHtml( 'centralauth-listusers-attached' );
107110 $info[] = $this->getSkin()->makeLinkObj( $userPage, $text );
@@ -108,7 +111,7 @@
109112 $info[] = wfMsgHtml( 'centralauth-listusers-nolocal' );
110113 }
111114 $groups = $this->getUserGroups( $row );
112 - if( $groups ) {
 115+ if ( $groups ) {
113116 $info[] = $groups;
114117 }
115118 $info = $wgLang->commaList( $info );
@@ -116,7 +119,7 @@
117120 }
118121
119122 function getBody() {
120 - if (!$this->mQueryDone) {
 123+ if ( !$this->mQueryDone ) {
121124 $this->doQuery();
122125 }
123126 $batch = new LinkBatch;
@@ -132,21 +135,23 @@
133136 }
134137
135138 function getUserGroups( $row ) {
136 - if( !$row->gug_numgroups )
 139+ if ( !$row->gug_numgroups ) {
137140 return false;
138 - if( $row->gug_numgroups == 1 ) {
 141+ }
 142+ if ( $row->gug_numgroups == 1 ) {
139143 return self::buildGroupLink( $row->gug_singlegroup );
140144 }
141145 $result = $this->mDb->select( 'global_user_groups', 'gug_group', array( 'gug_user' => $row->gu_id ), __METHOD__ );
142146 $rights = array();
143 - while( $row2 = $this->mDb->fetchObject( $result ) )
 147+ while ( $row2 = $this->mDb->fetchObject( $result ) ) {
144148 $rights[] = self::buildGroupLink( $row2->gug_group );
 149+ }
145150 return implode( ', ', $rights );
146151 }
147152
148153 function getAllGroups() {
149154 $result = array();
150 - foreach( CentralAuthUser::availableGlobalGroups() as $group ) {
 155+ foreach ( CentralAuthUser::availableGlobalGroups() as $group ) {
151156 $result[$group] = User::getGroupName( $group );
152157 }
153158 return $result;
Index: trunk/extensions/CentralAuth/CentralAuth.i18n.php
@@ -623,7 +623,7 @@
624624 Si bel usuario más ha pillato o suyo nombre d'usuario en atro sitio, podrá contautar con el u con un almenistrador más entadebant.",
625625 'centralauth-merge-step1-title' => 'Prenzipiar a unificazión de cuentas',
626626 'centralauth-merge-step1-detail' => "Por fabor, escriba aquí a suya palabra de paso.
627 -A suya palabra de paso y adreza de correu-e rechistrada se comprebarán con as d'atras wikis ta confirmar si concuerdan.
 627+A suya palabra de paso y adreza de correu-e rechistrada se comprebarán con as d'atras wikis ta confirmar si concuerdan.
628628 No se ferá garra cambio dica que confirme que to pareix conforme.",
629629 'centralauth-merge-step1-submit' => "Confirmar a informazión d'a cuenta",
630630 'centralauth-merge-step2-title' => 'Confirmar más cuentas',
@@ -632,7 +632,7 @@
633633 'centralauth-merge-dryrun-complete' => "Todas as cuentas esistents pueden unificar-se automaticament!
634634
635635 Encara no s'han feito cambios t'as cuentas",
636 - 'centralauth-merge-dryrun-incomplete' => "Puede continar, pero bellas cuentas no s'han puesto comprebar y por ixo no se migrarán contino. Podrá combinar istas cuentas dimpués.
 636+ 'centralauth-merge-dryrun-incomplete' => "Puede continar, pero bellas cuentas no s'han puesto comprebar y por ixo no se migrarán contino. Podrá combinar istas cuentas dimpués.
637637
638638 Encara no s'han feito cambios t'as suyas cuentas.",
639639 'centralauth-merge-dryrun-or' => "'''u'''",
@@ -707,7 +707,7 @@
708708 'centralauth-admin-already-unmerged' => 'Se brinca $1, ya deseparata.',
709709 'centralauth-admin-unmerge-success' => "S'{{PLURAL:$1|ha|han}} deseparato con esito $1 {{PLURAL:$1|cuenta|cuentas}}",
710710 'centralauth-admin-delete-title' => 'Borrar a cuenta',
711 - 'centralauth-admin-delete-description' => "En borrar a cuenta global borrará todas as preferenzias globals, esligará todas as cuentas locals y deixará o nombre global libre ta que atro usuario pueda pillar-lo.
 711+ 'centralauth-admin-delete-description' => "En borrar a cuenta global borrará todas as preferenzias globals, esligará todas as cuentas locals y deixará o nombre global libre ta que atro usuario pueda pillar-lo.
712712 Todas as cuentas locals continarán esistindo.
713713 As palabras de paso t'as cuentas locals creyatas antis d'a unificazión tornarán a estar as que yeran antis d'a mesma.",
714714 'centralauth-admin-delete-button' => 'Borrar esta cuenta',
@@ -1853,7 +1853,7 @@
18541854 Калі хто-небудзь заняў Вашае імя ўдзельніка на адным з праектаў, Ваш рахунак з чужым не аб'яднаецца, але Вы зможаце вырашыць гэтае пытаньне потым з удзельнікам альбо адміністратарам.",
18551855 'centralauth-merge-step1-title' => "Пачатак аб'яднаньня рахункаў",
18561856 'centralauth-merge-step1-detail' => 'Калі ласка, увядзіце тут пароль Вашага рахунка.
1857 -Ваш пароль і адрас электроннай пошты будуць параўнаныя са зьвесткамі рахункаў у іншых вікі-праектах.
 1857+Ваш пароль і адрас электроннай пошты будуць параўнаныя са зьвесткамі рахункаў у іншых вікі-праектах.
18581858 Зьмены ня будуць праведзеныя, пакуль Вы не пацьвердзіце правільнасьць супастаўленьня.',
18591859 'centralauth-merge-step1-submit' => 'Пацьвердзіць інфармацыю пра рахунак',
18601860 'centralauth-merge-step2-title' => 'Пацьвердзіць дадатковыя рахункі',
@@ -2063,7 +2063,7 @@
20642064 Вы запыталі гэтую старонку бяз зьвестак аўтэнтыфікацыі, з-за гэтага нічога не адбываецца.',
20652065 'globalgroupmembership' => 'Удзел у глябальных групах',
20662066 'globalgrouppermissions' => 'Кіраваньне глябальнымі групамі',
2067 - 'centralauth-globalgroupperms-grouplist' => 'Былі створаныя наступныя глябальныя групы.
 2067+ 'centralauth-globalgroupperms-grouplist' => 'Былі створаныя наступныя глябальныя групы.
20682068 Вы можаце паглядзець і зьмяніць правы кожнай групы, калі маеце на гэта дазвол.
20692069 Група можа быць выдаленая праз выдаленьне зь яе ўсіх правоў.',
20702070 'centralauth-globalgroupperms-grouplistitem' => '$1 ([[Special:GlobalGroupPermissions/$2|прагляд/рэдагаваньне]])',
@@ -2154,7 +2154,7 @@
21552155 Ако някой друг вече е резервирал вашето потребителско име в друг проект, направената от вас единна сметка няма да му попречи да редактира, но ще ви даде възможност по-късно да преговаряте с потребителя да ви отстъпи тази сметка, или да поискате узурпирането и&#768; от бюрократ.",
21562156 'centralauth-merge-step1-title' => 'Започване на обединението на сметки',
21572157 'centralauth-merge-step1-detail' => 'Необходимо е да въведете тук паролата за сметката си.
2158 -Вашата парола и посоченият адрес за електронна поща ще бъдат сравнени със сметките в другите уикита, за да се потвърди съответствието между тях.
 2158+Вашата парола и посоченият адрес за електронна поща ще бъдат сравнени със сметките в другите уикита, за да се потвърди съответствието между тях.
21592159 Няма да се предприемат промени, докато не потвърдите, че всичко изглежда наред.',
21602160 'centralauth-merge-step1-submit' => 'Потвърждаване на информацията за влизане',
21612161 'centralauth-merge-step2-title' => 'Потвърждаване на още сметки',
@@ -2639,7 +2639,7 @@
26402640 'centralauth-finish-password' => 'Ger-tremen :',
26412641 'centralauth-finish-login' => 'Kont implijer :',
26422642 'centralauth-finish-send-confirmation' => 'Kas ar ger-tremen dre bostel',
2643 - 'centralauth-finish-problems' => "Ma c'hoarvez kudennoù pe ma noc'h ket perc'henn war ar c'hontoù-se,
 2643+ 'centralauth-finish-problems' => "Ma c'hoarvez kudennoù pe ma noc'h ket perc'henn war ar c'hontoù-se,
26442644 sellit ouzh [[meta:Help:Unified login problems|Penaos bezañ skoazellet]]…",
26452645 'centralauth-finish-noconfirms' => "N'eus bet gallet kadarnaat kont ebet gant ar ger-tremen-se.",
26462646 'centralauth-finish-incomplete' => "Meur a gont zo bet kendeuzet en ur implijout ar ger-tremen-se.
@@ -4277,7 +4277,7 @@
42784278 Eka yewna merdim name tu guret, ma yin bêrexet niken, feqat ti eşkeno yin ra piya bihebit ya zi bace yew îdarekar ra.",
42794279 'centralauth-merge-step1-title' => 'Yew kerdişê cikewtîşî başli bike',
42804280 'centralauth-merge-step1-detail' => 'Ma rica keno paraloya hesabê xo îtiya de bike.
4281 -Ma Paralo u adresê e-maîlê tu, ser hesabanê ke wîkîyan bînan de ser înan rê kontrol keno.
 4281+Ma Paralo u adresê e-maîlê tu, ser hesabanê ke wîkîyan bînan de ser înan rê kontrol keno.
42824282 Ma hesabê tu nivurneno heta tu konfirme bike ke her çî normal o.',
42834283 'centralauth-merge-step1-submit' => 'Enformasyonê cikewtîşî konfirme bike',
42844284 'centralauth-merge-step2-title' => 'Hesabanê binî konfirme bike',
@@ -4287,7 +4287,7 @@
42884288 'centralauth-merge-dryrun-complete' => 'Hesabanê hemî eşkeno otomatik biyo yew!
42894289
42904290 Hesabanê tu hama nivuriya.',
4291 - 'centralauth-merge-dryrun-incomplete' => 'Nika ti eşkeno dewam bike, feqat tay hesaban ke ma nieşke otomatik konfirme bike, aye ra neqil kerdiş nibeno.
 4291+ 'centralauth-merge-dryrun-incomplete' => 'Nika ti eşkeno dewam bike, feqat tay hesaban ke ma nieşke otomatik konfirme bike, aye ra neqil kerdiş nibeno.
42924292 Feqt ti eşkeno bace ena hesaban yew bike.
42934293
42944294 Hesabanê tu hama nivuriya.',
@@ -4313,7 +4313,7 @@
43144314 Ma rica keno yew îdarakar rê yew mesaj bişirav ke ma unblok bike.
43154315 Nika ti nieşkeno hesabanê xo yew biker.',
43164316 'centralauth-notice-dryrun' => "<div class='successbox'>Teyna mode demo</div><br clear='all'/>",
4317 - 'centralauth-disabled-dryrun' => 'Hesabê yewinî hewna versiyonê demo / modê debugî de, yanî operasyonê yew kerdişî qefiniyayiyo.
 4317+ 'centralauth-disabled-dryrun' => 'Hesabê yewinî hewna versiyonê demo / modê debugî de, yanî operasyonê yew kerdişî qefiniyayiyo.
43184318 Ma ef bike!',
43194319 'centralauth-error-locked' => 'Ti nieşkeno bivurne çunkî hesabê tu kilit biyo.',
43204320 'centralauth-readmore-text' => ":''[[meta:Help:Unified login|Ser '''cikewtîşê yewî''' biwane]]…''",
@@ -4338,10 +4338,10 @@
43394339 'centralauth-finish-password' => 'Parola:',
43404340 'centralauth-finish-login' => 'Cikewtîş',
43414341 'centralauth-finish-send-confirmation' => 'Parala email ra bişirav',
4342 - 'centralauth-finish-problems' => 'Sistem ti ra zor dano? Ya zi ti wahirê hesabanê binan niyo?
 4342+ 'centralauth-finish-problems' => 'Sistem ti ra zor dano? Ya zi ti wahirê hesabanê binan niyo?
43434343 [[meta:Help:Unified login problems|Ti seni yardim vîneno]] ...',
43444344 'centralauth-finish-noconfirms' => 'Ser ena paralo hesab çini yo.',
4345 - 'centralauth-finish-incomplete' => 'Yew di hesab ser ena parola de yew biyo.
 4345+ 'centralauth-finish-incomplete' => 'Yew di hesab ser ena parola de yew biyo.
43464346 Hesabanê binan hewna konfirme nibiyo.',
43474347 'centralauth-merge-attempt' => "'''Ser hesabanê yew kerdişî, parola kontrol keno…'''",
43484348 'centralauth-attach-list-attached' => 'Hesabê yew biyayîyê $1de enê hesaban estê:',
@@ -4378,8 +4378,8 @@
43794379 'centralauth-admin-already-unmerged' => '$1 ra şino, zaten ciy biyo',
43804380 'centralauth-admin-unmerge-success' => '$1 {{PLURAL:$1|hesab|hesaban}} ciya kerdo',
43814381 'centralauth-admin-delete-title' => 'Hesab biwedarne',
4382 - 'centralauth-admin-delete-description' => 'Esterayişê ena hesabê globalî tercihanê globalî, wedarneno, hesabanê lokalî qerifeno u eno nameyê globalî karberanê bînan ra a beno.
4383 -Hesabanê lokalî niqefilneno.
 4382+ 'centralauth-admin-delete-description' => 'Esterayişê ena hesabê globalî tercihanê globalî, wedarneno, hesabanê lokalî qerifeno u eno nameyê globalî karberanê bînan ra a beno.
 4383+Hesabanê lokalî niqefilneno.
43844384 Paralanê ke qe hesabanê lokalan reset beno u şino paralonê verinî.',
43854385 'centralauth-admin-delete-button' => 'Ena hesab biwedarne',
43864386 'centralauth-admin-delete-success' => 'Qe "<nowiki>$1</nowiki>" hesabê globalî wedarne',
@@ -4449,12 +4449,12 @@
44504450 'centralauth-rightslog-set-optin' => 'ser opt-in',
44514451 'centralauth-rightslog-set-optout' => 'ser opt-out',
44524452 'autologin' => 'Cikewtîşê otomatîkî',
4453 - 'centralauth-autologin-desc' => 'Ena pela xasî MediyaWîkî de sero kar beno.
4454 -Çi wext ti [[Special:UserLogin|cikewtene]], sistemê cikewtiş ê merkezî browserê tu ra emir dano ke ena pele link biyo.
 4453+ 'centralauth-autologin-desc' => 'Ena pela xasî MediyaWîkî de sero kar beno.
 4454+Çi wext ti [[Special:UserLogin|cikewtene]], sistemê cikewtiş ê merkezî browserê tu ra emir dano ke ena pele link biyo.
44554455 Ti ena pele waşto feqet datayê tu authentic niyo, aye ra nihebitiyeno.',
44564456 'globalgroupmembership' => 'Grupanê globayan de eza biyayîş',
44574457 'globalgrouppermissions' => 'Îdare kerdişê grupê globalî',
4458 - 'centralauth-globalgroupperms-grouplist' => 'Enê grupanê globalî konfigure biyo.
 4458+ 'centralauth-globalgroupperms-grouplist' => 'Enê grupanê globalî konfigure biyo.
44594459 Eka iznê tu esto, ti eşkeno desturanê yew grupî bivîn u bivurne.
44604460 Yew grup belki esteriyeno eka ti heqanê hemî biwedaro.',
44614461 'centralauth-globalgroupperms-grouplistitem' => '$1 ([[Special:GlobalGroupPermissions/$2|bivîne/bivurne]])',
@@ -4481,7 +4481,7 @@
44824482 'centralauth-editgroup-perms' => 'Desturan bide:',
44834483 'centralauth-editgroup-reason' => 'Sebeb:',
44844484 'centralauth-editgroup-success' => 'Desturanê gruban vurîya',
4485 - 'centralauth-editgroup-success-text' => 'Qe grupê $1î ti desturan da.
 4485+ 'centralauth-editgroup-success-text' => 'Qe grupê $1î ti desturan da.
44864486 [[Special:GlobalGroupPermissions|Îdareyê grupî rê reyna şi]]',
44874487 'centralauth-editgroup-editsets' => '([[Special:EditWikiSets|bivurne]])',
44884488 'centralauth-globalgrouppermissions-knownwiki' => 'Wîkîyê ke hesabê tu esto:',
@@ -4589,7 +4589,7 @@
45904590 'centralauth-merge-method-empty-desc' => 'Pódawa, až lokalne konto jo se zjadnośiło, dokulaž njejo měło změny.',
45914591 'centralauth-merge-method-mail-desc' => 'Pódawa, až lokalne konto jo se zjadnośiła, dokulaž jogo e-mailowa adresa jo wótpowědowało e-mealowej adresy głownego konta.',
45924592 'centralauth-merge-method-password-desc' => 'Pódawa, až lokalne konto jo se zjadnośiło, dokulaž wužywaŕ jo pódał płaśiwe gronidło za njo.',
4593 - 'centralauth-merge-method-admin-desc' => 'Pódawa, až lokalne konto jo se manuelnje zjadnośiło wót stewardow.
 4593+ 'centralauth-merge-method-admin-desc' => 'Pódawa, až lokalne konto jo se manuelnje zjadnośiło wót stewardow.
45944594 Toś ta funkcija jo něnto z pśicynow wěstoty znjemóžnjona.',
45954595 'centralauth-merge-method-new-desc' => 'Pódawa, až globalne konto jo se awtomatiski napórało, gaž lokalne konto jo se napórało.',
45964596 'centralauth-merge-method-login-desc' => 'Pódawa, až lokalne konto jo se awtomatiski napórało, gaž wužywaŕ jo se pśizjawił.',
@@ -4844,7 +4844,7 @@
48454845 Εάν κάποιος άλλος έχει ήδη πάρει το όνομα χρήστη σας σε άλλον ιστότοπο, αυτό δεν θα τον ενοχλήσει, θα σας δωθεί όμως την ευκαιρία αργότερα να λύσετε το πρόβλημα μαζί του ή με κάποιον διαχειριστή.",
48464846 'centralauth-merge-step1-title' => 'Έναρξη ενοποίησης των λογαριασμών',
48474847 'centralauth-merge-step1-detail' => 'Παρακαλώ εισάγεται τον κωδικό του λογαριασμού σας.
4848 -Ο κωδικός σας και η ηλεκτρονική διεύθυνση που έχετε δηλώσει θα υποβληθούν σε έλεγχο με τους λογαριασμούς σε άλλα εγχειρήματα για να επιβεβαιωθεί ότι ταιριάζουν.
 4848+Ο κωδικός σας και η ηλεκτρονική διεύθυνση που έχετε δηλώσει θα υποβληθούν σε έλεγχο με τους λογαριασμούς σε άλλα εγχειρήματα για να επιβεβαιωθεί ότι ταιριάζουν.
48494849 Δεν θα γίνει καμία αλλαγή έως ότου επιβεβαιώσετε ότι τα πάντα είναι εντάξει.',
48504850 'centralauth-merge-step1-submit' => 'Επαλήθευση των πληροφοριών σύνδεσης',
48514851 'centralauth-merge-step2-title' => 'Επιβεβαίωση περισσότερων λογαριασμών',
@@ -5101,27 +5101,27 @@
51025102 'centralauth-merge-notlogged' => 'Bonvolu <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto={{#special:MergeAccount}}}} ensaluti]</span> por kontroli ĉu viaj kontoj ja plene kunfandiĝis.',
51035103 'centralauth-merge-welcome' => "'''Via uzanto-konto ne jam estis migrigita al unuigita salutsistemo de {{MediaWiki:Centralauth-groupname}}.'''
51045104
5105 -Se vi elektas migrigi viajn kontojn, vi povos uzi la saman uzulnomon kaj pasvorton por ensaluti en cxiuj vikioj de la projektoj de {{MediaWiki:Centralauth-groupname}} en ĉiuj haveblaj lingvoj.
 5105+Se vi elektas migrigi viajn kontojn, vi povos uzi la saman uzulnomon kaj pasvorton por ensaluti en cxiuj vikioj de la projektoj de {{MediaWiki:Centralauth-groupname}} en ĉiuj haveblaj lingvoj.
51065106
51075107 Se iu alia jam prenis vian uzanto-nomon sur alia paĝaro, tio donos al vi ŝancon ekrilati kun tiu aŭ kun administranto pli poste.",
51085108 'centralauth-merge-step1-title' => 'Komenci salutnoman unuigadon.',
51095109 'centralauth-merge-step1-detail' => 'Bonvolu enigi ĉi tie la pasvorton de via konto.
5110 -Via pasvorto kaj registrita retadreso estos kontrolitaj kompare kun la kontoj sur aliaj vikioj por konfirmi ke ili kongruas.
 5110+Via pasvorto kaj registrita retadreso estos kontrolitaj kompare kun la kontoj sur aliaj vikioj por konfirmi ke ili kongruas.
51115111 Neniu ŝanĝo estos farita ĝis vi konfirmos ke ĉio aspektas en ordo.',
51125112 'centralauth-merge-step1-submit' => 'Konfirmi salutadan informon',
51135113 'centralauth-merge-step2-title' => 'Konfirmi pluajn kontojn',
5114 - 'centralauth-merge-step2-detail' => 'Iuj el la kontoj ne povis esti aŭtomate ligitaj al la menciita hejma vikio.
 5114+ 'centralauth-merge-step2-detail' => 'Iuj el la kontoj ne povis esti aŭtomate ligitaj al la menciita hejma vikio.
51155115 Se ĉi tiuj kontoj apartenas al vi, vi povas konfirmi, ke ili estas viaj provizante la pasvorton por ili.',
51165116 'centralauth-merge-step2-submit' => 'Konfirmi salutinformon',
51175117 'centralauth-merge-dryrun-complete' => 'Ĉiuj ekzistantaj kontoj povas esti aŭtomate unuigita!
51185118
51195119 Neniu sxanĝo estis jam farita al viaj kontoj.',
5120 - 'centralauth-merge-dryrun-incomplete' => 'Vi decidis daŭrigi sed iuj kontoj ne povis esti aŭtomate kontrolitaj kaj ne estos migrigitaj tuje.
5121 -Vi povos tion fari pli poste.
 5120+ 'centralauth-merge-dryrun-incomplete' => 'Vi decidis daŭrigi sed iuj kontoj ne povis esti aŭtomate kontrolitaj kaj ne estos migrigitaj tuje.
 5121+Vi povos tion fari pli poste.
51225122
51235123 Neniu sxanĝo estis jam farita al viaj kontoj.',
51245124 'centralauth-merge-dryrun-or' => "'''aŭ'''",
5125 - 'centralauth-merge-dryrun-home' => 'La migrada sistemo ne povis konfirmi ke vi estas la posedanto de la konto en la hejma vikio por via saltunomo.
 5125+ 'centralauth-merge-dryrun-home' => 'La migrada sistemo ne povis konfirmi ke vi estas la posedanto de la konto en la hejma vikio por via saltunomo.
51265126
51275127 Alia vikio estis difinita kiel hejma konto por via salutnomo; sekvu la ligilon suban kaj ensalutu tie por finfari la migrigon de via konto.',
51285128 'centralauth-merge-step3-title' => 'Krei unuigitan konton',
@@ -5314,8 +5314,8 @@
53155315 Vi petis ĉi tiun paĝon sen donante ian ajn aŭtentoinformon, do ĝi faras nenion.',
53165316 'globalgroupmembership' => 'Membreco en ĝeneralaj grupoj',
53175317 'globalgrouppermissions' => 'Ĝenerala administrado de grupoj',
5318 - 'centralauth-globalgroupperms-grouplist' => 'La jenaj ĝeneralaj grupoj estis konfiguritaj.
5319 -Vi povas vidi aŭ redakti la rajtojn asignitajn al ĉiu grupo, se vi havas tian ĝustan rajton.
 5318+ 'centralauth-globalgroupperms-grouplist' => 'La jenaj ĝeneralaj grupoj estis konfiguritaj.
 5319+Vi povas vidi aŭ redakti la rajtojn asignitajn al ĉiu grupo, se vi havas tian ĝustan rajton.
53205320 Vi povas forigi grupon per forigo de ĉiuj ĝiaj rajtoj.',
53215321 'centralauth-globalgroupperms-grouplistitem' => '$1 ([[Special:GlobalGroupPermissions/$2|vidi/redakti]])',
53225322 'centralauth-globalgroupperms-nogroups' => 'Neniuj ĝeneralaj grupoj estas difinitaj.',
@@ -5346,7 +5346,7 @@
53475347 'centralauth-editset' => 'Vikiaroj',
53485348 'centralauth-editset-legend-rw' => 'Redakti aŭ krei vikiaron',
53495349 'centralauth-editset-legend-ro' => 'Listo de vikiaroj',
5350 - 'centralauth-editset-intro-rw' => 'La jenaj vikiaroj estis jam kreitaj.
 5350+ 'centralauth-editset-intro-rw' => 'La jenaj vikiaroj estis jam kreitaj.
53515351 Vi povas vidi kaj modifi iujn el ili, aŭ krei novan vikiaron.',
53525352 'centralauth-editset-intro-ro' => 'Jen listo de ekzistantaj vikiaroj.',
53535353 'centralauth-editset-item-rw' => '[[Special:WikiSets/$2|$1]] ([[Special:WikiSets/delete/$2|forigi]])',
@@ -7997,7 +7997,7 @@
79987998 अगर किसी औरने आपका सदस्यनाम पहले से ले लिया हैं तो आप उनसे संपर्क करके अथवा प्रबंधकोंके द्वारा बदलाव किये जा सकतें हैं।",
79997999 'centralauth-merge-step1-title' => 'खाता एकत्रिकरण शुरू करें',
80008000 'centralauth-merge-step1-detail' => 'कृपया आपका कूटशब्द यहाँ लिखें।
8001 -आपका कूटशब्द और इ-मेल एड्रेस अन्य विकियों के साथ जाँचा जायेगा।
 8001+आपका कूटशब्द और इ-मेल एड्रेस अन्य विकियों के साथ जाँचा जायेगा।
80028002 जब तक आप अनुमति नहीं देते तब तक कोई भी बदलाव नहीं किये जायेंगे।',
80038003 'centralauth-merge-step1-submit' => 'खाता ज़ानकारी को सहमती दें',
80048004 'centralauth-merge-step2-title' => 'अन्य खाता निश्चित करें',
@@ -8058,7 +8058,7 @@
80598059 'centralauth-merge-attempt' => "'''आपका दिया हुआ कूटशब्द अन्य समावेश न हुए अकाउंट के लिये परखा जा रहा हैं...'''",
80608060 'centralauth-attach-list-attached' => '"$1" इस एकत्रित अकाउंटमें निम्नलिखित अकाउंट हैं:',
80618061 'centralauth-attach-title' => 'खाता निश्चिती करें',
8062 - 'centralauth-attach-text' => 'यह अकाउंट एकत्रित अकाउंटमें नहीं हैं।
 8062+ 'centralauth-attach-text' => 'यह अकाउंट एकत्रित अकाउंटमें नहीं हैं।
80638063 अगर एकत्रित अकाउंट आपकाही हैं, तो उसका कूटशब्द देकर आप इसे जोड सकतें हैं:',
80648064 'centralauth-attach-submit' => 'खाता स्थलांतरित करें',
80658065 'centralauth-attach-success' => 'खाता एकत्रित खातेसे जोड दिया गया हैं।',
@@ -8196,7 +8196,7 @@
81978197 Ukoliko je netko već uporabio vaše ime/nadimak na nekom drugom projektu, ovo neće smetati niti jednu stranu, nego će vam dati šansu da se konflikt naknadno riješi s njima ili administratorom.",
81988198 'centralauth-merge-step1-title' => 'Počni spajanje suradničkih računa',
81998199 'centralauth-merge-step1-detail' => 'Ovdje unesite lozinku za svoj suradnički račun.
8200 -Vaša lozinka i prijavljena e-mail adresa će biti uspoređeni s podacima na drugim wikijima da se ustanovi da li odgovaraju jedni drugima.
 8200+Vaša lozinka i prijavljena e-mail adresa će biti uspoređeni s podacima na drugim wikijima da se ustanovi da li odgovaraju jedni drugima.
82018201 Promjene neće biti izvršene dok ne potvrdite da je sve u redu.',
82028202 'centralauth-merge-step1-submit' => 'Potvrdi podatke o prijavi',
82038203 'centralauth-merge-step2-title' => 'Potvrdi više suradničkih računa',
@@ -8427,7 +8427,7 @@
84288428 'centralauth-merge-notlogged' => 'Prošu <span class="plainlinks"> [{{fullurl:{{#special:UserLogin}}|returnto={{#special:MergeAccount}}}} přizjew so]</span>, zo by přepruwował, hač su so twoje wužiwarske konta dospołnje zjednoćili.',
84298429 'centralauth-merge-welcome' => "'''Twoje wužiwarske konto njeje so hišće do zhromadneho systema přizjewjenja {{MediaWiki:Centralauth-groupname}} přeměstniło.'''
84308430
8431 -Hdyž so rozsudźiš twoje konta přeměstnić, budźe móžno smasne wužiwarske mjeno a hesło we wšěch
 8431+Hdyž so rozsudźiš twoje konta přeměstnić, budźe móžno smasne wužiwarske mjeno a hesło we wšěch
84328432 wikijach {{MediaWiki:Centralauth-groupname}} we wšěch k dispoziciji stejacych rěčach wužiwać.
84338433
84348434 Jeli něchtó druhi twoje wužiwarske mjeno na druhim sydle wužiwa, njebudźe to mylić. ale da ći móžnosć z tym wužiwarjom abo administratorom tón problem pozdźišo rozrisać.",
@@ -10227,9 +10227,9 @@
1022810228 'centralauth-desc' => '[[Special:MergeAccount|Merge bruger]] en Wikimedia Fundåsje wikier',
1022910229 'centralauth-mergeaccount-desc' => '[[Special:MergeAccount|Merge multiiple bruger]] før Lænsøm Bruger Loĝ På',
1023010230 'centralauth-merge-denied' => 'Unskyld, du harst ekke permisje til aksesær dette pæge.',
10231 - 'centralauth-merge-welcome' => "'''Your bruger beretning har ikke endnu blevet migræne hen til Wikimedia's samlet login system.'''
 10231+ 'centralauth-merge-welcome' => "'''Your bruger beretning har ikke endnu blevet migræne hen til Wikimedia's samlet login system.'''
1023210232
10233 -Selv om jer gide hen til migræne jeres regnskab , du vil være i stand til hjælp den samme username og password hen til log i hen til al i Wikimedia's planlægge wikis i alt anvendelig sprogene. Indeværende gør sig lettere hen til operere med delt anlægsarbejder såsom sender hen til [http://commons.wikimedia.org/ Wikimedia Commons], og forhindrer den sammenblanding eller konflikt at kunne opstå af to folk piller den samme username oven på anderledes anlægsarbejder.
 10233+Selv om jer gide hen til migræne jeres regnskab , du vil være i stand til hjælp den samme username og password hen til log i hen til al i Wikimedia's planlægge wikis i alt anvendelig sprogene. Indeværende gør sig lettere hen til operere med delt anlægsarbejder såsom sender hen til [http://commons.wikimedia.org/ Wikimedia Commons], og forhindrer den sammenblanding eller konflikt at kunne opstå af to folk piller den samme username oven på anderledes anlægsarbejder.
1023410234
1023510235 Selv om nogen ellers har allerede taget jeres username oven på en anden arbejdsplads indeværende vil ikke forstyrre sig , men sig vil indrømme jer en hændelse hen til beregne hos sig eller en administrator senere.",
1023610236 'centralauth-merge-step1-title' => 'Bigynde login unifikåsje',
@@ -10245,7 +10245,7 @@
1024610246 'centralauth-incomplete' => 'Login unifikåsje udun!',
1024710247 'centralauth-complete-text' => 'Jer kunne nu log i hen til hvilken som helst Wikimedia wiki arbejdsplads uden skaber en ny beretning ; den samme username og password vil arbejde med Wikipedia Wiktionary Wikibooks , og deres afdelingssygeplejersken anlægsarbejder i alt sprogene.',
1024810248 'centralauth-incomplete-text' => 'Når først jeres login er samlet , jer vil være i stand til log i hen til hvilken som helst Wikimedia wiki arbejdsplads uden skaber en ny beretning ; den samme username og password vil arbejde med Wikipedia Wiktionary Wikibooks , og deres afdelingssygeplejersken anlægsarbejder i alt sprogene.',
10249 - 'centralauth-not-owner-text' => 'Den username "$1" var automatisk bestemt hen til den indehaver i den beretning oven på $2.
 10249+ 'centralauth-not-owner-text' => 'Den username "$1" var automatisk bestemt hen til den indehaver i den beretning oven på $2.
1025010250
1025110251 Selv om indeværende er jer , jer kunne komme ind den login unification oparbejde simpelt hen ved at taste den lærer password nemlig at beretning her ovre :',
1025210252 'centralauth-notice-dryrun' => "<div class='successbox'>Demo mode ålen</div><br clear='all'/>",
@@ -10285,7 +10285,7 @@
1028610286 Yèn wong liya wis njupuk jeneng panganggo panjenengan ing situs liya, perkara iki ora bakal ngrusuhi wong iku, nanging mengkoné perkara iki bisa mènèhi panjenengan kasempatan kanggo golèk solusi ing masalah iki karo wong iku utawa sang pangurus/kuncèné ing proyèk iku.",
1028710287 'centralauth-merge-step1-title' => 'Miwitana unifikasi log mlebu',
1028810288 'centralauth-merge-step1-detail' => 'Mangga isi tembung sandi akun panjenengan.
10289 -Tembung sandi lan alamat e-mail panjenengan bakal dibandhingaké karo akun ing wiki-wiki liyané kanggo ndhedhes kacocogané.
 10289+Tembung sandi lan alamat e-mail panjenengan bakal dibandhingaké karo akun ing wiki-wiki liyané kanggo ndhedhes kacocogané.
1029010290 Owah-owahan ora bisa dilakoni nganti panjenengan ndhedhes yèn ora ana masalah.',
1029110291 'centralauth-merge-step1-submit' => 'Dhedhesen (konfirmasi) log mlebu',
1029210292 'centralauth-merge-step2-title' => 'Konfirmasi rékening (akun) liya',
@@ -10436,8 +10436,8 @@
1043710437 Panjenengan wis ngaksès kaca iki tanpa mènèhi data otentikasi, saéngga kaca iki ora mènèhi réaksi apa-apa.',
1043810438 'globalgroupmembership' => 'Kaanggotan ing kelompok-kelompok global',
1043910439 'globalgrouppermissions' => 'Ngurus kelompok global',
10440 - 'centralauth-globalgroupperms-grouplist' => 'Klompok global sing kapacak ing ngisor iki wis dikonfigurasi.
10441 -Panjenengan bisa ndeleng utawa nyunting hak sing diwènèhaké ing saben klompok, yèn panjenengan nduwèni hak kanggo kuwi.
 10440+ 'centralauth-globalgroupperms-grouplist' => 'Klompok global sing kapacak ing ngisor iki wis dikonfigurasi.
 10441+Panjenengan bisa ndeleng utawa nyunting hak sing diwènèhaké ing saben klompok, yèn panjenengan nduwèni hak kanggo kuwi.
1044210442 Sawijining klompok bisa dibusak kanthi ngilangi kabèh hak saka klompok iku.',
1044310443 'centralauth-globalgroupperms-grouplistitem' => '$1 ([[Special:GlobalGroupPermissions/$2|deleng/sunting]])',
1044410444 'centralauth-existinggroup-legend' => 'Kelompok-kelompok sing wis ana',
@@ -10558,7 +10558,7 @@
1055910559 'centralauth-admin-already-unmerged' => ' გატარება $1 უკვე დაყოფილია',
1056010560 'centralauth-admin-unmerge-success' => 'წარმატებით დაიყო $1 {{PLURAL:$1|ანგარიში|ანგარიშები|ანგარიშების}}',
1056110561 'centralauth-admin-delete-title' => 'ანგარიშის წაშლა',
10562 - 'centralauth-admin-delete-description' => 'გლობალური ანგარიშის წაშლა გამოიწვევს გლობალური კონფიგურაციის წაშლას, ყველა ანგარიშის გაყოფას და გლობალური ანგარიშის სახელის განთავისუფლება, რაც მისცემს სხვა მომხმარებელს დაიკავოს ეს სახელი.
 10562+ 'centralauth-admin-delete-description' => 'გლობალური ანგარიშის წაშლა გამოიწვევს გლობალური კონფიგურაციის წაშლას, ყველა ანგარიშის გაყოფას და გლობალური ანგარიშის სახელის განთავისუფლება, რაც მისცემს სხვა მომხმარებელს დაიკავოს ეს სახელი.
1056310563 ყველა ლოკალური ანგარიში გააგრძელებს არსებობას.
1056410564 იმ ლოკალური ანგარიშების პაროლები, როლებიც გაერთიანებამდე შეიქმნა, დაიბრუნებენ პირვანდელ კომბინაციებს.
1056510565 Все локальные учётные записи продолжат существовать.
@@ -11719,7 +11719,7 @@
1172011720 'centralauth-attach-list-attached' => 'Di jemeinsame Aanmeldung met däm Metmaacher-Name „$1“ ömfaß:',
1172111721 'centralauth-attach-title' => 'Aanmeldung bestätije',
1172211722 'centralauth-attach-text' => 'Di Aanmeldung als ene Metmaacher wood noch nit an en
11723 -jemeinsame Aanmeldung aanjehange.
 11723+jemeinsame Aanmeldung aanjehange.
1172411724 Wann et esu es, dat och de jemeinsame Aanmeldung
1172511725 met dämm Name de Dinge es, dann kanns De och hee di
1172611726 Aanmeldung bei di Jemeinsame dobei donn, indämm dat
@@ -12240,7 +12240,7 @@
1224112241 'centralauth-merge-notlogged' => '<span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto={{#special:MergeAccount}}}} Meld dich aan]</span> óm te controlere of dien gebroekersaccounts al-oet zeen samegevoog.',
1224212242 'centralauth-merge-welcome' => "'''Dien gebroekersaccount is nog neet gemigreerd nao 't samegevoog aanmeldsysteem van {{MediaWiki:Centralauth-groupname}}.'''
1224312243
12244 -Es te d'rveur keus óm dien gebroekersaccounts te migrere, den kèns te dich mit dezelfde gebroekersnaam-wachwaordcombinatie aanmelje bie alle projekte van {{MediaWiki:Centralauth-groupname}} in alle besjikbaar täöl.
 12244+Es te d'rveur keus óm dien gebroekersaccounts te migrere, den kèns te dich mit dezelfde gebroekersnaam-wachwaordcombinatie aanmelje bie alle projekte van {{MediaWiki:Centralauth-groupname}} in alle besjikbaar täöl.
1224512245
1224612246 Es emes angers mit diene gebroekersnaam al actief is op 'ne angere site, den haet det gein gevolge veur dae gebroeker. De höbs de mäögelikheid det mit dae gebroeker of 'ne beheerder op 'n later memènt op te losse.",
1224712247 'centralauth-merge-step1-title' => 'Begin gebroekerssamevoege',
@@ -13196,7 +13196,7 @@
1319713197 കാര്യങ്ങൾ എല്ലാം ശരിയാണെന്നു താങ്കൾ ഉറപ്പിക്കുന്നതു വരെ ഒരു മാറ്റവും വരുത്തുന്നതല്ല.',
1319813198 'centralauth-merge-step1-submit' => 'ലോഗിൻ വിവരം സ്ഥിരീകരിക്കുക',
1319913199 'centralauth-merge-step2-title' => 'കൂടുതൽ അംഗത്വങ്ങൾ സ്ഥിരീകരിക്കുക',
13200 - 'centralauth-merge-step2-detail' => 'ചില അംഗത്വങ്ങൾക്ക് തറവാട് വിക്കിയിലെ അംഗത്വവുമായി യാന്ത്രികമായി ചേർച്ചയില്ല എന്നു കാണുന്നു.
 13200+ 'centralauth-merge-step2-detail' => 'ചില അംഗത്വങ്ങൾക്ക് തറവാട് വിക്കിയിലെ അംഗത്വവുമായി യാന്ത്രികമായി ചേർച്ചയില്ല എന്നു കാണുന്നു.
1320113201 ഈ അംഗത്വങ്ങൾ താങ്കളുടെ തന്നെയാണെന്നുറപ്പുണ്ടെങ്കിൽ ശരിയായ രഹസ്യവാക്ക് കൊടുത്ത് താങ്കൾക്ക് ഈ അംഗത്വങ്ങളെ താങ്കൾക്ക് സ്ഥിരീകരിക്കാവുന്നതാണ്‌.',
1320213202 'centralauth-merge-step2-submit' => 'ലോഗിൻ വിവരം സ്ഥിരീകരിക്കുക',
1320313203 'centralauth-merge-dryrun-complete' => 'നിലവിലുള്ള എല്ലാ അംഗത്വങ്ങളും യാന്ത്രികമായി സം‌യോജിപ്പിക്കാവുന്നതാണ്‌.',
@@ -13258,10 +13258,10 @@
1325913259 'centralauth-finish-password' => 'രഹസ്യവാക്ക്:',
1326013260 'centralauth-finish-login' => 'ലോഗിൻ',
1326113261 'centralauth-finish-send-confirmation' => 'രഹസ്യവാക്ക് ഇമെയിൽ ചെയ്യുക',
13262 - 'centralauth-finish-problems' => 'താങ്കൾ എന്തെങ്കിലും ബുദ്ധിമുട്ടു അനുഭവിക്കുന്നോ, അല്ലെങ്കിൽ ഇവിടെ പ്രദർശിപ്പിച്ചിരിക്കുന്ന മറ്റു അംഗത്വങ്ങൾ താങ്കളുടെ അല്ലേ?
 13262+ 'centralauth-finish-problems' => 'താങ്കൾ എന്തെങ്കിലും ബുദ്ധിമുട്ടു അനുഭവിക്കുന്നോ, അല്ലെങ്കിൽ ഇവിടെ പ്രദർശിപ്പിച്ചിരിക്കുന്ന മറ്റു അംഗത്വങ്ങൾ താങ്കളുടെ അല്ലേ?
1326313263 [[meta:Help:Unified login problems|സഹായത്തിനു സന്ദർശിക്കുക]]…',
1326413264 'centralauth-finish-noconfirms' => 'ഈ രഹസ്യവാക്ക് ഉപയോഗിച്ച് ഒരു അംഗത്വവും സ്ഥിരീകരിക്കുവാൻ പറ്റിയില്ല.',
13265 - 'centralauth-finish-incomplete' => 'ഈ രഹസ്യവാക്കുപയോഗിച്ച് നിരവധി അംഗത്വങ്ങൾ സം‌യോജിപ്പിട്ടുണ്ട്.
 13265+ 'centralauth-finish-incomplete' => 'ഈ രഹസ്യവാക്കുപയോഗിച്ച് നിരവധി അംഗത്വങ്ങൾ സം‌യോജിപ്പിട്ടുണ്ട്.
1326613266 മറ്റു അംഗത്വങ്ങൾ ഇതു വരെ സ്ഥിരീകരിച്ചിട്ടില്ല.',
1326713267 'centralauth-merge-attempt' => "'''തന്നിരിക്കുന്ന രഹസ്യവാക്കു ബാക്കിയുള്ള സം‌യോജിപ്പിക്കാത്ത അംഗത്വങ്ങളുമായി പരിശോധിക്കുന്നു…'''",
1326813268 'centralauth-attach-list-attached' => '"$1" എന്ന സം‌യോജിത അംഗത്വത്തിൽ താഴെ പ്രദർശിപ്പിച്ചിരിക്കുന്ന അംഗത്വങ്ങളും ഉൾപ്പെടുന്നു:',
@@ -13308,7 +13308,7 @@
1330913309 'centralauth-admin-already-unmerged' => 'ഇതിനകം വിഘടിപ്പിച്ചതിനാൽ $1നെ വിട്ടുകളയുന്നു',
1331013310 'centralauth-admin-unmerge-success' => '$1 {{PLURAL:$1|അംഗത്വം|അംഗത്വങ്ങൾ}} വിജയകരമായി വിഘടിപ്പിച്ചിരിക്കുന്നു.',
1331113311 'centralauth-admin-delete-title' => 'അംഗത്വം മായ്ക്കുക',
13312 - 'centralauth-admin-delete-description' => 'ആഗോള അംഗത്വം മായ്ക്കുന്നത് ആഗോള ക്രമീകരണങ്ങൾ മായ്ക്കുകയും, ആഗോള അംഗത്വത്തിനോടൊപ്പം ചേർത്തിരിക്കുന്ന പ്രാദേശിക അംഗത്വങ്ങളെ സ്വതന്ത്രമാക്കുകയും, ആഗോള അംഗത്വത്തിന്റെ ഉപയോക്തൃനാമം മറ്റൊരു ഉപയോക്താവിനു തിരഞ്ഞെടുക്കാൻ പ്രാപ്തമാക്കുകയും ചെയ്യും.
 13312+ 'centralauth-admin-delete-description' => 'ആഗോള അംഗത്വം മായ്ക്കുന്നത് ആഗോള ക്രമീകരണങ്ങൾ മായ്ക്കുകയും, ആഗോള അംഗത്വത്തിനോടൊപ്പം ചേർത്തിരിക്കുന്ന പ്രാദേശിക അംഗത്വങ്ങളെ സ്വതന്ത്രമാക്കുകയും, ആഗോള അംഗത്വത്തിന്റെ ഉപയോക്തൃനാമം മറ്റൊരു ഉപയോക്താവിനു തിരഞ്ഞെടുക്കാൻ പ്രാപ്തമാക്കുകയും ചെയ്യും.
1331313313
1331413314 പ്രാദേശിക അംഗത്വങ്ങൾ അതത് വിക്കികളിൽ നിലനിൽക്കും. പ്രാദേശിക അംഗത്വങ്ങളുടെ രഹസ്യവാക്ക് സം‌യോജനത്തിനു മുൻപുണ്ടായിരുന്ന രഹസ്യവാക്ക് ആയിരിക്കും.',
1331513315 'centralauth-admin-delete-button' => 'ഈ അംഗത്വം മായ്ക്കുക',
@@ -13402,7 +13402,7 @@
1340313403 എന്തെങ്കിലും തിരിച്ചറിയാനുള്ള വിവരങ്ങൾ ഇല്ലാതെയാണ് താങ്കൾ ഈ താൾ ആവശ്യപ്പെട്ടിരിക്കുന്നത്, അതുകൊണ്ടിത് ഒന്നും ചെയ്യുന്നില്ല.',
1340413404 'globalgroupmembership' => 'ആഗോള സംഘങ്ങളിലുള്ള അംഗത്വം',
1340513405 'globalgrouppermissions' => 'ആഗോള സംഘ നിർവഹണം',
13406 - 'centralauth-globalgroupperms-grouplist' => 'താഴെ പ്രദർശിപ്പിച്ചിരിക്കുന്ന ആഗോള സംഘങ്ങൾ സജ്ജീകരിച്ചിരിക്കുന്നു.
 13406+ 'centralauth-globalgroupperms-grouplist' => 'താഴെ പ്രദർശിപ്പിച്ചിരിക്കുന്ന ആഗോള സംഘങ്ങൾ സജ്ജീകരിച്ചിരിക്കുന്നു.
1340713407 താങ്കൾക്ക് അനുമതിയുണ്ടെങ്കിൽ, ഏതെങ്കിലും ഒരു സംഘത്തിനു കൊടുത്തിരിക്കുന്ന അവകാശങ്ങൾ താങ്കൾക്കു കാണുകയും തിരുത്തുകയും ചെയ്യാവുന്നതാണ്‌.
1340813408 എല്ലാ അവകാശങ്ങളും മാറ്റിയതിനു ശേഷം ഏതെങ്കിലും ഒരു സംഘത്തിനെ മായ്ച്ചു കളയാവുന്നതും ആണ്‌.',
1340913409 'centralauth-globalgroupperms-grouplistitem' => '$1 ([[Special:GlobalGroupPermissions/$2|കാണുക/തിരുത്തുക]])',
@@ -14710,8 +14710,8 @@
1471114711 'centralauth-admin-already-unmerged' => 'Hoppar over $1, skilt ut frå før',
1471214712 'centralauth-admin-unmerge-success' => 'Skilde ut {{PLURAL:$1|éin konto|$1 kontoar}}',
1471314713 'centralauth-admin-delete-title' => 'Slett brukarkonto',
14714 - 'centralauth-admin-delete-description' => 'Sletting av den globale kontoen vil sletta globale innstillingar, skilja ut alle lokale kontoar og gjera det globale namnet tilgjengeleg for andre brukarar.
14715 -Alle lokale kontoar vil halda fram med å eksistera.
 14714+ 'centralauth-admin-delete-description' => 'Sletting av den globale kontoen vil sletta globale innstillingar, skilja ut alle lokale kontoar og gjera det globale namnet tilgjengeleg for andre brukarar.
 14715+Alle lokale kontoar vil halda fram med å eksistera.
1471614716 Passorda til lokale kontoar oppretta før samanslåinga vil gå attende til verdiane dei hadde før samanslåinga.',
1471714717 'centralauth-admin-delete-button' => 'Slette denne kontoen',
1471814718 'centralauth-admin-delete-success' => 'Sletta den globale kontoen for «<nowiki>$1</nowiki>»',
@@ -14745,7 +14745,7 @@
1474614746 'centralauth-prefs-count-unattached' => 'Ikkje-stadfesta kontoar med namnet ditt står att på {{PLURAL:$1|éitt prosjekt|$1 prosjekt}}.',
1474714747 'centralauth-prefs-detail-unattached' => 'Det er ikkje stadfesta at denne kontoen er slått saman med hovudkontoen.',
1474814748 'centralauth-prefs-manage' => 'Handsam hovudkontoen din',
14749 - 'centralauth-renameuser-merged' => 'Brukaren $1 har gått over til det globale kontosystemet.
 14749+ 'centralauth-renameuser-merged' => 'Brukaren $1 har gått over til det globale kontosystemet.
1475014750 Å endra namnet på kontoen vil føra til at den lokale brukaren blir skilt frå den globale kontoen.',
1475114751 'centralauth-renameuser-reserved' => 'Brukarnamnet $2 er reservert for ein global konto.',
1475214752 'centralauth-invalid-wiki' => 'Wikidatabasen finst ikkje: $1',
@@ -14810,7 +14810,7 @@
1481114811 'centralauth-editgroup-perms' => 'Tildelte løyve:',
1481214812 'centralauth-editgroup-reason' => 'Endringsårsak:',
1481314813 'centralauth-editgroup-success' => 'Gruppeløyve endra',
14814 - 'centralauth-editgroup-success-text' => 'Du har endra gruppeløyva til gruppa $1.
 14814+ 'centralauth-editgroup-success-text' => 'Du har endra gruppeløyva til gruppa $1.
1481514815 [[Special:GlobalGroupPermissions|Attende til gruppehandsaming]]',
1481614816 'centralauth-editgroup-editsets' => '([[Special:EditWikiSets|endra]])',
1481714817 'centralauth-globalgrouppermissions-knownwiki' => 'Wiki der dei har ein konto:',
@@ -15775,9 +15775,9 @@
1577615776 'centralauth-mergeaccount-desc' => "[[Special:MergeAccount|A fond ansema vàire cont]] për l'identificassion ùnica",
1577715777 'centralauth-merge-denied' => "Darmagi, a l'ha pa ël përmess d'acede a costa pàgina-sì.",
1577815778 'centralauth-merge-notlogged' => 'Për piasì <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto={{#special:MergeAccount}}}} ch\'a rintra ant ël sistema]</span> për controlé che sò cont a sio stait mës-cià coma ch\'as dev.',
15779 - 'centralauth-merge-welcome' => "'''Sò cont a l'é ancor pa tramudà al sistema d'intrada unificà ëd {{MediaWiki:Centralauth-groupname}}.'''
 15779+ 'centralauth-merge-welcome' => "'''Sò cont a l'é ancor pa tramudà al sistema d'intrada unificà ëd {{MediaWiki:Centralauth-groupname}}.'''
1578015780
15781 -S'a decid ëd tramudé ij sò cont, a podrà dovré midem stranòm e ciav për intré an qualsëssìa wiki ëd {{MediaWiki:Centralauth-groupname}} an qualsëssìa dle lenghe disponìbij.
 15781+S'a decid ëd tramudé ij sò cont, a podrà dovré midem stranòm e ciav për intré an qualsëssìa wiki ëd {{MediaWiki:Centralauth-groupname}} an qualsëssìa dle lenghe disponìbij.
1578215782
1578315783 Se cheidun d'àutr a l'avèissa gia sërnusse lë stranòm dzora a n'àutr sit, sòn a-j darìa gnun fastudi, ma pì anans a-j darìa a tuti la possibilità d'arzòlve ël problema ansema a j'aministrator.",
1578415784 'centralauth-merge-step1-title' => "Anandié l'unificassion djë stranòm",
@@ -16688,7 +16688,7 @@
1668916689
1669016690 Încă nu s-a operat nicio modificare asupra conturilor dumneavoastră.',
1669116691 'centralauth-merge-dryrun-or' => "'''sau'''",
16692 - 'centralauth-merge-dryrun-home' => 'Sistemul de migrare nu a putut confirma că sunteţi deţinătorul contului care vă foloseşte numele de utilizator pe wiki-ul de reşedinţă.
 16692+ 'centralauth-merge-dryrun-home' => 'Sistemul de migrare nu a putut confirma că sunteţi deţinătorul contului care vă foloseşte numele de utilizator pe wiki-ul de reşedinţă.
1669316693
1669416694 Un alt wiki a fost fost determinat ca fiind contul de reşedinţă pentru numele dumneavoastră de utilizator; urmaţi legătura de mai jos şi autentificaţi-vă acolo pentru a încheia procesul de migrare a contului.',
1669516695 'centralauth-merge-step3-title' => 'Creează cont unificat',
@@ -17172,12 +17172,12 @@
1717317173 'centralauth-merge-notlogged' => 'Бука диэн, <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto={{#special:MergeAccount}}}} ааккын эт]</span>, оччоҕо ааттарыҥ холбонууларын туругун көрүөҥ.',
1717417174 'centralauth-merge-welcome' => "'''Эн аатыҥ {{MediaWiki:Centralauth-groupname}} бырайыактарыгар киирэр биир аат тиһигэр өссө киирэ илик'''
1717517175
17176 -Ааттаргын онно киллэрэр түгэҥҥэр, биир аатынан уонна киирии тылынан {{MediaWiki:Centralauth-groupname}} ханнык баҕарар саайтарыгар киирэр кыахтаныаҥ.
 17176+Ааттаргын онно киллэрэр түгэҥҥэр, биир аатынан уонна киирии тылынан {{MediaWiki:Centralauth-groupname}} ханнык баҕарар саайтарыгар киирэр кыахтаныаҥ.
1717717177
1717817178 Өскө ким эрэ эн ааккын атын бырайыакка ылбыт буоллаҕына бу дьайыы кинини таарыйыа суоҕа. Кэлин бу түгэни бэйэтин кытта эбэтэр дьаһабылы кытта быһаарсыаххын сөп.",
1717917179 'centralauth-merge-step1-title' => 'Бэлиэтэммит ааттары холбууру саҕалаа',
1718017180 'centralauth-merge-step1-detail' => 'Бука диэн киирии тылгын киллэр.
17181 -Эн киирии тылыҥ уонна электроннай аадырыһыҥ атын вики бырайыактар ааттарын кытта тэҥнэниллиэ.
 17181+Эн киирии тылыҥ уонна электроннай аадырыһыҥ атын вики бырайыактар ааттарын кытта тэҥнэниллиэ.
1718217182 Ханнык да уларытыы бэйэҥ бигэргэтэ иликкинэ олоххо киириэ суоҕа.',
1718317183 'centralauth-merge-step1-submit' => 'Аатым туһунан сибидиэнньэни бигэргэт',
1718417184 'centralauth-merge-step2-title' => 'Атын ааттары бигэргэт',
@@ -17190,7 +17190,7 @@
1719117191
1719217192 Ааттарыҥ өссө да уларытылла иликтэр.',
1719317193 'centralauth-merge-dryrun-or' => "'''эбэтэр'''",
17194 - 'centralauth-merge-dryrun-home' => 'Ааты көһөрүү (миграция) систиэмэтэ дьиэ-биикигэ ыйыллыбыт аат эйиэнэ буоларын туһунан бигэргэтиини кыайан ылбата.
 17194+ 'centralauth-merge-dryrun-home' => 'Ааты көһөрүү (миграция) систиэмэтэ дьиэ-биикигэ ыйыллыбыт аат эйиэнэ буоларын туһунан бигэргэтиини кыайан ылбата.
1719517195
1719617196 Ол гынан баран бу аакка атын биики-бырайыак дьиэ-биики быһыытынан булулунна; ону кытта сөбүлэһэр буоллаххына, ол аата ол биики бырайыакка баар ааты миэнэ диир түгэҥҥэр, аллара баар сигэннэн киирэн систиэмэҕэ ааккын билиһиннэр.',
1719717197 'centralauth-merge-step3-title' => 'Соҕотох ааты оҥоруу',
@@ -17272,8 +17272,8 @@
1727317273 'centralauth-admin-already-unmerged' => 'Маны көтүт $1, номнуо араарыллыбыт',
1727417274 'centralauth-admin-unmerge-success' => '$1 аат ситиһиилээхтик {{PLURAL:$1|араарылынна|араарылыннылар}}',
1727517275 'centralauth-admin-delete-title' => 'Ааты сот',
17276 - 'centralauth-admin-delete-description' => 'Сүрүн ааты сотуу туох баар бу аакка сыһыаннаах туруоруулары соторго, атын ааттар арахсалларыгар уонна сүрүн аат босхолоноругар тиэрдиэҕэ, атын кыттааччы бу ааты иҥэриниэн сөп буолуоҕа.
17277 -Атын локальнай ааттар сүтүөхтэрэ суоҕа.
 17276+ 'centralauth-admin-delete-description' => 'Сүрүн ааты сотуу туох баар бу аакка сыһыаннаах туруоруулары соторго, атын ааттар арахсалларыгар уонна сүрүн аат босхолоноругар тиэрдиэҕэ, атын кыттааччы бу ааты иҥэриниэн сөп буолуоҕа.
 17277+Атын локальнай ааттар сүтүөхтэрэ суоҕа.
1727817278 Локальнай ааттар урукку киирии тылларын төннөрүөхтэрэ.',
1727917279 'centralauth-admin-delete-button' => 'Бу ааты сот',
1728017280 'centralauth-admin-delete-success' => '"<nowiki>$1</nowiki>" аат ситиһиилээхтик сотулунна',
@@ -18268,7 +18268,7 @@
1826918269 'centralauth-merge-attempt' => "'''Wröigje dät ienroate Paaswoud mäd do uurblieuwene Benutserkonten...'''",
1827018270 'centralauth-attach-list-attached' => 'Dät globoale Benutserkonto mäd dän Noome „$1“ änthaalt do foulgjende Benutserkonten:',
1827118271 'centralauth-attach-title' => 'Benutserkonto bestäätigje',
18272 - 'centralauth-attach-text' => 'Dit Benutserkonto wuude noch nit in n globoal Benutserkonto integrierd.
 18272+ 'centralauth-attach-text' => 'Dit Benutserkonto wuude noch nit in n globoal Benutserkonto integrierd.
1827318273 Wan dät globoale Benutserkonto uk fon die is, koast du ju Touhoopefierenge moakje, truch dät du hier dät Paaswoud fon dät globoale Benutserkonto ienrakst:',
1827418274 'centralauth-attach-submit' => 'Benutserkonto integrierje',
1827518275 'centralauth-attach-success' => 'Dät Benutserkonto wuude in dät globoale Benutserkonto integrierd.',
@@ -18884,12 +18884,12 @@
1888518885 'centralauth-merge-step2-submit' => 'ప్రవేశపు సమాచారాన్ని నిర్ధారించండి',
1888618886 'centralauth-merge-dryrun-complete' => 'ప్రస్తుతం ఉనికిలో ఉన్న ఖాతాలన్నిటినీ ఏకీకరించవచ్చు!
1888718887 మీ ఖాతాల్లో ఇంకా మార్పులేమీ చెయ్యలేదు.',
18888 - 'centralauth-merge-dryrun-incomplete' => 'మీరీ పనిని కొనసాగించవచ్చు. కానీ, కొన్ని ఖాతాలను ఆటోమాటిగ్గా ధృవీకరించలేకపోవడం వలన వాటిని ఇప్పుడు ఏకీకరించలేము.
 18888+ 'centralauth-merge-dryrun-incomplete' => 'మీరీ పనిని కొనసాగించవచ్చు. కానీ, కొన్ని ఖాతాలను ఆటోమాటిగ్గా ధృవీకరించలేకపోవడం వలన వాటిని ఇప్పుడు ఏకీకరించలేము.
1888918889 మీరు వీటిని తరువాత విలీనం చేసుకోవచ్చు.
1889018890
1889118891 మీ ఖాతాల్లో ఇంకా మార్పులేమీ చెయ్యలేదు.',
1889218892 'centralauth-merge-dryrun-or' => "'''లేదా'''",
18893 - 'centralauth-merge-dryrun-home' => 'మీ వాడుకరిపేరుకి ప్రధాన వికీ ఖాతా యొక్క యజమాని మీరే అని ఏకీకృత వ్యవస్థ నిర్ధారించలేకున్నది.
 18893+ 'centralauth-merge-dryrun-home' => 'మీ వాడుకరిపేరుకి ప్రధాన వికీ ఖాతా యొక్క యజమాని మీరే అని ఏకీకృత వ్యవస్థ నిర్ధారించలేకున్నది.
1889418894
1889518895 మీ వాడుకరిపేరుకి ప్రధాన ఖాతా మరొక వికీ అని తేలింది; కింది లింకుని అనుసరించి అక్కడ లోనికి ప్రవేశించి మీ ఖాతా ఏకీకరణను పూర్తిచేయండి.',
1889618896 'centralauth-merge-step3-title' => 'ఏకీకృత ఖాతాని సృష్టించండి',
@@ -19016,8 +19016,8 @@
1901719017 'centralauth-rightslog-entry-setchange' => "''$1'' లోని వికీలు మార్చబడ్డాయి: కలిపినవి: $2; తీసేసినవి: $3",
1901819018 'globalgroupmembership' => 'సార్వత్రిక గుంపుల్లో సభ్యత్వం',
1901919019 'globalgrouppermissions' => 'సార్వత్రిక గుంపు నిర్వహణ',
19020 - 'centralauth-globalgroupperms-grouplist' => 'కింది సార్వత్రిక గుంపులు తయారయి ఉన్నాయి.
19021 -వీటిని చూడటమే కాక, మీకు అనుమతి వుంటే వాటిలో మార్పులు చెయ్యవచ్చు.
 19020+ 'centralauth-globalgroupperms-grouplist' => 'కింది సార్వత్రిక గుంపులు తయారయి ఉన్నాయి.
 19021+వీటిని చూడటమే కాక, మీకు అనుమతి వుంటే వాటిలో మార్పులు చెయ్యవచ్చు.
1902219022 గుంపుకు ఉన్న అనుమతులను తీసివేయడం ద్వారా ఆ గుంపును తొలగించవచ్చు.',
1902319023 'centralauth-globalgroupperms-grouplistitem' => '$1 ([[Special:GlobalGroupPermissions/$2|అనుమతులను చూడు, మార్చు]])',
1902419024 'centralauth-existinggroup-legend' => 'ప్రస్తుతం ఉన్న గుంపులు',
@@ -19085,7 +19085,7 @@
1908619086 Агар номи корбарии шумо қаблан дар лоиҳаи дигаре тавассути шахси дигаре истифода шуда бошад, ин кор боиси халалрасонӣ ба онҳо намешавад, балки ба шумо имконеро медиҳад, ки баъдан ин мушкилро бо кӯмаки онҳо ё як мудир ҳал кунед.",
1908719087 'centralauth-merge-step1-title' => 'Оғози якка кардани ҳисобҳои корбарӣ',
1908819088 'centralauth-merge-step1-detail' => 'Лутфан гузарвожаи ҳисобатонро ворид кунед.
19089 -Гузарвожа ва нишонаи почтаи электронии сабтшудаи бо ҳисобҳои корбарӣ викиҳои дигаре муқоиса мешавад, то аз мутобиқати онҳо итминон ҳосил гардад.
 19089+Гузарвожа ва нишонаи почтаи электронии сабтшудаи бо ҳисобҳои корбарӣ викиҳои дигаре муқоиса мешавад, то аз мутобиқати онҳо итминон ҳосил гардад.
1909019090 То замоне, ки шумо таъйид накунед, ки ҳама чиз дуруст аст, тағйир сурат нахоҳад гирифт.',
1909119091 'centralauth-merge-step1-submit' => 'Тасдиқи иттилооти вуруд ба систем',
1909219092 'centralauth-merge-step2-title' => 'Тасдиқи ҳисобҳои корбарии бештар',
@@ -19252,7 +19252,7 @@
1925319253 'centralauth-merge-notlogged' => 'Lutfan <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto={{#special:MergeAccount}}}} ba sistem vorid şaved]</span> to az idƣomi hisobhoi korbariaton itminon hosil kuned.',
1925419254 'centralauth-merge-step1-title' => 'Oƣozi jakka kardani hisobhoi korbarī',
1925519255 'centralauth-merge-step1-detail' => "Lutfan guzarvoƶai hisobatonro vorid kuned.
19256 -Guzarvoƶa va nişonai poctai elektroniji sabtşudai bo hisobhoi korbarī vikihoi digare muqoisa meşavad, to az mutobiqati onho itminon hosil gardad.
 19256+Guzarvoƶa va nişonai poctai elektroniji sabtşudai bo hisobhoi korbarī vikihoi digare muqoisa meşavad, to az mutobiqati onho itminon hosil gardad.
1925719257 To zamone, ki şumo ta'jid nakuned, ki hama ciz durust ast, taƣjir surat naxohad girift.",
1925819258 'centralauth-merge-step1-submit' => 'Tasdiqi ittilooti vurud ba sistem',
1925919259 'centralauth-merge-step2-title' => 'Tasdiqi hisobhoi korbariji beştar',
@@ -19541,7 +19541,7 @@
1954219542 'centralauth-finish-login' => 'Sessiýa açyş',
1954319543 'centralauth-finish-send-confirmation' => 'Paroly e-poçta bilen iber',
1954419544 'centralauth-finish-noconfirms' => 'Bu parol bilen hiç bir hasaby tassyklap bolmady.',
19545 - 'centralauth-finish-incomplete' => 'Bu paroly ulanmak arkaly birnäçe hasap birleşdirildi.
 19545+ 'centralauth-finish-incomplete' => 'Bu paroly ulanmak arkaly birnäçe hasap birleşdirildi.
1954619546 Beýleki hasaplar heniz tassyklanylmady.',
1954719547 'centralauth-attach-list-attached' => '"$1" atly birleşen hasap aşakdaky hasaplary öz içine alýar:',
1954819548 'centralauth-attach-title' => 'Hasaby tassykla',
@@ -19660,7 +19660,7 @@
1966119661 'centralauth-editgroup-perms' => 'Bellenen rugsatlar:',
1966219662 'centralauth-editgroup-reason' => 'Sebäp:',
1966319663 'centralauth-editgroup-success' => 'Topar rugsatlary üýtgedildi',
19664 - 'centralauth-editgroup-success-text' => '$1 topary üçin topar rugsatlaryny şowly üýtgetdiňiz.
 19664+ 'centralauth-editgroup-success-text' => '$1 topary üçin topar rugsatlaryny şowly üýtgetdiňiz.
1966519665 [[Special:GlobalGroupPermissions|Topar dolandyryşyna gaýdyp baryň]]',
1966619666 'centralauth-editgroup-editsets' => '([[Special:EditWikiSets|redaktirle]])',
1966719667 'centralauth-globalgrouppermissions-knownwiki' => 'Olaryň hasaby bar bolan wiki:',
@@ -19883,7 +19883,7 @@
1988419884 'globalgroupmembership' => 'Kasapian sa pandaigdigang mga pangkat',
1988519885 'globalgrouppermissions' => 'Pamamahala ng pandaigdigang pangkat',
1988619886 'centralauth-globalgroupperms-grouplist' => 'Naisaayos na ang sumusunod na pandaigdigang mga pangkat.
19887 -Maaari mong tingnan at baguhin ang mga pahintulot na nakatakda sa isang pangkat, kung mayroon kang pahintulot.
 19887+Maaari mong tingnan at baguhin ang mga pahintulot na nakatakda sa isang pangkat, kung mayroon kang pahintulot.
1988819888 Maaaring burahin ang isang pangkat sa pamamagitan ng pagtatanggal ng lahat ng mga karapatan nito.',
1988919889 'centralauth-globalgroupperms-grouplistitem' => '$1 ([[Special:GlobalGroupPermissions/$2|pagtingin/pagbago]])',
1989019890 'centralauth-globalgroupperms-nogroups' => 'Walang binigyang-kahulugang mga pandaigdigang pangkat.',
@@ -20546,14 +20546,14 @@
2054720547 'centralauth-mergeaccount-desc' => '[[Special:MergeAccount|Unifica più account]] par el Login Unico',
2054820548 'centralauth-merge-denied' => 'No te ghè i parmessi necessari par entrar su sta pagina.',
2054920549 'centralauth-merge-notlogged' => 'Par piaser, de <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto={{#special:MergeAccount}}}} fà el login]</span> par verificar se el processo de unificazion de le to utenze el xe conpleto.',
20550 - 'centralauth-merge-welcome' => "'''El to account utente no'l xe gnancora stà inportà nel sistema de identificazion unificà de {{MediaWiki:Centralauth-groupname}}.'''
 20550+ 'centralauth-merge-welcome' => "'''El to account utente no'l xe gnancora stà inportà nel sistema de identificazion unificà de {{MediaWiki:Centralauth-groupname}}.'''
2055120551
20552 -Se te decidi de unificar i to account, te podarè doparar el stesso nome utente e la stessa password par entrar in tuti quanti i progeti wiki de {{MediaWiki:Centralauth-groupname}} in tute le lengue disponibili.
 20552+Se te decidi de unificar i to account, te podarè doparar el stesso nome utente e la stessa password par entrar in tuti quanti i progeti wiki de {{MediaWiki:Centralauth-groupname}} in tute le lengue disponibili.
2055320553
2055420554 Se qualchedun altro el s'à zà tolto el to nome utente su un altro sito, questo no'l lo disturbarà, ma l'unificazion la te darà a ti la possibilità de sotoporghe in futuro el problema a l'altro utente o a un aministrador.",
2055520555 'centralauth-merge-step1-title' => "Intaca l'unificazion dei login",
2055620556 'centralauth-merge-step1-detail' => "Par piaser inserìssi qua la to password.
20557 -La to password e l'indirizo e-mail registrà i sarà desso controlà sui account in altre wiki par confermar che i corisponda.
 20557+La to password e l'indirizo e-mail registrà i sarà desso controlà sui account in altre wiki par confermar che i corisponda.
2055820558 No sarà fata nissuna modifica prima de la to conferma che tuto quanto xe in regola.",
2055920559 'centralauth-merge-step1-submit' => 'Conferma le informazion par el login',
2056020560 'centralauth-merge-step2-title' => 'Conferma altri account',
Index: trunk/extensions/CentralAuth/renaming.txt
@@ -3,4 +3,3 @@
44 * Never change the established name of a user account
55 * To "rename", create a new account and migrate the settings.
66 * -question- -> what about reattribution?
7 -

Comments

#Comment by VasilievVV (talk | contribs)   06:35, 21 April 2010

- if( $remainder ) + if ( $remainder )

Since when "if( condition )" is an unacceptable style? It's acceptable per Manual:Coding_conventions#Spaces. Looks like for me.

#Comment by VasilievVV (talk | contribs)   06:36, 21 April 2010

> Looks like for me.

...like a change between optional styles for me. (parser ate the link)

#Comment by Siebrand (talk | contribs)   08:22, 21 April 2010

It's what stylize.php has done for the past few years. Don't worry, you will not be slapped for using "if( foo )" instead of "if ( foo )" :).

#Comment by VasilievVV (talk | contribs)   08:22, 21 April 2010

Sounds like a good reason to fix stylize.php.

Status & tagging log