コード例 #1
0
 /**
  * Initialise and return the list of special page aliases.  Returns an object with
  * properties which can be accessed $obj->pagename - each property is an array of
  * aliases; the first in the array is the cannonical alias.  All registered special
  * pages are guaranteed to have a property entry, and for that property array to
  * contain at least one entry (English fallbacks will be added if necessary).
  * @return Object
  */
 static function getAliasList()
 {
     if (!is_object(self::$mAliases)) {
         global $wgContLang;
         $aliases = $wgContLang->getSpecialPageAliases();
         // Objects are passed by reference by default, need to create a copy
         $missingPages = clone self::getList();
         self::$mAliases = array();
         foreach ($aliases as $realName => $aliasList) {
             foreach ($aliasList as $alias) {
                 self::$mAliases[$wgContLang->caseFold($alias)] = $realName;
             }
             unset($missingPages->{$realName});
         }
         foreach ($missingPages as $name => $stuff) {
             self::$mAliases[$wgContLang->caseFold($name)] = $name;
         }
         // Cast to object: func()[$key] doesn't work, but func()->$key does
         self::$mAliases = (object) self::$mAliases;
     }
     return self::$mAliases;
 }