* @author <evan@wikitravel.org>
*/
+use MediaWiki\MediaWikiServices;
+
/**
* @ingroup Actions
*/
if ( $this->canShowRealUserName() && !$user->isAnon() ) {
$real = $user->getRealName();
} else {
- $real = false;
+ $real = $user->getName();
}
$page = $user->isAnon()
? SpecialPage::getTitleFor( 'Contributions', $user->getName() )
: $user->getUserPage();
- return Linker::link( $page, htmlspecialchars( $real ? $real : $user->getName() ) );
+ return MediaWikiServices::getInstance()
+ ->getLinkRenderer()->makeLink( $page, $real );
}
/**
* @return string HTML link
*/
protected function othersLink() {
- return Linker::linkKnown(
+ return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
$this->getTitle(),
- $this->msg( 'others' )->escaped(),
+ $this->msg( 'others' )->text(),
[],
[ 'action' => 'credits' ]
);
* @ingroup Actions
*/
+use MediaWiki\MediaWikiServices;
+
/**
* This class handles printing the history page for an article. In order to
* be efficient, it uses timestamps rather than offsets for paging, to avoid
protected function getDescription() {
// Creation of a subtitle link pointing to [[Special:Log]]
- return Linker::linkKnown(
+ return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
SpecialPage::getTitleFor( 'Log' ),
- $this->msg( 'viewpagelogs' )->escaped(),
+ $this->msg( 'viewpagelogs' )->text(),
[],
[ 'page' => $this->getTitle()->getPrefixedText() ]
);
$undoTooltip = $latest
? [ 'title' => $this->msg( 'tooltip-undo' )->text() ]
: [];
- $undolink = Linker::linkKnown(
+ $undolink = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
$this->getTitle(),
- $this->msg( 'editundo' )->escaped(),
+ $this->msg( 'editundo' )->text(),
$undoTooltip,
[
'action' => 'edit',
*/
function revLink( $rev ) {
$date = $this->getLanguage()->userTimeAndDate( $rev->getTimestamp(), $this->getUser() );
- $date = htmlspecialchars( $date );
if ( $rev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) {
- $link = Linker::linkKnown(
+ $link = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
$this->getTitle(),
$date,
[ 'class' => 'mw-changeslist-date' ],
[ 'oldid' => $rev->getId() ]
);
} else {
- $link = $date;
+ $link = htmlspecialchars( $date );
}
if ( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
$link = "<span class=\"history-deleted\">$link</span>";
if ( $latest || !$rev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) {
return $cur;
} else {
- return Linker::linkKnown(
+ return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
$this->getTitle(),
$cur,
[],
return $last;
}
+ $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
if ( $next === 'unknown' ) {
# Next row probably exists but is unknown, use an oldid=prev link
- return Linker::linkKnown(
+ return $linkRenderer->makeKnownLink(
$this->getTitle(),
$last,
[],
return $last;
}
- return Linker::linkKnown(
+ return $linkRenderer->makeKnownLink(
$this->getTitle(),
$last,
[],
if ( $title->isRedirect() ) {
$pageInfo['header-basic'][] = [
$this->msg( 'pageinfo-redirectsto' ),
- Linker::link( $this->page->getRedirectTarget() ) .
+ $linkRenderer->makeLink( $this->page->getRedirectTarget() ) .
$this->msg( 'word-separator' )->escaped() .
- $this->msg( 'parentheses' )->rawParams( Linker::link(
+ $this->msg( 'parentheses' )->rawParams( $linkRenderer->makeLink(
$this->page->getRedirectTarget(),
- $this->msg( 'pageinfo-redirectsto-info' )->escaped(),
+ $this->msg( 'pageinfo-redirectsto-info' )->text(),
[],
[ 'action' => 'info' ]
) )->escaped()
) {
// Link to Special:PageLanguage with pre-filled page title if user has permissions
$titleObj = SpecialPage::getTitleFor( 'PageLanguage', $title->getPrefixedText() );
- $langDisp = Linker::link(
+ $langDisp = $linkRenderer->makeLink(
$titleObj,
- $this->msg( 'pageinfo-language' )->escaped()
+ $this->msg( 'pageinfo-language' )->text()
);
} else {
// Display just the message
// Redirects to this page
$whatLinksHere = SpecialPage::getTitleFor( 'Whatlinkshere', $title->getPrefixedText() );
$pageInfo['header-basic'][] = [
- Linker::link(
+ $linkRenderer->makeLink(
$whatLinksHere,
- $this->msg( 'pageinfo-redirects-name' )->escaped(),
+ $this->msg( 'pageinfo-redirects-name' )->text(),
[],
[
'hidelinks' => 1,
foreach ( $sources as $sourceTitle ) {
$cascadingFrom .= Html::rawElement(
- 'li', [], Linker::linkKnown( $sourceTitle ) );
+ 'li', [], $linkRenderer->makeKnownLink( $sourceTitle ) );
}
$cascadingFrom = Html::rawElement( 'ul', [], $cascadingFrom );
// Date of page creation
$pageInfo['header-edits'][] = [
$this->msg( 'pageinfo-firsttime' ),
- Linker::linkKnown(
+ $linkRenderer->makeKnownLink(
$title,
- htmlspecialchars( $lang->userTimeAndDate( $firstRev->getTimestamp(), $user ) ),
+ $lang->userTimeAndDate( $firstRev->getTimestamp(), $user ),
[],
[ 'oldid' => $firstRev->getId() ]
)
// Date of latest edit
$pageInfo['header-edits'][] = [
$this->msg( 'pageinfo-lasttime' ),
- Linker::linkKnown(
+ $linkRenderer->makeKnownLink(
$title,
- htmlspecialchars(
- $lang->userTimeAndDate( $this->page->getTimestamp(), $user )
- ),
+ $lang->userTimeAndDate( $this->page->getTimestamp(), $user ),
[],
[ 'oldid' => $this->page->getLatest() ]
)
if ( !$config->get( 'MiserMode' ) && $pageCounts['transclusion']['to'] > 0 ) {
if ( $pageCounts['transclusion']['to'] > count( $transcludedTargets ) ) {
- $more = Linker::link(
+ $more = $linkRenderer->makeLink(
$whatLinksHere,
- $this->msg( 'moredotdotdot' )->escaped(),
+ $this->msg( 'moredotdotdot' )->text(),
[],
[ 'hidelinks' => 1, 'hideredirs' => 1 ]
);
$real_names = [];
$user_names = [];
$anon_ips = [];
+ $linkRenderer = MediaWikiServices::getLinkRenderer();
# Sift for real versus user names
/** @var $user User */
$hiddenPrefs = $this->context->getConfig()->get( 'HiddenPrefs' );
if ( $user->getId() == 0 ) {
- $anon_ips[] = Linker::link( $page, htmlspecialchars( $user->getName() ) );
+ $anon_ips[] = $linkRenderer->makeLink( $page, $user->getName() );
} elseif ( !in_array( 'realname', $hiddenPrefs ) && $user->getRealName() ) {
- $real_names[] = Linker::link( $page, htmlspecialchars( $user->getRealName() ) );
+ $real_names[] = $linkRenderer->makeLink( $page, $user->getRealName() );
} else {
- $user_names[] = Linker::link( $page, htmlspecialchars( $user->getName() ) );
+ $user_names[] = $linkRenderer->makeLink( $page, $user->getName() );
}
}
* @ingroup Actions
*/
+use MediaWiki\MediaWikiServices;
+
/**
* Mark a revision as patrolled on a page
*
protected function preText() {
$rc = $this->getRecentChange();
$title = $rc->getTitle();
+ $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
// Based on logentry-patrol-patrol (see PatrolLogFormatter)
$revId = $rc->getAttribute( 'rc_this_oldid' );
'diff' => $revId,
'oldid' => $rc->getAttribute( 'rc_last_oldid' )
];
- $revlink = Linker::link( $title, htmlspecialchars( $revId ), [], $query );
- $pagelink = Linker::link( $title, htmlspecialchars( $title->getPrefixedText() ) );
+ $revlink = $linkRenderer->makeLink( $title, $revId, [], $query );
+ $pagelink = $linkRenderer->makeLink( $title, $title->getPrefixedText() );
return $this->msg( 'confirm-markpatrolled-top' )->params(
$title->getPrefixedText(),
function setExpiry( $cacheExpiry );
}
+use MediaWiki\MediaWikiServices;
+
/**
* Helper class for caching various elements in a single cache entry.
*
$subPage = explode( '/', $subPage, 2 );
$subPage = count( $subPage ) > 1 ? $subPage[1] : false;
- $message .= ' ' . Linker::link(
+ $message .= ' ' . MediaWikiServices::getInstance()->getLinkRenderer()->makeLink(
$context->getTitle( $subPage ),
- $context->msg( 'cachedspecial-refresh-now' )->escaped(),
+ $context->msg( 'cachedspecial-refresh-now' )->text(),
[],
$refreshArgs
);
* @ingroup Change tagging
*/
+use MediaWiki\MediaWikiServices;
+
/**
* Item class for a logging table row with its associated change tags.
* @todo Abstract out a base class for this and RevDelLogItem, similar to the
$formatter->setAudience( LogFormatter::FOR_THIS_USER );
// Log link for this page
- $loglink = Linker::link(
+ $loglink = MediaWikiServices::getInstance()->getLinkRenderer()->makeLink(
SpecialPage::getTitleFor( 'Log' ),
- $this->list->msg( 'log' )->escaped(),
+ $this->list->msg( 'log' )->text(),
[],
[ 'page' => $title->getPrefixedText() ]
);
* @since 1.25
*/
+use MediaWiki\MediaWikiServices;
+
/**
* This class formats block log entries.
*
public function getActionLinks() {
$subtype = $this->entry->getSubtype();
+ $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) // Action is hidden
|| !( $subtype === 'block' || $subtype === 'reblock' )
|| !$this->context->getUser()->isAllowed( 'block' )
// Show unblock/change block link
$title = $this->entry->getTarget();
$links = [
- Linker::linkKnown(
+ $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Unblock', $title->getDBkey() ),
- $this->msg( 'unblocklink' )->escaped()
+ $this->msg( 'unblocklink' )->text()
),
- Linker::linkKnown(
+ $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Block', $title->getDBkey() ),
- $this->msg( 'change-blocklink' )->escaped()
+ $this->msg( 'change-blocklink' )->text()
)
];
<?php
+use MediaWiki\MediaWikiServices;
+
class ContentModelLogFormatter extends LogFormatter {
protected function getMessageParameters() {
$lang = $this->context->getLanguage();
}
$params = $this->extractParameters();
- $revert = Linker::linkKnown(
+ $revert = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
SpecialPage::getTitleFor( 'ChangeContentModel' ),
- $this->msg( 'logentry-contentmodel-change-revertlink' )->escaped(),
+ $this->msg( 'logentry-contentmodel-change-revertlink' )->text(),
[],
[
'pagetitle' => $this->entry->getTarget()->getPrefixedText(),
* @since 1.22
*/
+use MediaWiki\MediaWikiServices;
+
/**
* This class formats delete log entries.
*
public function getActionLinks() {
$user = $this->context->getUser();
+ $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
if ( !$user->isAllowed( 'deletedhistory' )
|| $this->entry->isDeleted( LogPage::DELETED_ACTION )
) {
} else {
$message = 'undeleteviewlink';
}
- $revert = Linker::linkKnown(
+ $revert = $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Undelete' ),
- $this->msg( $message )->escaped(),
+ $this->msg( $message )->text(),
[],
[ 'target' => $this->entry->getTarget()->getPrefixedDBkey() ]
);
if ( count( $ids ) == 1 ) {
// Live revision diffs...
if ( $key == 'oldid' || $key == 'revision' ) {
- $links[] = Linker::linkKnown(
+ $links[] = $linkRenderer->makeKnownLink(
$this->entry->getTarget(),
- $this->msg( 'diff' )->escaped(),
+ $this->msg( 'diff' )->text(),
[],
[
'diff' => intval( $ids[0] ),
);
// Deleted revision diffs...
} elseif ( $key == 'artimestamp' || $key == 'archive' ) {
- $links[] = Linker::linkKnown(
+ $links[] = $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Undelete' ),
- $this->msg( 'diff' )->escaped(),
+ $this->msg( 'diff' )->text(),
[],
[
'target' => $this->entry->getTarget()->getPrefixedDBkey(),
}
// View/modify link...
- $links[] = Linker::linkKnown(
+ $links[] = $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Revisiondelete' ),
- $this->msg( 'revdel-restore' )->escaped(),
+ $this->msg( 'revdel-restore' )->text(),
[],
[
'target' => $this->entry->getTarget()->getPrefixedText(),
$query = implode( ',', $query );
}
// Link to each hidden object ID, $params[1] is the url param
- $revert = Linker::linkKnown(
+ $revert = $linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Revisiondelete' ),
- $this->msg( 'revdel-restore' )->escaped(),
+ $this->msg( 'revdel-restore' )->text(),
[],
[
'target' => $this->entry->getTarget()->getPrefixedText(),
* @file
*/
+use MediaWiki\MediaWikiServices;
+
class LogEventsList extends ContextSource {
const NO_ACTION_LINK = 1;
const NO_EXTRA_USER_LINKS = 2;
*/
private function getFilterLinks( $filter ) {
// show/hide links
- $messages = [ $this->msg( 'show' )->escaped(), $this->msg( 'hide' )->escaped() ];
+ $messages = [ $this->msg( 'show' )->text(), $this->msg( 'hide' )->text() ];
// Option value -> message mapping
$links = [];
$hiddens = ''; // keep track for "go" button
+ $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
foreach ( $filter as $type => $val ) {
// Should the below assignment be outside the foreach?
// Then it would have to be copied. Not certain what is more expensive.
$hideVal = 1 - intval( $val );
$query[$queryKey] = $hideVal;
- $link = Linker::linkKnown(
+ $link = $linkRenderer->makeKnownLink(
$this->getTitle(),
$messages[$hideVal],
[],
$urlParam = array_merge( $urlParam, $extraUrlParams );
}
- $s .= Linker::linkKnown(
+ $s .= MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
SpecialPage::getTitleFor( 'Log' ),
- $context->msg( 'log-fulllog' )->escaped(),
+ $context->msg( 'log-fulllog' )->text(),
[],
$urlParam
);