mediawiki-extensions-Discus.../includes/SpecialTopicSubscriptions.php

57 lines
1.2 KiB
PHP
Raw Normal View History

<?php
namespace MediaWiki\Extension\DiscussionTools;
use MediaWiki\Cache\LinkBatchFactory;
use MediaWiki\Linker\LinkRenderer;
use SpecialPage;
class SpecialTopicSubscriptions extends SpecialPage {
/** @var LinkRenderer */
private $linkRenderer;
/** @var LinkBatchFactory */
private $linkBatchFactory;
/**
* @param LinkRenderer $linkRenderer
* @param LinkBatchFactory $linkBatchFactory
*/
public function __construct(
LinkRenderer $linkRenderer,
LinkBatchFactory $linkBatchFactory
) {
parent::__construct( 'TopicSubscriptions' );
$this->linkRenderer = $linkRenderer;
$this->linkBatchFactory = $linkBatchFactory;
}
/**
* @inheritDoc
*/
public function execute( $subpage ) {
$this->requireLogin();
parent::execute( $subpage );
$this->getOutput()->addHtml( $this->msg( 'discussiontools-topicsubscription-special-intro' )->parseAsBlock() );
$this->getOutput()->enableOOUI();
$pager = new TopicSubscriptionsPager(
$this->getContext(),
$this->linkRenderer,
$this->linkBatchFactory
);
$this->getOutput()->addParserOutputContent( $pager->getFullOutput() );
}
/**
* @inheritDoc
*/
public function getDescription() {
return $this->msg( 'discussiontools-topicsubscription-special-title' )->text();
}
}