public function __construct(ApiQuery $query, $moduleName) { parent::__construct($query, $moduleName, 'qp'); // Build mapping from special page names to QueryPage classes $uselessQueryPages = $this->getConfig()->get('APIUselessQueryPages'); $this->qpMap = array(); foreach (QueryPage::getPages() as $page) { if (!in_array($page[1], $uselessQueryPages)) { $this->qpMap[$page[1]] = $page[0]; } } }
public function __construct($query, $moduleName) { switch ($moduleName) { case self::LINKS: $this->table = 'pagelinks'; $this->prefix = 'pl'; $this->description = 'link'; break; case self::TEMPLATES: $this->table = 'templatelinks'; $this->prefix = 'tl'; $this->description = 'template'; break; default: ApiBase::dieDebug(__METHOD__, 'Unknown module name'); } parent::__construct($query, $moduleName, $this->prefix); }
public function __construct($query, $moduleName) { extract($this->backlinksSettings[$moduleName]); parent::__construct($query, $moduleName, $code); $this->bl_ns = $prefix . '_namespace'; $this->bl_from = $prefix . '_from'; $this->bl_table = $linktbl; $this->bl_code = $code; $this->hasNS = $moduleName !== 'imageusage'; if ($this->hasNS) { $this->bl_title = $prefix . '_title'; $this->bl_sort = "{$this->bl_ns}, {$this->bl_title}, {$this->bl_from}"; $this->bl_fields = array($this->bl_ns, $this->bl_title); } else { $this->bl_title = $prefix . '_to'; $this->bl_sort = "{$this->bl_title}, {$this->bl_from}"; $this->bl_fields = array($this->bl_title); } }
public function __construct(ApiQuery $query, $moduleName) { switch ($moduleName) { case self::LINKS: $this->table = 'pagelinks'; $this->prefix = 'pl'; $this->titlesParam = 'titles'; $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Links'; break; case self::TEMPLATES: $this->table = 'templatelinks'; $this->prefix = 'tl'; $this->titlesParam = 'templates'; $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Templates'; break; default: ApiBase::dieDebug(__METHOD__, 'Unknown module name'); } parent::__construct($query, $moduleName, $this->prefix); }
public function __construct(ApiQuery $query, $moduleName) { $settings = $this->backlinksSettings[$moduleName]; $prefix = $settings['prefix']; $code = $settings['code']; $this->resultArr = array(); parent::__construct($query, $moduleName, $code); $this->bl_ns = $prefix . '_namespace'; $this->bl_from = $prefix . '_from'; $this->bl_table = $settings['linktbl']; $this->bl_code = $code; $this->helpUrl = $settings['helpurl']; $this->hasNS = $moduleName !== 'imageusage'; if ($this->hasNS) { $this->bl_title = $prefix . '_title'; $this->bl_fields = array($this->bl_ns, $this->bl_title); } else { $this->bl_title = $prefix . '_to'; $this->bl_fields = array($this->bl_title); } }
public function __construct($query, $moduleName) { $code = $prefix = $linktbl = null; extract($this->backlinksSettings[$moduleName]); parent::__construct($query, $moduleName, $code); $this->bl_ns = $prefix . '_namespace'; $this->bl_from = $prefix . '_from'; $this->bl_tables = array($linktbl, 'page'); $this->bl_code = $code; $this->hasNS = $moduleName !== 'imageusage'; if ($this->hasNS) { $this->bl_title = $prefix . '_title'; global $wgRequest; $this->bl_sort = $wgRequest->getVal('revsort') == 1 ? "tl_from desc" : "{$this->bl_ns}, {$this->bl_title}, {$this->bl_from}"; $this->bl_fields = array($this->bl_ns, $this->bl_title); } else { $this->bl_title = $prefix . '_to'; $this->bl_sort = "{$this->bl_title}, {$this->bl_from}"; $this->bl_fields = array($this->bl_title); } }
public function __construct(ApiQuery $query, $moduleName) { switch ($moduleName) { case 'alllinks': $prefix = 'al'; $this->table = 'pagelinks'; $this->tablePrefix = 'pl_'; $this->useIndex = 'pl_namespace'; $this->indexTag = 'l'; break; case 'alltransclusions': $prefix = 'at'; $this->table = 'templatelinks'; $this->tablePrefix = 'tl_'; $this->dfltNamespace = NS_TEMPLATE; $this->useIndex = 'tl_namespace'; $this->indexTag = 't'; break; case 'allfileusages': $prefix = 'af'; $this->table = 'imagelinks'; $this->tablePrefix = 'il_'; $this->fieldTitle = 'to'; $this->dfltNamespace = NS_FILE; $this->hasNamespace = false; $this->indexTag = 'f'; break; case 'allredirects': $prefix = 'ar'; $this->table = 'redirect'; $this->tablePrefix = 'rd_'; $this->indexTag = 'r'; $this->props = array('fragment' => 'rd_fragment', 'interwiki' => 'rd_interwiki'); break; default: ApiBase::dieDebug(__METHOD__, 'Unknown module name'); } parent::__construct($query, $moduleName, $prefix); }
public function __construct(ApiQuery $query, $moduleName) { switch ($moduleName) { case self::LINKS: $this->table = 'pagelinks'; $this->prefix = 'pl'; $this->description = 'link'; $this->titlesParam = 'titles'; $this->titlesParamDescription = 'Only list links to these titles. Useful ' . 'for checking whether a certain page links to a certain title.'; $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Properties#links_.2F_pl'; break; case self::TEMPLATES: $this->table = 'templatelinks'; $this->prefix = 'tl'; $this->description = 'template'; $this->titlesParam = 'templates'; $this->titlesParamDescription = 'Only list these templates. Useful ' . 'for checking whether a certain page uses a certain template.'; $this->helpUrl = 'https://www.mediawiki.org/wiki/API:Properties#templates_.2F_tl'; break; default: ApiBase::dieDebug(__METHOD__, 'Unknown module name'); } parent::__construct($query, $moduleName, $this->prefix); }
public function getPossibleErrors() { $p = $this->getModulePrefix(); return array_merge(parent::getPossibleErrors(), array(array('code' => 'params', 'info' => 'Use "gaifilterredir=nonredirects" option instead ' . 'of "redirects" when using allimages as a generator'), array('code' => 'badparams', 'info' => "Parameter'{$p}start' can only be used with {$p}sort=timestamp"), array('code' => 'badparams', 'info' => "Parameter'{$p}end' can only be used with {$p}sort=timestamp"), array('code' => 'badparams', 'info' => "Parameter'{$p}user' can only be used with {$p}sort=timestamp"), array('code' => 'badparams', 'info' => "Parameter'{$p}filterbots' can only be used with {$p}sort=timestamp"), array('code' => 'badparams', 'info' => "Parameter'{$p}from' can only be used with {$p}sort=name"), array('code' => 'badparams', 'info' => "Parameter'{$p}to' can only be used with {$p}sort=name"), array('code' => 'badparams', 'info' => "Parameter'{$p}prefix' can only be used with {$p}sort=name"), array('code' => 'badparams', 'info' => "Parameters '{$p}user' and '{$p}filterbots' cannot be used together"), array('code' => 'unsupportedrepo', 'info' => 'Local file repository does not support querying all images'), array('code' => 'mimesearchdisabled', 'info' => 'MIME search disabled in Miser Mode'), array('code' => 'invalidsha1hash', 'info' => 'The SHA1 hash provided is not valid'), array('code' => 'invalidsha1base36hash', 'info' => 'The SHA1Base36 hash provided is not valid'))); }
public function __construct(ApiQuery $query, $moduleName) { parent::__construct($query, $moduleName, self::$settings[$moduleName]['code']); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('code' => 'search-text-disabled', 'info' => 'text search is disabled'), array('code' => 'search-title-disabled', 'info' => 'title search is disabled'), array('code' => 'search-error', 'info' => 'search error has occurred'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('invalidtitle', 'title'), array('code' => 'bad_image_title', 'info' => "The title for {$this->getModuleName()} query must be an image"), array('code' => '_badcontinue', 'info' => 'Invalid continue param. You should pass the original value returned by the previous query'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('missingparam', 'lang'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('code' => 'notloggedin', 'info' => 'You must be logged-in to have a watchlist'), array('show'), array('code' => 'bad_wlowner', 'info' => 'Specified user does not exist'), array('code' => 'bad_wltoken', 'info' => 'Incorrect watchlist token provided -- please set a correct token in Special:Preferences'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('show'), array('code' => 'permissiondenied', 'info' => 'You need the patrol right to request the patrolled flag'), array('code' => 'user-excludeuser', 'info' => 'user and excludeuser cannot be used together'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('code' => 'params', 'info' => 'Use "gapfilterredir=nonredirects" option instead of ' . '"redirects" when using allpages as a generator'), array('code' => 'params', 'info' => 'prlevel may not be used without prtype'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), $this->getTitleOrPageIdErrorMessage(), array(array('code' => 'invalidcategory', 'info' => 'The category name you entered is not valid'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('code' => '_badcontinue', 'info' => 'Invalid continue param. You should pass the original value returned by the previous query'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('code' => 'params', 'info' => 'Use "gaifilterredir=nonredirects" option instead of "redirects" when using allimages as a generator'), array('code' => 'unsupportedrepo', 'info' => 'Local file repository does not support querying all images'), array('code' => 'mimesearchdisabled', 'info' => 'MIME search disabled in Miser Mode'), array('code' => 'invalidsha1hash', 'info' => 'The SHA1 hash provided is not valid'), array('code' => 'invalidsha1base36hash', 'info' => 'The SHA1Base36 hash provided is not valid'), array('code' => '_badcontinue', 'info' => 'Invalid continue param. You should pass the original value returned by the previous query'))); }
public function getPossibleErrors() { $m = $this->getModuleName(); return array_merge(parent::getPossibleErrors(), array(array('code' => 'params', 'info' => "{$m} cannot be used as a generator in unique links mode"), array('code' => 'params', 'info' => "{$m} cannot return corresponding page ids in unique links mode"), array('code' => 'params', 'info' => 'alcontinue and alfrom cannot be used together'), array('code' => 'badcontinue', 'info' => 'Invalid continue parameter'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('specialpage-cantexecute'))); }
public function __construct($query, $moduleName) { parent::__construct($query, $moduleName, 'rp'); }
public function __construct(ApiQuery $query, $moduleName) { parent::__construct($query, $moduleName, 'ai'); $this->mRepo = RepoGroup::singleton()->getLocalRepo(); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('show'))); }
/** * This method is called by the generator base when generator in the smart-continue * mode tries to set 'query-continue' value. ApiQuery stores those values separately * until the post-processing when it is known if the generation should continue or repeat. * @param ApiQueryGeneratorBase $module generator module * @param string $paramName * @param mixed $paramValue * @return bool true if processed, false if this is a legacy continue */ public function setGeneratorContinue($module, $paramName, $paramValue) { if ($this->mUseLegacyContinue) { return false; } $paramName = $module->encodeParamName($paramName); if ($this->mGeneratorContinue === null) { $this->mGeneratorContinue = array(); } $this->mGeneratorContinue[$paramName] = $paramValue; return true; }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('code' => 'bad_query', 'info' => 'Invalid query'))); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), array(array('code' => 'bad_wlowner', 'info' => 'Specified user does not exist'), array('code' => 'bad_wltoken', 'info' => 'Incorrect watchlist token provided -- please set a correct token in Special:Preferences'), array('code' => 'notloggedin', 'info' => 'You must be logged-in to have a watchlist'), array('code' => 'patrol', 'info' => 'patrol property is not available'), array('show'), array('code' => 'permissiondenied', 'info' => 'You need the patrol right to request the patrolled flag'), array('code' => 'user-excludeuser', 'info' => 'user and excludeuser cannot be used together'))); }
public function __construct(ApiQuery $query, $moduleName) { // The prefix pp is already used by the pageprops module, so using wpp instead. parent::__construct($query, $moduleName, 'wpp'); }
public function __construct(ApiQuery $query, $moduleName) { parent::__construct($query, $moduleName, 'pt'); }
public function getPossibleErrors() { return array_merge(parent::getPossibleErrors(), $this->getTitleOrPageIdErrorMessage(), array(array('code' => 'bad_image_title', 'info' => "The title for {$this->getModuleName()} query must be an image"))); }