diff options
Diffstat (limited to 'www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/SpecialProcessingErrorList.php')
-rw-r--r-- | www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/SpecialProcessingErrorList.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/SpecialProcessingErrorList.php b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/SpecialProcessingErrorList.php new file mode 100644 index 00000000..6236f338 --- /dev/null +++ b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Specials/SpecialProcessingErrorList.php @@ -0,0 +1,68 @@ +<?php + +namespace SMW\MediaWiki\Specials; + +use SMW\ApplicationFactory; +use SpecialPage; + +/** + * Convenience special page that just redirects to Special:Ask with a preset + * of necessary parameters to query the processing error list. + * + * @license GNU GPL v2+ + * @since 2.5 + * + * @author mwjames + */ +class SpecialProcessingErrorList extends SpecialPage { + + /** + * @codeCoverageIgnore + */ + public function __construct() { + parent::__construct( 'ProcessingErrorList' ); + } + + /** + * @see SpecialPage::execute + */ + public function execute( $query ) { + + $limit = ApplicationFactory::getInstance()->getSettings()->dotGet( 'smwgPagingLimit.errorlist' ); + + $this->getOutput()->redirect( + $this->getLocalAskRedirectUrl( $limit ) + ); + + return true; + } + + /** + * @since 2.5 + * + * @param integer $limit + * + * @return string + */ + public function getLocalAskRedirectUrl( $limit = 20 ) { + return SpecialPage::getTitleFor( 'Ask' )->getLocalUrl( + [ + 'q' => '[[Has processing error text::+]]', + 'po' => '?Has improper value for|?Has processing error text', + 'p' => 'class=sortable-20wikitable-20smwtable-2Dstriped', + 'eq' => 'no', + 'limit' => $limit, + 'bTitle' => 'processingerrorlist', + 'bMsg' => 'smw-processingerrorlist-intro' + ] + ); + } + + /** + * @see SpecialPage::getGroupName + */ + protected function getGroupName() { + return 'smw_group'; + } + +} |