Merge "User: Avoid deprecated Linker::link()"
[lhc/web/wiklou.git] / includes / user / User.php
index 99610c3..a1119fa 100644 (file)
@@ -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 );
                }