X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fupload%2FUploadBase.php;h=f60c4e3c1067b6eb06b15a9d64c7633c18260eca;hb=e65f8ac5110804067366f9f239c13f4f29b66c3d;hp=3368e29aedd12cbb209571605f5e05b2b5df7f72;hpb=f5360c82b810a05b35e8de3f983ecf2deea1961a;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php index 3368e29aed..f60c4e3c10 100644 --- a/includes/upload/UploadBase.php +++ b/includes/upload/UploadBase.php @@ -20,7 +20,10 @@ * @file * @ingroup Upload */ + +use MediaWiki\MediaWikiServices; use MediaWiki\Shell\Shell; +use MediaWiki\User\UserIdentity; /** * @defgroup Upload Upload related @@ -145,12 +148,13 @@ abstract class UploadBase { * identifying the missing permission. * Can be overridden by subclasses. * - * @param User $user + * @param UserIdentity $user * @return bool|string */ - public static function isAllowed( $user ) { + public static function isAllowed( UserIdentity $user ) { + $permissionManager = MediaWikiServices::getInstance()->getPermissionManager(); foreach ( [ 'upload', 'edit' ] as $permission ) { - if ( !$user->isAllowed( $permission ) ) { + if ( !$permissionManager->userHasRight( $user, $permission ) ) { return $permission; } } @@ -1312,7 +1316,7 @@ abstract class UploadBase { $enc = null; } - if ( $enc ) { + if ( $enc !== null ) { $chunk = iconv( $enc, "ASCII//IGNORE", $chunk ); } @@ -1954,7 +1958,10 @@ abstract class UploadBase { * wfFindFile finds a file, it exists in a shared repository. */ $file = wfFindFile( $this->getTitle(), [ 'latest' => true ] ); - if ( $file && !$user->isAllowed( 'reupload-shared' ) ) { + if ( $file && !MediaWikiServices::getInstance() + ->getPermissionManager() + ->userHasRight( $user, 'reupload-shared' ) + ) { return [ 'fileexists-shared-forbidden', $file->getName() ]; } @@ -1969,9 +1976,10 @@ abstract class UploadBase { * @return bool */ public static function userCanReUpload( User $user, File $img ) { - if ( $user->isAllowed( 'reupload' ) ) { + $permissionManager = MediaWikiServices::getInstance()->getPermissionManager(); + if ( $permissionManager->userHasRight( $user, 'reupload' ) ) { return true; // non-conditional - } elseif ( !$user->isAllowed( 'reupload-own' ) ) { + } elseif ( !$permissionManager->userHasRight( $user, 'reupload-own' ) ) { return false; }