static function getInstance() { if (FALSE === self::$isUnavailable) { if (NULL === self::$instance) { self::$instance = new Huiji(); } // self::$isUnavailable = TRUE; return self::$instance; } else { return NULL; } }
public static function onParserGetVariableValueSwitch(&$parser, &$cache, &$magicWordId, &$ret) { global $wgHuijiPrefix; // Return value and cache should match. Cache is used to save // additional call when it is used multiple times on a page. $huijiStats = Huiji::getInstance()->getStats(); if ($magicWordId === 'numberofalledits') { $ret = $cache['numberofalledits'] = $huijiStats['edits']; } if ($magicWordId === 'numberofallarticles') { $ret = $cache['numberofallarticles'] = $huijiStats['pages']; } if ($magicWordId === 'numberofallactiveusers') { $ret = $cache['numberofallactiveusers'] = $huijiStats['users']; } if ($magicWordId === 'numberofallfiles') { $ret = $cache['numberofallfiles'] = $huijiStats['files']; } if ($magicWordId === 'numberofallsites') { $ret = $cache['numberofallsites'] = $huijiStats['sites']; } if ($magicWordId === 'numberoffollowers') { $site = WikiSite::newFromPrefix($wgHuijiPrefix); $stats = $site->getStats(); $ret = $cache['numberoffollowers'] = $stats['followers']; } if ($magicWordId === 'numberoffollowers:r') { $site = WikiSite::newFromPrefix($wgHuijiPrefix); $stats = $site->getStats(false); $ret = $cache['numberoffollowers'] = $stats['followers']; } if ($magicWordId === 'sitedescription') { $site = WikiSite::newFromPrefix($wgHuijiPrefix); $ret = $cache['sitedescription'] = $site->getDescription(); } return true; }