From: Alexandre Emsenhuber Date: Mon, 20 Aug 2012 15:17:26 +0000 (+0200) Subject: Use exceptions to report errors in Special:RevisionDelete. X-Git-Tag: 1.31.0-rc.0~22669 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=3953cc2e4a4a832590a8d62146c0ad6630ee7427;p=lhc%2Fweb%2Fwiklou.git Use exceptions to report errors in Special:RevisionDelete. - Changed OutputPage::showErrorPage() to ErrorPageError exception - Changed OutputPage::permissionRequired() to PermissionsError exception the former is deprecated in favour of the latter Change-Id: I0a4d1e284e53b1114fe2f989e14a6493a9ec996e --- diff --git a/includes/specials/SpecialRevisiondelete.php b/includes/specials/SpecialRevisiondelete.php index 4e1bbc2d4f..089f967cbe 100644 --- a/includes/specials/SpecialRevisiondelete.php +++ b/includes/specials/SpecialRevisiondelete.php @@ -163,8 +163,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { # No targets? if( !isset( self::$allowedTypes[$this->typeName] ) || count( $this->ids ) == 0 ) { - $output->showErrorPage( 'revdelete-nooldid-title', 'revdelete-nooldid-text' ); - return; + throw new ErrorPageError( 'revdelete-nooldid-title', 'revdelete-nooldid-text' ); } $this->typeInfo = self::$allowedTypes[$this->typeName]; $this->mIsAllowed = $user->isAllowed( $this->typeInfo['permission'] ); @@ -286,11 +285,10 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { $user = $this->getUser(); if( !$oimage->userCan( File::DELETED_FILE, $user ) ) { if( $oimage->isDeleted( File::DELETED_RESTRICTED ) ) { - $this->getOutput()->permissionRequired( 'suppressrevision' ); + throw new PermissionsError( 'suppressrevision' ); } else { - $this->getOutput()->permissionRequired( 'deletedtext' ); + throw new PermissionsError( 'deletedtext' ); } - return; } if ( !$user->matchEditToken( $this->token, $archiveName ) ) { $lang = $this->getLanguage(); @@ -360,8 +358,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { $item = $list->current(); if ( !$item->canView() ) { if( !$this->submitClicked ) { - $this->getOutput()->permissionRequired( 'suppressrevision' ); - return; + throw new PermissionsError( 'suppressrevision' ); } $UserAllowed = false; } @@ -370,8 +367,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { } if( !$numRevisions ) { - $this->getOutput()->showErrorPage( 'revdelete-nooldid-title', 'revdelete-nooldid-text' ); - return; + throw new ErrorPageError( 'revdelete-nooldid-title', 'revdelete-nooldid-text' ); } $this->getOutput()->addHTML( "" ); @@ -528,8 +524,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage { } # Can the user set this field? if( $bitParams[Revision::DELETED_RESTRICTED]==1 && !$this->getUser()->isAllowed('suppressrevision') ) { - $this->getOutput()->permissionRequired( 'suppressrevision' ); - return false; + throw new PermissionsError( 'suppressrevision' ); } # If the save went through, go to success message... $status = $this->save( $bitParams, $comment, $this->targetObj );