X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fuser%2FUser.php;h=a1119fafc4fa632fcbc5b2298cc502839551d3aa;hb=12601ff7d2796752404bfb331fccc41083d31f9f;hp=99610c34345ac92688fa5739635f6e4ab30cdbea;hpb=eb04b990fedf02de878a73b7c40de9e60a1fa2fc;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/user/User.php b/includes/user/User.php index 99610c3434..a1119fafc4 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -693,19 +693,31 @@ class User implements IDBAccessObject { return null; } - $fields = self::selectFields(); - - $dbw = wfGetDB( DB_MASTER ); - $row = $dbw->selectRow( + $dbr = wfGetDB( DB_REPLICA ); + $row = $dbr->selectRow( 'user', - $fields, + self::selectFields(), [ 'user_name' => $name ], __METHOD__ ); + if ( !$row ) { + // Try the master database... + $dbw = wfGetDB( DB_MASTER ); + $row = $dbw->selectRow( + 'user', + self::selectFields(), + [ 'user_name' => $name ], + __METHOD__ + ); + } + if ( !$row ) { // No user. Create it? - return $options['create'] ? self::createNew( $name, [ 'token' => self::INVALID_TOKEN ] ) : null; + return $options['create'] + ? self::createNew( $name, [ 'token' => self::INVALID_TOKEN ] ) + : null; } + $user = self::newFromRow( $row ); // A user is considered to exist as a non-system user if it can @@ -2494,7 +2506,7 @@ class User implements IDBAccessObject { $cache->delete( $key, 1 ); } else { wfGetDB( DB_MASTER )->onTransactionPreCommitOrIdle( - function() use ( $cache, $key ) { + function () use ( $cache, $key ) { $cache->delete( $key ); }, __METHOD__ @@ -3686,7 +3698,7 @@ class User implements IDBAccessObject { } // Try to update the DB post-send and only if needed... - DeferredUpdates::addCallableUpdate( function() use ( $title, $oldid ) { + DeferredUpdates::addCallableUpdate( function () use ( $title, $oldid ) { if ( !$this->getNewtalk() ) { return; // no notifications to clear } @@ -4945,7 +4957,8 @@ class User implements IDBAccessObject { } $title = UserGroupMembership::getGroupPage( $group ); if ( $title ) { - return Linker::link( $title, htmlspecialchars( $text ) ); + return MediaWikiServices::getInstance() + ->getLinkRenderer()->makeLink( $title, $text ); } else { return htmlspecialchars( $text ); }