public function __construct($query, $moduleName)
 {
     switch ($moduleName) {
         case 'alllinks':
             $prefix = 'al';
             $this->table = 'pagelinks';
             $this->tablePrefix = 'pl_';
             $this->dfltNamespace = NS_MAIN;
             $this->indexTag = 'l';
             $this->description = 'Enumerate all links that point to a given namespace';
             $this->descriptionLink = 'link';
             $this->descriptionLinked = 'linked';
             $this->descriptionLinking = 'linking';
             break;
         case 'alltransclusions':
             $prefix = 'at';
             $this->table = 'templatelinks';
             $this->tablePrefix = 'tl_';
             $this->dfltNamespace = NS_TEMPLATE;
             $this->indexTag = 't';
             $this->description = 'List all transclusions (pages embedded using {{x}}), including non-existing';
             $this->descriptionLink = 'transclusion';
             $this->descriptionLinked = 'transcluded';
             $this->descriptionLinking = 'transcluding';
             break;
         default:
             ApiBase::dieDebug(__METHOD__, 'Unknown module name');
     }
     parent::__construct($query, $moduleName, $prefix);
 }
	public function __construct( $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(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];
         }
     }
 }
Example #4
0
 public function __construct($query, $moduleName)
 {
     parent::__construct($query, $moduleName, 'qp');
     // We need to do this to make sure $wgQueryPages is set up
     // This SUCKS
     global $IP;
     require_once "{$IP}/includes/QueryPage.php";
     // Build mapping from special page names to QueryPage classes
     global $wgQueryPages;
     $this->qpMap = array();
     foreach ($wgQueryPages as $page) {
         if (!in_array($page[1], $this->uselessQueryPages)) {
             $this->qpMap[$page[1]] = $page[0];
         }
     }
 }
Example #5
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);
 }
Example #6
0
 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);
 }
Example #8
0
 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);
 }
Example #10
0
 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 __construct(ApiQuery $query, $moduleName)
 {
     parent::__construct($query, $moduleName, 'ai');
     $this->mRepo = RepoGroup::singleton()->getLocalRepo();
 }
Example #12
0
 public function __construct(ApiQuery $query, $moduleName)
 {
     parent::__construct($query, $moduleName, self::$settings[$moduleName]['code']);
 }
Example #13
0
 public function __construct($query, $moduleName)
 {
     // Keep the prefix compatible with list=search
     parent::__construct($query, $moduleName, 'sr');
 }
Example #14
0
 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';
             $this->description = 'Enumerate all links that point to a given namespace';
             $this->descriptionWhat = 'link';
             $this->descriptionTargets = 'linked titles';
             $this->descriptionLinking = 'linking';
             break;
         case 'alltransclusions':
             $prefix = 'at';
             $this->table = 'templatelinks';
             $this->tablePrefix = 'tl_';
             $this->dfltNamespace = NS_TEMPLATE;
             $this->useIndex = 'tl_namespace';
             $this->indexTag = 't';
             $this->description = 'List all transclusions (pages embedded using {{x}}), including non-existing';
             $this->descriptionWhat = 'transclusion';
             $this->descriptionTargets = 'transcluded titles';
             $this->descriptionLinking = 'transcluding';
             break;
         case 'allfileusages':
             $prefix = 'af';
             $this->table = 'imagelinks';
             $this->tablePrefix = 'il_';
             $this->fieldTitle = 'to';
             $this->dfltNamespace = NS_FILE;
             $this->hasNamespace = false;
             $this->indexTag = 'f';
             $this->description = 'List all file usages, including non-existing';
             $this->descriptionWhat = 'file';
             $this->descriptionTargets = 'file titles';
             $this->descriptionLinking = 'using';
             break;
         case 'allredirects':
             $prefix = 'ar';
             $this->table = 'redirect';
             $this->tablePrefix = 'rd_';
             $this->indexTag = 'r';
             $this->description = 'List all redirects to a namespace';
             $this->descriptionWhat = 'redirect';
             $this->descriptionTargets = 'target pages';
             $this->descriptionLinking = 'redirecting';
             $this->props = array('fragment' => 'rd_fragment', 'interwiki' => 'rd_interwiki');
             $this->propHelp = array(' fragment - Adds the fragment from the redirect, if any', ' interwiki - Adds the interwiki prefix from the redirect, if any');
             break;
         default:
             ApiBase::dieDebug(__METHOD__, 'Unknown module name');
     }
     parent::__construct($query, $moduleName, $prefix);
 }
Example #15
0
 public function __construct($query, $moduleName)
 {
     parent::__construct($query, $moduleName, 'cl');
 }
 public function __construct(ApiQuery $query, $moduleName)
 {
     parent::__construct($query, $moduleName, 'pt');
 }
 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');
 }