/** */
require_once( 'normal/UtfNormal.php' );
+$wgTitleInterwikiCache = array();
+$wgTitleCache = array();
+
define ( 'GAID_FOR_UPDATE', 1 );
# Title::newFromTitle maintains a cache to avoid
* @package MediaWiki
*/
class Title {
- /**
- * Static cache variables
- */
- static private $titleCache=array();
- static private $interwikiCache=array();
-
-
/**
* All member variables should be considered private
* Please use the accessor functions
* @access public
*/
function newFromText( $text, $defaultNamespace = NS_MAIN ) {
+ global $wgTitleCache;
$fname = 'Title::newFromText';
if( is_object( $text ) ) {
*
* In theory these are value objects and won't get changed...
*/
- if( $defaultNamespace == NS_MAIN && isset( Title::$titleCache[$text] ) ) {
- return Title::$titleCache[$text];
+ if( $defaultNamespace == NS_MAIN && isset( $wgTitleCache[$text] ) ) {
+ return $wgTitleCache[$text];
}
/**
if( $defaultNamespace == NS_MAIN ) {
if( $cachedcount >= MW_TITLECACHE_MAX ) {
# Avoid memory leaks on mass operations...
- Title::$titleCache = array();
+ $wgTitleCache = array();
$cachedcount=0;
}
$cachedcount++;
- Title::$titleCache[$text] =& $t;
+ $wgTitleCache[$text] =& $t;
}
return $t;
} else {
* @access public
*/
function getInterwikiLink( $key ) {
- global $wgMemc, $wgDBname, $wgInterwikiExpiry;
+ global $wgMemc, $wgDBname, $wgInterwikiExpiry, $wgTitleInterwikiCache;
global $wgInterwikiCache;
$fname = 'Title::getInterwikiLink';
$key = strtolower( $key );
$k = $wgDBname.':interwiki:'.$key;
- if( array_key_exists( $k, Title::$interwikiCache ) ) {
- return Title::$interwikiCache[$k]->iw_url;
+ if( array_key_exists( $k, $wgTitleInterwikiCache ) ) {
+ return $wgTitleInterwikiCache[$k]->iw_url;
}
if ($wgInterwikiCache) {
$s = $wgMemc->get( $k );
# Ignore old keys with no iw_local
if( $s && isset( $s->iw_local ) && isset($s->iw_trans)) {
- Title::$interwikiCache[$k] = $s;
+ $wgTitleInterwikiCache[$k] = $s;
return $s->iw_url;
}
$s->iw_trans = 0;
}
$wgMemc->set( $k, $s, $wgInterwikiExpiry );
- Title::$interwikiCache[$k] = $s;
+ $wgTitleInterwikiCache[$k] = $s;
return $s->iw_url;
}
*/
function getInterwikiCached( $key ) {
global $wgDBname, $wgInterwikiCache, $wgInterwikiScopes, $wgInterwikiFallbackSite;
+ global $wgTitleInterwikiCache;
static $db, $site;
if (!$db)
$s->iw_url=$url;
$s->iw_local=(int)$local;
}
- Title::$interwikiCache[$wgDBname.':interwiki:'.$key] = $s;
+ $wgTitleInterwikiCache[$wgDBname.':interwiki:'.$key] = $s;
return $s->iw_url;
}
/**
* @access public
*/
function isLocal() {
- global $wgDBname;
+ global $wgTitleInterwikiCache, $wgDBname;
if ( $this->mInterwiki != '' ) {
# Make sure key is loaded into cache
$this->getInterwikiLink( $this->mInterwiki );
$k = $wgDBname.':interwiki:' . $this->mInterwiki;
- return (bool)(Title::$interwikiCache[$k]->iw_local);
+ return (bool)($wgTitleInterwikiCache[$k]->iw_local);
} else {
return true;
}
* @access public
*/
function isTrans() {
- global $wgDBname;
+ global $wgTitleInterwikiCache, $wgDBname;
if ($this->mInterwiki == '')
return false;
# Make sure key is loaded into cache
$this->getInterwikiLink( $this->mInterwiki );
$k = $wgDBname.':interwiki:' . $this->mInterwiki;
- return (bool)(Title::$interwikiCache[$k]->iw_trans);
+ return (bool)($wgTitleInterwikiCache[$k]->iw_trans);
}
/**