global $wgEnableUploads;
return $wgEnableUploads;
}
+ static function isAllowed( User $user ) {
+ if( !$user->isAllowed( 'upload' ) )
+ return 'upload';
+ return true;
+ }
function __construct( $name ) {
$this->mDesiredDestName = $name;
class UploadFromUrl extends UploadFromBase {
+ static function isAllowed( User $user ) {
+ if( !$user->isAllowed( 'upload_by_url' ) )
+ return 'upload_by_url';
+ return parent::isAllowed( $user );
+ }
static function isEnabled() {
global $wgAllowCopyUploads;
return $wgAllowCopyUploads && parent::isEnabled();
}
# Check permissions
- if( !$wgUser->isAllowed( 'upload' ) ) {
+ $permission = $this->mUpload->isAllowed( $wgUser );
+ if( $permission !== true ) {
if( !$wgUser->isLoggedIn() ) {
$wgOut->showErrorPage( 'uploadnologin', 'uploadnologintext' );
} else {
- $wgOut->permissionRequired( 'upload' );
+ $wgOut->permissionRequired( $permission );
}
return;
}