X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fupload%2FUploadBase.php;h=f60c4e3c1067b6eb06b15a9d64c7633c18260eca;hb=095c50ade11ccea3b0edc8956ad45dea46d4c18b;hp=fb9dcf56d2981b4a64bcc1358c8685f79f79d06c;hpb=1e289e5424be2bfe62213dde90bea658b874f7e6;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php index fb9dcf56d2..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 ); } @@ -1763,7 +1767,6 @@ abstract class UploadBase { * Check a block of CSS or CSS fragment for anything that looks like * it is bringing in remote code. * @param string $value a string of CSS - * @param bool $propOnly only check css properties (start regex with :) * @return bool true if the CSS contains an illegal string, false if otherwise */ private static function checkCssFragment( $value ) { @@ -1955,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() ]; } @@ -1970,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; }