X-Git-Url: https://git.cyclocoop.org/%28%28?a=blobdiff_plain;f=includes%2FLinker.php;h=a79ec3a8f12b08eb8301135b0eadc77c05f3d6b8;hb=bb94f4964d1da0ed6a5fc3ae9f0e1b629a8cfd96;hp=f20795d769679683954d322223c2e023979d698c;hpb=4677b12af9bcef1561135cce562a6b35fb42af1c;p=lhc%2Fweb%2Fwiklou.git
diff --git a/includes/Linker.php b/includes/Linker.php
index f20795d769..a79ec3a8f1 100644
--- a/includes/Linker.php
+++ b/includes/Linker.php
@@ -21,6 +21,7 @@
*/
use MediaWiki\Linker\LinkTarget;
use MediaWiki\MediaWikiServices;
+use MediaWiki\Storage\RevisionRecord;
/**
* Some internal bits split of from Skin.php. These functions are used
@@ -977,7 +978,9 @@ class Linker {
$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 );
}
@@ -1093,15 +1096,15 @@ class Linker {
* @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 '' . $link . '';
}
return $link;
@@ -1116,11 +1119,11 @@ class Linker {
* @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,
@@ -1132,7 +1135,7 @@ class Linker {
$link = wfMessage( 'rev-deleted-user' )->escaped();
}
- if ( $rev->isDeleted( Revision::DELETED_USER ) ) {
+ if ( $rev->isDeleted( RevisionRecord::DELETED_USER ) ) {
return ' ' . $link . '';
}
return $link;
@@ -1319,7 +1322,7 @@ class Linker {
$services->getNamespaceInfo()->getCanonicalName( NS_MEDIA ), '/' );
$medians .= '|';
$medians .= preg_quote(
- MediaWikiServices::getInstance()->getContentLanguage()->getNsText( NS_MEDIA ),
+ $services->getContentLanguage()->getNsText( NS_MEDIA ),
'/'
) . '):';
@@ -1356,7 +1359,7 @@ class Linker {
}
if ( $match[1] !== false && $match[1] !== '' ) {
if ( preg_match(
- MediaWikiServices::getInstance()->getContentLanguage()->linkTrail(),
+ $services->getContentLanguage()->linkTrail(),
$match[3],
$submatch
) ) {
@@ -1372,7 +1375,7 @@ class Linker {
Title::newFromText( $linkTarget );
try {
- $target = MediaWikiServices::getInstance()->getTitleParser()->
+ $target = $services->getTitleParser()->
parseTitle( $linkTarget );
if ( $target->getText() == '' && !$target->isExternal()
@@ -1571,18 +1574,18 @@ class Linker {
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 = " ";
- } 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 = " ";
}
- if ( $rev->isDeleted( Revision::DELETED_COMMENT ) ) {
+ if ( $rev->isDeleted( RevisionRecord::DELETED_COMMENT ) ) {
return " $block";
}
return $block;
@@ -1875,10 +1878,10 @@ class Linker {
$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
@@ -2102,12 +2105,14 @@ class Linker {
* @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()->
@@ -2130,7 +2135,7 @@ class Linker {
];
}
return self::revDeleteLink( $query,
- $rev->isDeleted( Revision::DELETED_RESTRICTED ), $canHide );
+ $rev->isDeleted( RevisionRecord::DELETED_RESTRICTED ), $canHide );
}
/**