$result = $this->getResult();\r
$r = array();\r
if(is_array($params['modules']))\r
+ {\r
+ $modArr = $this->getMain()->getModules();\r
foreach($params['modules'] as $m)\r
{\r
- $className = "Api$m";\r
- if(!class_exists($className))\r
+ if(!isset($modArr[$m]))\r
{\r
- $mods[$m] = array('missing' => '');\r
+ $r['modules'][$m] = array('missing' => '');\r
continue;\r
}\r
- $obj = new $className($this->getMain(), $m);\r
+ $obj = new $modArr[$m]($this->getMain(), $m);\r
$r['modules'][$m] = $this->getClassInfo($obj); \r
}\r
+ }\r
if(is_array($params['querymodules']))\r
+ {\r
+ $queryObj = new ApiQuery($this->getMain(), 'query');\r
+ $qmodArr = $queryObj->getModules();\r
foreach($params['querymodules'] as $qm)\r
{\r
- $className = "ApiQuery$qm";\r
- if(!class_exists($className))\r
+ if(!isset($qmodArr[$qm]))\r
{\r
- $qmods[$qm] = array('missing' => '');\r
+ $r['querymodules'][$qm] = array('missing' => '');\r
continue;\r
}\r
- $obj = new $className($this, $qm);\r
+ $obj = new $qmodArr[$qm]($this, $qm);\r
$r['querymodules'][$qm] = $this->getClassInfo($obj);\r
}\r
- $result->addValue( null, $this->getModuleName(), $r );\r
+ }\r
+ $result->addValue(null, $this->getModuleName(), $r);\r
}\r
\r
function getClassInfo($obj)\r
public function getPageSet() {
return $this->mPageSet;
}
+
+ /**
+ * Get the array mapping module names to class names
+ */
+ function getModules() {
+ return array_merge($this->mQueryPropModules, $this->mQueryListModules, $this->mQueryMetaModules);
+ }
/**
* Query execution happens in the following steps: