* @file
* @ingroup Pager
*/
+use MediaWiki\Linker\LinkRenderer;
/**
- * TODO: Allow sorting by count. We need to have a unique index to do this
- * properly.
- *
* @ingroup Pager
*/
class CategoryPager extends AlphabeticPager {
/**
- * @var PageLinkRenderer
+ * @var LinkRenderer
*/
protected $linkRenderer;
/**
* @param IContextSource $context
* @param string $from
- * @param PageLinkRenderer $linkRenderer
+ * @param LinkRenderer $linkRenderer
*/
- public function __construct( IContextSource $context, $from, PageLinkRenderer $linkRenderer
+ public function __construct( IContextSource $context, $from, LinkRenderer $linkRenderer
) {
parent::__construct( $context );
$from = str_replace( ' ', '_', $from );
return [
'tables' => [ 'category' ],
'fields' => [ 'cat_title', 'cat_pages' ],
- 'conds' => [ 'cat_pages > 0' ],
'options' => [ 'USE INDEX' => 'cat_title' ],
];
}
function getIndexField() {
-# return array( 'abc' => 'cat_title', 'count' => 'cat_pages' );
return 'cat_title';
}
return $this->mDefaultQuery;
}
-# protected function getOrderTypeMessages() {
-# return array( 'abc' => 'special-categories-sort-abc',
-# 'count' => 'special-categories-sort-count' );
-# }
-
- protected function getDefaultDirections() {
-# return array( 'abc' => false, 'count' => true );
- return false;
- }
-
/* Override getBody to apply LinksBatch on resultset before actually outputting anything. */
public function getBody() {
$batch = new LinkBatch;
$this->mResult->rewind();
foreach ( $this->mResult as $row ) {
- $batch->addObj( Title::makeTitleSafe( NS_CATEGORY, $row->cat_title ) );
+ $batch->addObj( new TitleValue( NS_CATEGORY, $row->cat_title ) );
}
$batch->execute();
$this->mResult->rewind();
function formatRow( $result ) {
$title = new TitleValue( NS_CATEGORY, $result->cat_title );
$text = $title->getText();
- $link = $this->linkRenderer->renderHtmlLink( $title, $text );
+ $link = $this->linkRenderer->makeLink( $title, $text );
$count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
return Html::rawElement( 'li', null, $this->getLanguage()->specialList( $link, $count ) ) . "\n";