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;
 }