Use SpecialPage::getLinkRenderer and pass it to the pagers
Since I082152b64141f1a9a4085bba23fe81a99ec8d886 it is a property in the
IndexPager and can be used by getLinkRenderer
Change-Id: I2be8a8b9f2b0b8c04fe9e18aa1959987fc125f50
13 files changed:
$opts->fetchValuesFromRequest( $this->getRequest() );
$opts->validateIntBounds( 'limit', 0, 5000 );
$opts->fetchValuesFromRequest( $this->getRequest() );
$opts->validateIntBounds( 'limit', 0, 5000 );
- $pager = new AllMessagesTablePager( $this->getContext(), $opts );
+ $pager = new AllMessagesTablePager( $this->getContext(), $opts, $this->getLinkRenderer() );
$formDescriptor = [
'prefix' => [
$formDescriptor = [
'prefix' => [
'hideMinor' => $this->opts['hideMinor'],
'nsInvert' => $this->opts['nsInvert'],
'associated' => $this->opts['associated'],
'hideMinor' => $this->opts['hideMinor'],
'nsInvert' => $this->opts['nsInvert'],
'associated' => $this->opts['associated'],
+ ], $this->getLinkRenderer() );
if ( IP::isValidRange( $target ) && !$pager->isQueryableRange( $target ) ) {
// Valid range, but outside CIDR limit.
if ( IP::isValidRange( $target ) && !$pager->isQueryableRange( $target ) ) {
// Valid range, but outside CIDR limit.
- $pager = new DeletedContribsPager( $this->getContext(), $target, $opts->getValue( 'namespace' ) );
+ $pager = new DeletedContribsPager( $this->getContext(), $target, $opts->getValue( 'namespace' ),
+ $this->getLinkRenderer() );
if ( !$pager->getNumRows() ) {
$out->addWikiMsg( 'nocontribs' );
if ( !$pager->getNumRows() ) {
$out->addWikiMsg( 'nocontribs' );
$userName,
$search,
$this->including(),
$userName,
$search,
$this->including(),
+ $showAll,
+ $this->getLinkRenderer()
);
$out = $this->getOutput();
);
$out = $this->getOutput();
$this->buildForm( $context );
}
$this->buildForm( $context );
}
- $pager = new NewFilesPager( $context, $opts );
+ $pager = new NewFilesPager( $context, $opts, $this->getLinkRenderer() );
$out->addHTML( $pager->getBody() );
if ( !$this->including() ) {
$out->addHTML( $pager->getBody() );
if ( !$this->including() ) {
*/
use MediaWiki\MediaWikiServices;
*/
use MediaWiki\MediaWikiServices;
+use MediaWiki\Linker\LinkRenderer;
use Wikimedia\Rdbms\FakeResultWrapper;
/**
use Wikimedia\Rdbms\FakeResultWrapper;
/**
/**
* @param IContextSource|null $context
* @param FormOptions $opts
/**
* @param IContextSource|null $context
* @param FormOptions $opts
+ * @param LinkRenderer $linkRenderer
- public function __construct( IContextSource $context = null, FormOptions $opts ) {
- parent::__construct( $context );
+ public function __construct( IContextSource $context = null, FormOptions $opts,
+ LinkRenderer $linkRenderer
+ ) {
+ parent::__construct( $context, $linkRenderer );
$this->mIndexField = 'am_title';
// FIXME: Why does this need to be set to DIR_DESCENDING to produce ascending ordering?
$this->mIndexField = 'am_title';
// FIXME: Why does this need to be set to DIR_DESCENDING to produce ascending ordering?
* @ingroup Pager
*/
use MediaWiki\MediaWikiServices;
* @ingroup Pager
*/
use MediaWiki\MediaWikiServices;
+use MediaWiki\Linker\LinkRenderer;
use MediaWiki\Storage\RevisionRecord;
use Wikimedia\Rdbms\IResultWrapper;
use Wikimedia\Rdbms\FakeResultWrapper;
use MediaWiki\Storage\RevisionRecord;
use Wikimedia\Rdbms\IResultWrapper;
use Wikimedia\Rdbms\FakeResultWrapper;
*/
private $templateParser;
*/
private $templateParser;
- public function __construct( IContextSource $context, array $options ) {
+ public function __construct( IContextSource $context, array $options,
+ LinkRenderer $linkRenderer = null
+ ) {
// Set ->target before calling parent::__construct() so
// parent can call $this->getIndexField() and get the right result. Set
// the rest too just to keep things simple.
// Set ->target before calling parent::__construct() so
// parent can call $this->getIndexField() and get the right result. Set
// the rest too just to keep things simple.
$this->newOnly = !empty( $options['newOnly'] );
$this->hideMinor = !empty( $options['hideMinor'] );
$this->newOnly = !empty( $options['newOnly'] );
$this->hideMinor = !empty( $options['hideMinor'] );
- parent::__construct( $context );
+ parent::__construct( $context, $linkRenderer );
+use MediaWiki\Linker\LinkRenderer;
use MediaWiki\MediaWikiServices;
use MediaWiki\Storage\RevisionRecord;
use Wikimedia\Rdbms\IDatabase;
use MediaWiki\MediaWikiServices;
use MediaWiki\Storage\RevisionRecord;
use Wikimedia\Rdbms\IDatabase;
*/
protected $mNavigationBar;
*/
protected $mNavigationBar;
- public function __construct( IContextSource $context, $target, $namespace = false ) {
- parent::__construct( $context );
+ public function __construct( IContextSource $context, $target, $namespace = false,
+ LinkRenderer $linkRenderer
+ ) {
+ parent::__construct( $context, $linkRenderer );
$msgs = [ 'deletionlog', 'undeleteviewlink', 'diff' ];
foreach ( $msgs as $msg ) {
$this->messages[$msg] = $this->msg( $msg )->text();
$msgs = [ 'deletionlog', 'undeleteviewlink', 'diff' ];
foreach ( $msgs as $msg ) {
$this->messages[$msg] = $this->msg( $msg )->text();
+use MediaWiki\Linker\LinkRenderer;
use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\IResultWrapper;
use Wikimedia\Rdbms\FakeResultWrapper;
use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\IResultWrapper;
use Wikimedia\Rdbms\FakeResultWrapper;
protected $mTableName = 'image';
public function __construct( IContextSource $context, $userName = null, $search = '',
protected $mTableName = 'image';
public function __construct( IContextSource $context, $userName = null, $search = '',
- $including = false, $showAll = false
+ $including = false, $showAll = false, LinkRenderer $linkRenderer
) {
$this->setContext( $context );
) {
$this->setContext( $context );
$this->mDefaultDirection = IndexPager::DIR_DESCENDING;
}
$this->mDefaultDirection = IndexPager::DIR_DESCENDING;
}
+ parent::__construct( $context, $linkRenderer );
+use MediaWiki\Linker\LinkRenderer;
use MediaWiki\MediaWikiServices;
class NewFilesPager extends RangeChronologicalPager {
use MediaWiki\MediaWikiServices;
class NewFilesPager extends RangeChronologicalPager {
/**
* @param IContextSource $context
* @param FormOptions $opts
/**
* @param IContextSource $context
* @param FormOptions $opts
+ * @param LinkRenderer $linkRenderer
- public function __construct( IContextSource $context, FormOptions $opts ) {
- parent::__construct( $context );
+ public function __construct( IContextSource $context, FormOptions $opts,
+ LinkRenderer $linkRenderer
+ ) {
+ parent::__construct( $context, $linkRenderer );
$this->opts = $opts;
$this->setLimit( $opts->getValue( 'limit' ) );
$this->opts = $opts;
$this->setLimit( $opts->getValue( 'limit' ) );
+use MediaWiki\MediaWikiServices;
use Wikimedia\TestingAccessWrapper;
/**
use Wikimedia\TestingAccessWrapper;
/**
/** @var ContribsPager */
private $pager;
/** @var ContribsPager */
private $pager;
+ /** @var LinkRenderer */
+ private $linkRenderer;
+
+ $this->linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
$context = new RequestContext();
$this->pager = new ContribsPager( $context, [
'start' => '2017-01-01',
'end' => '2017-02-02',
$context = new RequestContext();
$this->pager = new ContribsPager( $context, [
'start' => '2017-01-01',
'end' => '2017-02-02',
+ ], $this->linkRenderer );
$pager = new ContribsPager( new RequestContext(), [
'start' => '',
'end' => '',
$pager = new ContribsPager( new RequestContext(), [
'start' => '',
'end' => '',
+ ], $this->linkRenderer );
/** @var ContribsPager $pager */
$pager = TestingAccessWrapper::newFromObject( $pager );
/** @var ContribsPager $pager */
$pager = TestingAccessWrapper::newFromObject( $pager );
'target' => '116.17.184.5/32',
'start' => '',
'end' => '',
'target' => '116.17.184.5/32',
'start' => '',
'end' => '',
+ ], $this->linkRenderer );
/** @var ContribsPager $pager */
$pager = TestingAccessWrapper::newFromObject( $pager );
/** @var ContribsPager $pager */
$pager = TestingAccessWrapper::newFromObject( $pager );
+
+use MediaWiki\MediaWikiServices;
+
/**
* Test class for ImageListPagerTest class.
*
/**
* Test class for ImageListPagerTest class.
*
* @covers ImageListPager::formatValue
*/
public function testFormatValuesThrowException() {
* @covers ImageListPager::formatValue
*/
public function testFormatValuesThrowException() {
- $page = new ImageListPager( RequestContext::getMain() );
+ $page = new ImageListPager( RequestContext::getMain(), null, '', false, false,
+ MediaWikiServices::getInstance()->getLinkRenderer() );
$page->formatValue( 'invalid_field', 'invalid_value' );
}
}
$page->formatValue( 'invalid_field', 'invalid_value' );
}
}
*/
class BlockListPagerTest extends MediaWikiTestCase {
*/
class BlockListPagerTest extends MediaWikiTestCase {
+ /**
+ * @var LinkRenderer
+ */
+ private $linkRenderer;
+
+ protected function setUp() {
+ parent::setUp();
+
+ $this->linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ }
+
/**
* @covers ::formatValue
* @dataProvider formatValueEmptyProvider
/**
* @covers ::formatValue
* @dataProvider formatValueEmptyProvider
$expected = $expected ?? MWTimestamp::getInstance()->format( 'H:i, j F Y' );
$row = $row ?: new stdClass;
$expected = $expected ?? MWTimestamp::getInstance()->format( 'H:i, j F Y' );
$row = $row ?: new stdClass;
- $pager = new BlockListPager( new SpecialPage(), [] );
+ $pager = new BlockListPager( new SpecialPage(), [], $this->linkRenderer );
$wrappedPager = TestingAccessWrapper::newFromObject( $pager );
$wrappedPager->mCurrentRow = $row;
$wrappedPager = TestingAccessWrapper::newFromObject( $pager );
$wrappedPager->mCurrentRow = $row;
'wgScript' => '/w/index.php',
] );
'wgScript' => '/w/index.php',
] );
- $pager = new BlockListPager( new SpecialPage(), [] );
+ $pager = new BlockListPager( new SpecialPage(), [], $this->linkRenderer );
$row = (object)[
'ipb_id' => 0,
$row = (object)[
'ipb_id' => 0,
'ipb_sitewide' => 1,
'ipb_timestamp' => $this->db->timestamp( wfTimestamp( TS_MW ) ),
];
'ipb_sitewide' => 1,
'ipb_timestamp' => $this->db->timestamp( wfTimestamp( TS_MW ) ),
];
- $pager = new BlockListPager( new SpecialPage(), [] );
+ $pager = new BlockListPager( new SpecialPage(), [], $this->linkRenderer );
$pager->preprocessResults( [ $row ] );
foreach ( $links as $link ) {
$pager->preprocessResults( [ $row ] );
foreach ( $links as $link ) {
'by_user_name' => 'Admin',
'ipb_sitewide' => 1,
];
'by_user_name' => 'Admin',
'ipb_sitewide' => 1,
];
- $pager = new BlockListPager( new SpecialPage(), [] );
+ $pager = new BlockListPager( new SpecialPage(), [], $this->linkRenderer );
$pager->preprocessResults( [ $row ] );
$this->assertObjectNotHasAttribute( 'ipb_restrictions', $row );
$pager->preprocessResults( [ $row ] );
$this->assertObjectNotHasAttribute( 'ipb_restrictions', $row );
$result = $this->db->select( 'ipblocks', [ '*' ], [ 'ipb_id' => $block->getId() ] );
$result = $this->db->select( 'ipblocks', [ '*' ], [ 'ipb_id' => $block->getId() ] );
- $pager = new BlockListPager( new SpecialPage(), [] );
+ $pager = new BlockListPager( new SpecialPage(), [], $this->linkRenderer );
$pager->preprocessResults( $result );
$wrappedPager = TestingAccessWrapper::newFromObject( $pager );
$pager->preprocessResults( $result );
$wrappedPager = TestingAccessWrapper::newFromObject( $pager );