X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FStubObject.php;h=2dfcdc2f497b45f84718913dfc16ceb02fd84ab5;hb=ed07e7d9baa6a98e428be5556bb798e6c4b75642;hp=7f12c1689d5fef3137e99c46efadcf8b9e6b0f40;hpb=c5dbe7cf67a9b78a273b81ee61845443210944f4;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/StubObject.php b/includes/StubObject.php index 7f12c1689d..2dfcdc2f49 100644 --- a/includes/StubObject.php +++ b/includes/StubObject.php @@ -150,10 +150,8 @@ class StubObject { if ( get_class( $GLOBALS[$this->global] ) != $this->class ) { $fname = __METHOD__ . '-' . $this->global; - wfProfileIn( $fname ); $caller = wfGetCaller( $level ); if ( ++$recursionLevel > 2 ) { - wfProfileOut( $fname ); throw new MWException( "Unstub loop detected on call of " . "\${$this->global}->$name from $caller\n" ); } @@ -161,7 +159,6 @@ class StubObject { . "\${$this->global}::$name from $caller\n" ); $GLOBALS[$this->global] = $this->_newObject(); --$recursionLevel; - wfProfileOut( $fname ); return $GLOBALS[$this->global]; } } @@ -182,6 +179,24 @@ class StubUserLang extends StubObject { return $this->_call( $name, $args ); } + /** + * Call Language::findVariantLink after unstubbing $wgLang. + * + * This method is implemented with a full signature rather than relying on + * __call so that the pass-by-reference signature of the proxied method is + * honored. + * + * @param string &$link The name of the link + * @param Title &$nt The title object of the link + * @param bool $ignoreOtherCond To disable other conditions when + * we need to transclude a template or update a category's link + */ + public function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) { + global $wgLang; + $this->_unstub( 'findVariantLink', 3 ); + return $wgLang->findVariantLink( $link, $nt, $ignoreOtherCond ); + } + /** * @return Language */