Пример #1
0
 /**
  * Get an array of all available generators
  * @return array
  */
 private function getGenerators()
 {
     if (self::$generators === null) {
         $query = $this->mDbSource;
         if (!$query instanceof ApiQuery) {
             // If the parent container of this pageset is not ApiQuery,
             // we must create it to get module manager
             $query = $this->getMain()->getModuleManager()->getModule('query');
         }
         $gens = array();
         $prefix = $query->getModulePath() . '+';
         $mgr = $query->getModuleManager();
         foreach ($mgr->getNamesWithClasses() as $name => $class) {
             if (is_subclass_of($class, 'ApiQueryGeneratorBase')) {
                 $gens[$name] = $prefix . $name;
             }
         }
         ksort($gens);
         self::$generators = $gens;
     }
     return self::$generators;
 }