*/
use MediaWiki\Linker\LinkTarget;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Storage\RevisionRecord;
/**
* Some internal bits split of from Skin.php. These functions are used
$items[] = self::link( $contribsPage, wfMessage( 'contribslink' )->escaped(), $attribs );
}
- if ( $blockable && $wgUser->isAllowed( 'block' ) ) {
+ $userCanBlock = MediaWikiServices::getInstance()->getPermissionManager()
+ ->userHasRight( $wgUser, 'block' );
+ if ( $blockable && $userCanBlock ) {
$items[] = self::blockLink( $userId, $userText );
}
* @return string HTML fragment
*/
public static function revUserLink( $rev, $isPublic = false ) {
- if ( $rev->isDeleted( Revision::DELETED_USER ) && $isPublic ) {
+ if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) && $isPublic ) {
$link = wfMessage( 'rev-deleted-user' )->escaped();
- } elseif ( $rev->userCan( Revision::DELETED_USER ) ) {
- $link = self::userLink( $rev->getUser( Revision::FOR_THIS_USER ),
- $rev->getUserText( Revision::FOR_THIS_USER ) );
+ } elseif ( $rev->userCan( RevisionRecord::DELETED_USER ) ) {
+ $link = self::userLink( $rev->getUser( RevisionRecord::FOR_THIS_USER ),
+ $rev->getUserText( RevisionRecord::FOR_THIS_USER ) );
} else {
$link = wfMessage( 'rev-deleted-user' )->escaped();
}
- if ( $rev->isDeleted( Revision::DELETED_USER ) ) {
+ if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) {
return '<span class="history-deleted">' . $link . '</span>';
}
return $link;
* @return string HTML
*/
public static function revUserTools( $rev, $isPublic = false, $useParentheses = true ) {
- if ( $rev->userCan( Revision::DELETED_USER ) &&
- ( !$rev->isDeleted( Revision::DELETED_USER ) || !$isPublic )
+ if ( $rev->userCan( RevisionRecord::DELETED_USER ) &&
+ ( !$rev->isDeleted( RevisionRecord::DELETED_USER ) || !$isPublic )
) {
- $userId = $rev->getUser( Revision::FOR_THIS_USER );
- $userText = $rev->getUserText( Revision::FOR_THIS_USER );
+ $userId = $rev->getUser( RevisionRecord::FOR_THIS_USER );
+ $userText = $rev->getUserText( RevisionRecord::FOR_THIS_USER );
if ( $userId || (string)$userText !== '' ) {
$link = self::userLink( $userId, $userText )
. self::userToolLinks( $userId, $userText, false, 0, null,
$link = wfMessage( 'rev-deleted-user' )->escaped();
}
- if ( $rev->isDeleted( Revision::DELETED_USER ) ) {
+ if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) {
return ' <span class="history-deleted mw-userlink">' . $link . '</span>';
}
return $link;
$services->getNamespaceInfo()->getCanonicalName( NS_MEDIA ), '/' );
$medians .= '|';
$medians .= preg_quote(
- MediaWikiServices::getInstance()->getContentLanguage()->getNsText( NS_MEDIA ),
+ $services->getContentLanguage()->getNsText( NS_MEDIA ),
'/'
) . '):';
}
if ( $match[1] !== false && $match[1] !== '' ) {
if ( preg_match(
- MediaWikiServices::getInstance()->getContentLanguage()->linkTrail(),
+ $services->getContentLanguage()->linkTrail(),
$match[3],
$submatch
) ) {
Title::newFromText( $linkTarget );
try {
- $target = MediaWikiServices::getInstance()->getTitleParser()->
+ $target = $services->getTitleParser()->
parseTitle( $linkTarget );
if ( $target->getText() == '' && !$target->isExternal()
public static function revComment( Revision $rev, $local = false, $isPublic = false,
$useParentheses = true
) {
- if ( $rev->getComment( Revision::RAW ) == "" ) {
+ if ( $rev->getComment( RevisionRecord::RAW ) == "" ) {
return "";
}
- if ( $rev->isDeleted( Revision::DELETED_COMMENT ) && $isPublic ) {
+ if ( $rev->isDeleted( RevisionRecord::DELETED_COMMENT ) && $isPublic ) {
$block = " <span class=\"comment\">" . wfMessage( 'rev-deleted-comment' )->escaped() . "</span>";
- } elseif ( $rev->userCan( Revision::DELETED_COMMENT ) ) {
- $block = self::commentBlock( $rev->getComment( Revision::FOR_THIS_USER ),
+ } elseif ( $rev->userCan( RevisionRecord::DELETED_COMMENT ) ) {
+ $block = self::commentBlock( $rev->getComment( RevisionRecord::FOR_THIS_USER ),
$rev->getTitle(), $local, null, $useParentheses );
} else {
$block = " <span class=\"comment\">" . wfMessage( 'rev-deleted-comment' )->escaped() . "</span>";
}
- if ( $rev->isDeleted( Revision::DELETED_COMMENT ) ) {
+ if ( $rev->isDeleted( RevisionRecord::DELETED_COMMENT ) ) {
return " <span class=\"history-deleted comment\">$block</span>";
}
return $block;
*
* @since 1.16.3
* @param string $toc Html of the Table Of Contents
- * @param string|Language|bool|null $lang Language for the toc title, defaults to user language.
- * The types string and bool are deprecated.
+ * @param Language|null $lang Language for the toc title, defaults to user language
* @return string Full html of the TOC
*/
- public static function tocList( $toc, $lang = null ) {
+ public static function tocList( $toc, Language $lang = null ) {
$lang = $lang ?? RequestContext::getMain()->getLanguage();
- if ( !$lang instanceof Language ) {
- wfDeprecated( __METHOD__ . ' with type other than Language for $lang', '1.33' );
- $lang = wfGetLangObj( $lang );
- }
$title = wfMessage( 'toc' )->inLanguage( $lang )->escaped();
*
* @since 1.16.3. $lang added in 1.17
* @param array $tree Return value of ParserOutput::getSections()
- * @param string|Language|bool|null $lang Language for the toc title, defaults to user language.
- * The types string and bool are deprecated.
+ * @param Language|null $lang Language for the toc title, defaults to user language
* @return string HTML fragment
*/
- public static function generateTOC( $tree, $lang = null ) {
+ public static function generateTOC( $tree, Language $lang = null ) {
$toc = '';
$lastLevel = 0;
foreach ( $tree as $section ) {
$editCount = 0;
$moreRevs = false;
foreach ( $res as $row ) {
- if ( $rev->getUserText( Revision::RAW ) != $row->rev_user_text ) {
+ if ( $rev->getUserText( RevisionRecord::RAW ) != $row->rev_user_text ) {
if ( $verify &&
- ( $row->rev_deleted & Revision::DELETED_TEXT
- || $row->rev_deleted & Revision::DELETED_USER
+ ( $row->rev_deleted & RevisionRecord::DELETED_TEXT
+ || $row->rev_deleted & RevisionRecord::DELETED_USER
) ) {
// If the user or the text of the revision we might rollback
// to is deleted in some way we can't rollback. Similar to
* @return string HTML fragment
*/
public static function getRevDeleteLink( User $user, Revision $rev, LinkTarget $title ) {
- $canHide = $user->isAllowed( 'deleterevision' );
- if ( !$canHide && !( $rev->getVisibility() && $user->isAllowed( 'deletedhistory' ) ) ) {
+ $permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
+ $canHide = $permissionManager->userHasRight( $user, 'deleterevision' );
+ $canHideHistory = $permissionManager->userHasRight( $user, 'deletedhistory' );
+ if ( !$canHide && !( $rev->getVisibility() && $canHideHistory ) ) {
return '';
}
- if ( !$rev->userCan( Revision::DELETED_RESTRICTED, $user ) ) {
+ if ( !$rev->userCan( RevisionRecord::DELETED_RESTRICTED, $user ) ) {
return self::revDeleteLinkDisabled( $canHide ); // revision was hidden from sysops
}
$prefixedDbKey = MediaWikiServices::getInstance()->getTitleFormatter()->
];
}
return self::revDeleteLink( $query,
- $rev->isDeleted( Revision::DELETED_RESTRICTED ), $canHide );
+ $rev->isDeleted( RevisionRecord::DELETED_RESTRICTED ), $canHide );
}
/**