X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Finterwiki%2FClassicInterwikiLookup.php;h=7a8e64f5cea5104e7993b73c72fd3f080f840ef0;hb=320ec708e4b887a41f1532797cf1a114d240df4b;hp=05cf933345d68e2cd85b8080e4cd32b0a93a6858;hpb=97af92da48f0d434cf4b541e7a3f2d96619a95b2;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/interwiki/ClassicInterwikiLookup.php b/includes/interwiki/ClassicInterwikiLookup.php index 05cf933345..7a8e64f5ce 100644 --- a/includes/interwiki/ClassicInterwikiLookup.php +++ b/includes/interwiki/ClassicInterwikiLookup.php @@ -27,6 +27,7 @@ use Cdb\Reader as CdbReader; use Hooks; use Interwiki; use Language; +use WikiMap; use MapCacheLRU; use WANObjectCache; use Wikimedia\Rdbms\Database; @@ -212,17 +213,20 @@ class ClassicInterwikiLookup implements InterwikiLookup { */ private function getInterwikiCacheEntry( $prefix ) { wfDebug( __METHOD__ . "( $prefix )\n" ); + + $wikiId = WikiMap::getWikiIdFromDbDomain( WikiMap::getCurrentWikiDbDomain() ); + $value = false; try { // Resolve site name if ( $this->interwikiScopes >= 3 && !$this->thisSite ) { - $this->thisSite = $this->getCacheValue( '__sites:' . wfWikiID() ); + $this->thisSite = $this->getCacheValue( '__sites:' . $wikiId ); if ( $this->thisSite == '' ) { $this->thisSite = $this->fallbackSite; } } - $value = $this->getCacheValue( wfWikiID() . ':' . $prefix ); + $value = $this->getCacheValue( $wikiId . ':' . $prefix ); // Site level if ( $value == '' && $this->interwikiScopes >= 3 ) { $value = $this->getCacheValue( "_{$this->thisSite}:{$prefix}" ); @@ -279,10 +283,11 @@ class ClassicInterwikiLookup implements InterwikiLookup { } } + $fname = __METHOD__; $iwData = $this->objectCache->getWithSetCallback( $this->objectCache->makeKey( 'interwiki', $prefix ), $this->objectCacheExpiry, - function ( $oldValue, &$ttl, array &$setOpts ) use ( $prefix ) { + function ( $oldValue, &$ttl, array &$setOpts ) use ( $prefix, $fname ) { $dbr = wfGetDB( DB_REPLICA ); // TODO: inject LoadBalancer $setOpts += Database::getCacheSetOptions( $dbr ); @@ -291,7 +296,7 @@ class ClassicInterwikiLookup implements InterwikiLookup { 'interwiki', self::selectFields(), [ 'iw_prefix' => $prefix ], - __METHOD__ + $fname ); return $row ? (array)$row : '!NONEXISTENT'; @@ -333,11 +338,14 @@ class ClassicInterwikiLookup implements InterwikiLookup { */ private function getAllPrefixesCached( $local ) { wfDebug( __METHOD__ . "()\n" ); + + $wikiId = WikiMap::getWikiIdFromDbDomain( WikiMap::getCurrentWikiDbDomain() ); + $data = []; try { /* Resolve site name */ if ( $this->interwikiScopes >= 3 && !$this->thisSite ) { - $site = $this->getCacheValue( '__sites:' . wfWikiID() ); + $site = $this->getCacheValue( '__sites:' . $wikiId ); if ( $site == '' ) { $this->thisSite = $this->fallbackSite; @@ -356,7 +364,7 @@ class ClassicInterwikiLookup implements InterwikiLookup { if ( $this->interwikiScopes >= 3 ) { $sources[] = '_' . $this->thisSite; } - $sources[] = wfWikiID(); + $sources[] = $wikiId; foreach ( $sources as $source ) { $list = $this->getCacheValue( '__list:' . $source );