$undoTooltip = $latest
? [ 'title' => $this->msg( 'tooltip-undo' )->text() ]
: [];
- $undolink = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
+ $undolink = $this->getLinkRenderer()->makeKnownLink(
$this->getTitle(),
$this->msg( 'editundo' )->text(),
$undoTooltip,
) {
return $cur;
} else {
- return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
+ return $this->getLinkRenderer()->makeKnownLink(
$this->getTitle(),
new HtmlArmor( $cur ),
[],
return $last;
}
- $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ $linkRenderer = $this->getLinkRenderer();
if ( $next === 'unknown' ) {
# Next row probably exists but is unknown, use an oldid=prev link
return $linkRenderer->makeKnownLink(
* @ingroup Pager
*/
-use Wikimedia\Rdbms\IResultWrapper;
-use Wikimedia\Rdbms\IDatabase;
+use MediaWiki\Linker\LinkRenderer;
use MediaWiki\Linker\LinkTarget;
+use MediaWiki\MediaWikiServices;
use MediaWiki\Navigation\PrevNextNavigationRenderer;
+use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\IResultWrapper;
/**
* IndexPager is an efficient pager which uses a (roughly unique) index in the
*/
public $mResult;
- public function __construct( IContextSource $context = null ) {
+ /** @var LinkRenderer */
+ private $linkRenderer;
+
+ public function __construct( IContextSource $context = null, LinkRenderer $linkRenderer = null ) {
if ( $context ) {
$this->setContext( $context );
}
? $dir[$this->mOrderType]
: $dir;
}
+ $this->linkRenderer = $linkRenderer;
}
/**
$attrs['class'] = "mw-{$type}link";
}
- return Linker::linkKnown(
+ return $this->getLinkRenderer()->makeKnownLink(
$this->getTitle(),
- $text,
+ new HtmlArmor( $text ),
$attrs,
$query + $this->getDefaultQuery()
);
return $prevNext->buildPrevNextNavigation( $title, $offset, $limit, $query, $atend );
}
+
+ protected function getLinkRenderer() {
+ if ( $this->linkRenderer === null ) {
+ $this->linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ }
+ return $this->linkRenderer;
+ }
}
* @ingroup Pager
*/
+use MediaWiki\Linker\LinkRenderer;
+
/**
* Table-based display with a user-selectable sort order
* @ingroup Pager
/** @var stdClass */
protected $mCurrentRow;
- public function __construct( IContextSource $context = null ) {
- if ( $context ) {
- $this->setContext( $context );
- }
+ public function __construct( IContextSource $context = null, LinkRenderer $linkRenderer = null ) {
+ parent::__construct( $context, $linkRenderer );
$this->mSort = $this->getRequest()->getText( 'sort' );
if ( !array_key_exists( $this->mSort, $this->getFieldNames() )
} elseif ( $this->getRequest()->getBool( 'desc' ) ) {
$this->mDefaultDirection = IndexPager::DIR_DESCENDING;
} /* Else leave it at whatever the class default is */
-
- parent::__construct();
}
/**
}
function formatValue( $field, $value ) {
- $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ $linkRenderer = $this->getLinkRenderer();
switch ( $field ) {
case 'am_title' :
$title = Title::makeTitle( NS_MEDIAWIKI, $value . $this->suffix );
$title = $linkRenderer->makeKnownLink( $title, $this->getLanguage()->lcfirst( $value ) );
} else {
$title = $linkRenderer->makeBrokenLink(
- $title,
- $this->getLanguage()->lcfirst( $value )
+ $title, $this->getLanguage()->lcfirst( $value )
);
}
if ( $this->mCurrentRow->am_talk_exists ) {
* @param array $conds
*/
public function __construct( $page, $conds ) {
+ parent::__construct( $page->getContext(), $page->getLinkRenderer() );
$this->conds = $conds;
$this->mDefaultDirection = IndexPager::DIR_DESCENDING;
- parent::__construct( $page->getContext() );
}
function getFieldNames() {
$formatted = '';
- $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ $linkRenderer = $this->getLinkRenderer();
switch ( $name ) {
case 'ipb_timestamp':
*/
private function getRestrictionListHTML( stdClass $row ) {
$items = [];
- $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ $linkRenderer = $this->getLinkRenderer();
foreach ( $this->restrictions as $restriction ) {
if ( $restriction->getBlockId() !== (int)$row->ipb_id ) {
*/
class CategoryPager extends AlphabeticPager {
- /**
- * @var LinkRenderer
- */
- protected $linkRenderer;
-
/**
* @param IContextSource $context
* @param string $from
*/
public function __construct( IContextSource $context, $from, LinkRenderer $linkRenderer
) {
- parent::__construct( $context );
+ parent::__construct( $context, $linkRenderer );
$from = str_replace( ' ', '_', $from );
if ( $from !== '' ) {
$from = Title::capitalize( $from, NS_CATEGORY );
$this->setOffset( $from );
$this->setIncludeOffset( true );
}
-
- $this->linkRenderer = $linkRenderer;
}
function getQueryInfo() {
function formatRow( $result ) {
$title = new TitleValue( NS_CATEGORY, $result->cat_title );
$text = $title->getText();
- $link = $this->linkRenderer->makeLink( $title, $text );
+ $link = $this->getLinkRenderer()->makeLink( $title, $text );
$count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
return Html::rawElement( 'li', null, $this->getLanguage()->specialList( $link, $count ) ) . "\n";
$classes = [];
$attribs = [];
- $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ $linkRenderer = $this->getLinkRenderer();
$page = null;
// Create a title for the revision if possible
function formatRevisionRow( $row ) {
$page = Title::makeTitle( $row->ar_namespace, $row->ar_title );
- $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ $linkRenderer = $this->getLinkRenderer();
$rev = new Revision( [
'title' => $page,
public function __construct( IContextSource $context, $userName = null, $search = '',
$including = false, $showAll = false
) {
- $this->setContext( $context );
+ parent::__construct( $context );
+
$this->mIncluding = $including;
$this->mShowAll = $showAll;
} else {
$this->mDefaultDirection = IndexPager::DIR_DESCENDING;
}
-
- parent::__construct( $context );
}
/**
*/
function formatValue( $field, $value ) {
$services = MediaWikiServices::getInstance();
- $linkRenderer = $services->getLinkRenderer();
+ $linkRenderer = $this->getLinkRenderer();
switch ( $field ) {
case 'thumb':
$opt = [ 'time' => wfTimestamp( TS_MW, $this->mCurrentRow->img_timestamp ) ];
$user = User::newFromId( $row->img_user );
$title = Title::makeTitle( NS_FILE, $name );
- $ul = MediaWikiServices::getInstance()->getLinkRenderer()->makeLink(
+ $ul = $this->getLinkRenderer()->makeLink(
$user->getUserPage(),
$user->getName()
);
public $mConds;
private $type, $level, $namespace, $sizetype, $size, $indefonly, $cascadeonly, $noredirect;
- /**
- * @var LinkRenderer
- */
- private $linkRenderer;
-
/**
* @param SpecialPage $form
* @param array $conds
$sizetype, $size, $indefonly, $cascadeonly, $noredirect,
LinkRenderer $linkRenderer
) {
+ parent::__construct( $form->getContext(), $linkRenderer );
$this->mConds = $conds;
$this->type = $type ?: 'edit';
$this->level = $level;
$this->indefonly = (bool)$indefonly;
$this->cascadeonly = (bool)$cascadeonly;
$this->noredirect = (bool)$noredirect;
- $this->linkRenderer = $linkRenderer;
- parent::__construct( $form->getContext() );
}
function preprocessResults( $result ) {
function formatValue( $field, $value ) {
/** @var object $row */
$row = $this->mCurrentRow;
+ $linkRenderer = $this->getLinkRenderer();
switch ( $field ) {
case 'log_timestamp':
)
);
} else {
- $formatted = $this->linkRenderer->makeLink( $title );
+ $formatted = $linkRenderer->makeLink( $title );
}
if ( !is_null( $row->page_len ) ) {
$formatted .= $this->getLanguage()->getDirMark() .
$value, /* User preference timezone */true ) );
$title = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
if ( $this->getUser()->isAllowed( 'protect' ) && $title ) {
- $changeProtection = $this->linkRenderer->makeKnownLink(
+ $changeProtection = $linkRenderer->makeKnownLink(
$title,
$this->msg( 'protect_change' )->text(),
[],
* another page
*/
public function __construct( IContextSource $context = null, $par = null, $including = null ) {
- if ( $context ) {
- $this->setContext( $context );
- }
-
$request = $this->getRequest();
$par = $par ?? '';
$parms = explode( '/', $par );
}
}
- parent::__construct();
+ parent::__construct( $context );
}
/**