* Renamed deletedcontent to deletedtext
authorAaron Schulz <aaron@users.mediawiki.org>
Wed, 30 Sep 2009 19:50:35 +0000 (19:50 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Wed, 30 Sep 2009 19:50:35 +0000 (19:50 +0000)
* Removed deletedrevision and used deletedhistory/deletedtext instead

17 files changed:
includes/Article.php
includes/ChangesList.php
includes/DefaultSettings.php
includes/FileDeleteForm.php
includes/HistoryPage.php
includes/ImagePage.php
includes/LogEventsList.php
includes/Revision.php
includes/SkinTemplate.php
includes/User.php
includes/diff/DifferenceInterface.php
includes/filerepo/ArchivedFile.php
includes/filerepo/OldLocalFile.php
includes/specials/SpecialContributions.php
includes/specials/SpecialDeletedContributions.php
includes/specials/SpecialRevisiondelete.php
includes/specials/SpecialUndelete.php

index da033f2..f33dc9d 100644 (file)
@@ -3430,7 +3430,7 @@ class Article {
 
                $cdel='';
                // Don't show useless link to people who cannot hide revisions
-               if( $wgUser->isAllowed('deleterevision') || ($revision->getVisibility() && $wgUser->isAllowed('deletedrevision')) ) {
+               if( $wgUser->isAllowed('deleterevision') || ($revision->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) {
                        if( !$revision->userCan( Revision::DELETED_RESTRICTED ) ) {
                        // If revision was hidden from sysops
                                $cdel = wfMsgHtml( 'rev-delundel' );
index dab30b6..4601c5a 100644 (file)
@@ -446,11 +446,11 @@ class ChangesList {
         * @return bool
         */
        public static function userCan( $rc, $field ) {
-               if( ( $rc->mAttribs['rc_deleted'] & $field ) == $field ) {
+               if( $rc->mAttribs['rc_deleted'] & $field ) {
                        global $wgUser;
-                       $permission = ( $rc->mAttribs['rc_deleted'] & Revision::DELETED_RESTRICTED ) == Revision::DELETED_RESTRICTED
+                       $permission = ( $rc->mAttribs['rc_deleted'] & Revision::DELETED_RESTRICTED )
                                ? 'suppressrevision'
-                               : 'deletedrevision';
+                               : ( $field & Revision::DELETED_TEXT ) ? 'deletedtext' : 'deletedhistory';
                        wfDebug( "Checking for $permission due to $field match on {$rc->mAttribs['rc_deleted']}\n" );
                        return $wgUser->isAllowed( $permission );
                } else {
index 9a60135..6f99492 100644 (file)
@@ -1354,8 +1354,7 @@ $wgGroupPermissions['sysop']['createaccount']    = true;
 $wgGroupPermissions['sysop']['delete']           = true;
 $wgGroupPermissions['sysop']['bigdelete']        = true; // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
 $wgGroupPermissions['sysop']['deletedhistory']   = true; // can view deleted history entries, but not see or restore the text
-$wgGroupPermissions['sysop']['deletedcontent']   = true; // can view deleted revision text
-$wgGroupPermissions['sysop']['deletedrevision']  = true; // can view hidden revision items (user/comment/text)
+$wgGroupPermissions['sysop']['deletedtext']      = true; // can view deleted revision text
 $wgGroupPermissions['sysop']['undelete']         = true;
 $wgGroupPermissions['sysop']['editinterface']    = true;
 $wgGroupPermissions['sysop']['editusercss']      = true;
index 7480812..7410f2c 100644 (file)
@@ -97,7 +97,7 @@ class FileDeleteForm {
                        if( $status->ok ) {
                                // Need to do a log item
                                $log = new LogPage( 'delete' );
-                               $logComment = wfMsgForContent( 'deletedrevision', $oldimage );
+                               $logComment = wfMsgForContent( 'deletedhistory', $oldimage );
                                if( trim( $reason ) != '' )
                                        $logComment .= ": {$reason}";
                                        $log->addEntry( 'delete', $title, $logComment );
index 9bc58ba..86bd39e 100644 (file)
@@ -351,7 +351,7 @@ class HistoryPager extends ReverseChronologicalPager {
                $s .= Xml::hidden( 'title', $this->title->getPrefixedDbKey() ) . "\n";
 
                $this->buttons = '<div>';
-               if( $wgUser->isAllowed('deletedrevision') ) {
+               if( $wgUser->isAllowed('deletedhistory') ) {
                        $this->buttons .= Xml::element( 'button',
                                array(
                                        'type' => 'submit',
@@ -464,7 +464,7 @@ class HistoryPager extends ReverseChronologicalPager {
 
                $s = "($curlink) ($lastlink) $diffButtons";
 
-               if( $wgUser->isAllowed( 'deletedrevision' ) ) {
+               if( $wgUser->isAllowed( 'deletedhistory' ) ) {
                        // Don't show useless link to people who cannot hide revisions
                        if( !$rev->getVisibility() && !$wgUser->isAllowed( 'deleterevision' ) ) {
                                $del = Xml::check( 'deleterevisions', false, array('class' => 'mw-revdelundel-hidden') );
index 399ee7d..f95e536 100644 (file)
@@ -821,7 +821,7 @@ class ImageHistoryList {
                        . $navLinks . "\n"
                        . Xml::openElement( 'table', array( 'class' => 'wikitable filehistory' ) ) . "\n"
                        . '<tr><td></td>'
-                       . ( $this->current->isLocal() && ($wgUser->isAllowed('delete') || $wgUser->isAllowed('deletedrevision') ) ? '<td></td>' : '' )
+                       . ( $this->current->isLocal() && ($wgUser->isAllowed('delete') || $wgUser->isAllowed('deletedhistory') ) ? '<td></td>' : '' )
                        . '<th>' . wfMsgHtml( 'filehist-datetime' ) . '</th>'
                        . ( $this->showThumb ? '<th>' . wfMsgHtml( 'filehist-thumb' ) . '</th>' : '' )
                        . '<th>' . wfMsgHtml( 'filehist-dimensions' ) . '</th>'
@@ -847,7 +847,7 @@ class ImageHistoryList {
                $row = $css = $selected = '';
 
                // Deletion link
-               if( $local && ($wgUser->isAllowed('delete') || $wgUser->isAllowed('deletedrevision') ) ) {
+               if( $local && ($wgUser->isAllowed('delete') || $wgUser->isAllowed('deletedhistory') ) ) {
                        $row .= '<td>';
                        # Link to remove from history
                        if( $wgUser->isAllowed( 'delete' ) ) {
@@ -861,7 +861,7 @@ class ImageHistoryList {
                                );
                        }
                        # Link to hide content. Don't show useless link to people who cannot hide revisions.
-                       if( $wgUser->isAllowed('deleterevision') || ($wgUser->isAllowed('deletedrevision') && $file->getVisibility()) ) {
+                       if( $wgUser->isAllowed('deleterevision') || ($wgUser->isAllowed('deletedhistory') && $file->getVisibility()) ) {
                                if( $wgUser->isAllowed('delete') ) {
                                        $row .= '<br/>';
                                }
index d05be83..e4aa3a3 100644 (file)
@@ -284,7 +284,7 @@ class LogEventsList {
                $paramArray = LogPage::extractParams( $row->log_params );
                $revert = $del = '';
                // Some user can hide log items and have review links
-               if( !($this->flags & self::NO_ACTION_LINK) && $wgUser->isAllowed( 'deletedrevision' ) ) {
+               if( !($this->flags & self::NO_ACTION_LINK) && $wgUser->isAllowed( 'deletedhistory' ) ) {
                        // Don't show useless link to people who cannot hide revisions
                        if( $row->log_deleted || $wgUser->isAllowed( 'deleterevision' ) ) {
                                $del = $this->getShowHideLinks( $row ) . ' ';
@@ -381,7 +381,7 @@ class LogEventsList {
                                array( 'known', 'noclasses' )
                        ) . ')';
                // If an edit was hidden from a page give a review link to the history
-               } else if( self::typeAction($row,array('delete','suppress'),'revision','deletedrevision') ) {
+               } else if( self::typeAction($row,array('delete','suppress'),'revision','deletedhistory') ) {
                        if( count($paramArray) >= 2 ) {
                                // Different revision types use different URL params...
                                $key = $paramArray[0];
@@ -434,7 +434,7 @@ class LogEventsList {
                                $revert = wfMsg( 'parentheses', $wgLang->pipeList( $revert ) );
                        }
                // Hidden log items, give review link
-               } else if( self::typeAction($row,array('delete','suppress'),'event','deletedrevision') ) {
+               } else if( self::typeAction($row,array('delete','suppress'),'event','deletedhistory') ) {
                        if( count($paramArray) >= 1 ) {
                                $revdel = SpecialPage::getTitleFor( 'Revisiondelete' );
                                // $paramArray[1] is a CSV of the IDs
@@ -547,11 +547,11 @@ class LogEventsList {
         * @return Boolean
         */
        public static function userCan( $row, $field ) {
-               if( ( $row->log_deleted & $field ) == $field ) {
+               if( $row->log_deleted & $field ) {
                        global $wgUser;
-                       $permission = ( $row->log_deleted & LogPage::DELETED_RESTRICTED ) == LogPage::DELETED_RESTRICTED
+                       $permission = ( $row->log_deleted & LogPage::DELETED_RESTRICTED )
                                ? 'suppressrevision'
-                               : 'deletedrevision';
+                               : 'deletedhistory';
                        wfDebug( "Checking for $permission due to $field match on $row->log_deleted\n" );
                        return $wgUser->isAllowed( $permission );
                } else {
@@ -807,7 +807,7 @@ class LogPager extends ReverseChronologicalPager {
                        global $wgUser;
                        $this->mConds['log_user'] = $userid;
                        // Paranoia: avoid brute force searches (bug 17342)
-                       if( !$wgUser->isAllowed( 'deletedrevision' ) ) {
+                       if( !$wgUser->isAllowed( 'deletedhistory' ) ) {
                                $this->mConds[] = $this->mDb->bitAnd('log_deleted', LogPage::DELETED_USER) . ' = 0';
                        } else if( !$wgUser->isAllowed( 'suppressrevision' ) ) {
                                $this->mConds[] = $this->mDb->bitAnd('log_deleted', LogPage::SUPPRESSED_USER) .
@@ -854,7 +854,7 @@ class LogPager extends ReverseChronologicalPager {
                        $this->mConds['log_title'] = $title->getDBkey();
                }
                // Paranoia: avoid brute force searches (bug 17342)
-               if( !$wgUser->isAllowed( 'deletedrevision' ) ) {
+               if( !$wgUser->isAllowed( 'deletedhistory' ) ) {
                        $this->mConds[] = $this->mDb->bitAnd('log_deleted', LogPage::DELETED_ACTION) . ' = 0';
                } else if( !$wgUser->isAllowed( 'suppressrevision' ) ) {
                        $this->mConds[] = $this->mDb->bitAnd('log_deleted', LogPage::SUPPRESSED_ACTION) .
index 9ec8a89..fc43989 100644 (file)
@@ -977,11 +977,11 @@ class Revision {
         * @return bool
         */
        public function userCan( $field ) {
-               if( ( $this->mDeleted & $field ) == $field ) {
+               if( $this->mDeleted & $field ) {
                        global $wgUser;
-                       $permission = ( $this->mDeleted & self::DELETED_RESTRICTED ) == self::DELETED_RESTRICTED
+                       $permission = ( $this->mDeleted & self::DELETED_RESTRICTED )
                                ? 'suppressrevision'
-                               : 'deletedrevision';
+                               : ( $field & self::DELETED_TEXT ) ? 'deletedtext' : 'deletedhistory';
                        wfDebug( "Checking for $permission due to $field match on $this->mDeleted\n" );
                        return $wgUser->isAllowed( $permission );
                } else {
index e0afaa9..90cf2ba 100644 (file)
@@ -800,7 +800,7 @@ class SkinTemplate extends Skin {
                                }
                        } else {
                                //article doesn't exist or is deleted
-                               if( $wgUser->isAllowed( 'deletedhistory' ) && $wgUser->isAllowed( 'deletedcontent' ) ) {
+                               if( $wgUser->isAllowed( 'deletedhistory' ) && $wgUser->isAllowed( 'deletedtext' ) ) {
                                        if( $n = $this->mTitle->isDeleted() ) {
                                                $undelTitle = SpecialPage::getTitleFor( 'Undelete' );
                                                $content_actions['undelete'] = array(
index 7f40790..45d374e 100644 (file)
@@ -142,8 +142,7 @@ class User {
                'createtalk',
                'delete',
                'deletedhistory',
-               'deletedcontent',
-               'deletedrevision',
+               'deletedtext',
                'deleterevision',
                'edit',
                'editinterface',
index 7aed5c1..0f09dc7 100644 (file)
@@ -318,7 +318,7 @@ CONTROL;
                }\r
 \r
                $rdel = ''; $ldel = '';\r
-               if( $wgUser->isAllowed( 'deletedrevision' ) ) {\r
+               if( $wgUser->isAllowed( 'deletedhistory' ) ) {\r
                        // Don't show useless link to people who cannot hide revisions\r
                        if( $this->mOldRev->getVisibility() || $wgUser->isAllowed( 'deleterevision' ) ) {\r
                                if( !$this->mOldRev->userCan( Revision::DELETED_RESTRICTED ) ) {\r
index 94f8f67..1c22ba2 100644 (file)
@@ -377,11 +377,11 @@ class ArchivedFile
         */
        public function userCan( $field ) {
                $this->load();
-               if( ($this->deleted & $field) == $field ) {
+               if( $this->deleted & $field ) {
                        global $wgUser;
-                       $permission = ( $this->deleted & File::DELETED_RESTRICTED ) == File::DELETED_RESTRICTED
+                       $permission = ( $this->deleted & File::DELETED_RESTRICTED )
                                ? 'suppressrevision'
-                               : 'deletedrevision';
+                               : ( $field & File::DELETED_FILE ) ? 'deletedtext' : 'deletedhistory';
                        wfDebug( "Checking for $permission due to $field match on $this->deleted\n" );
                        return $wgUser->isAllowed( $permission );
                } else {
index aaa7c44..4c31997 100644 (file)
@@ -195,11 +195,11 @@ class OldLocalFile extends LocalFile {
         * @return bool
         */
        function userCan( $field ) {
-               if( isset($this->deleted) && ($this->deleted & $field) == $field ) {
+               if( isset($this->deleted) && ($this->deleted & $field) ) {
                        global $wgUser;
-                       $permission = ( $this->deleted & File::DELETED_RESTRICTED ) == File::DELETED_RESTRICTED
+                       $permission = ( $this->deleted & File::DELETED_RESTRICTED )
                                ? 'suppressrevision'
-                               : 'deletedrevision';
+                               : ( $field & File::DELETED_FILE ) ? 'deletedtext' : 'deletedhistory';
                        wfDebug( "Checking for $permission due to $field match on $this->mDeleted\n" );
                        return $wgUser->isAllowed( $permission );
                } else {
index 78a5d49..c87f6c9 100644 (file)
@@ -461,7 +461,7 @@ class ContribsPager extends ReverseChronologicalPager {
                
                $conds = array_merge( $userCond, $this->getNamespaceCond() );
                // Paranoia: avoid brute force searches (bug 17342)
-               if( !$wgUser->isAllowed( 'deletedrevision' ) ) {
+               if( !$wgUser->isAllowed( 'deletedhistory' ) ) {
                        $conds[] = $this->mDb->bitAnd('rev_deleted',Revision::DELETED_USER) . ' = 0';
                } else if( !$wgUser->isAllowed( 'suppressrevision' ) ) {
                        $conds[] = $this->mDb->bitAnd('rev_deleted',Revision::SUPPRESSED_USER) .
@@ -633,7 +633,7 @@ class ContribsPager extends ReverseChronologicalPager {
                }
 
                // Don't show useless link to people who cannot hide revisions
-               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedrevision')) ) {
+               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) {
                        // If revision was hidden from sysops
                        if( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) {
                                $del = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ),
index 1d44376..3a7d027 100644 (file)
@@ -31,7 +31,7 @@ class DeletedContribsPager extends IndexPager {
                list( $index, $userCond ) = $this->getUserCond();
                $conds = array_merge( $userCond, $this->getNamespaceCond() );
                // Paranoia: avoid brute force searches (bug 17792)
-               if( !$wgUser->isAllowed( 'deletedrevision' ) ) {
+               if( !$wgUser->isAllowed( 'deletedhistory' ) ) {
                        $conds[] = $this->mDb->bitAnd('ar_deleted',Revision::DELETED_USER) . ' = 0';
                } else if( !$wgUser->isAllowed( 'suppressrevision' ) ) {
                        $conds[] = $this->mDb->bitAnd('ar_deleted',Revision::SUPPRESSED_USER) .
@@ -146,7 +146,7 @@ class DeletedContribsPager extends IndexPager {
                        $this->messages['undeleteviewlink']
                );
 
-               if( $wgUser->isAllowed('deletedcontent') ) {
+               if( $wgUser->isAllowed('deletedtext') ) {
                        $last = $sk->linkKnown(
                                $undelete,
                                $this->messages['diff'],
@@ -191,7 +191,7 @@ class DeletedContribsPager extends IndexPager {
                }
                
                // Don't show useless link to people who cannot hide revisions
-               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedrevision')) ) {
+               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) {
                        // If revision was hidden from sysops
                        if( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) {
                                $del = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ),
index 2d6b9f1..b877769 100644 (file)
@@ -90,13 +90,13 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
        );
 
        public function __construct() {
-               parent::__construct( 'Revisiondelete', 'deletedrevision' );
+               parent::__construct( 'Revisiondelete', 'deletedhistory' );
        }
 
        public function execute( $par ) {
                global $wgOut, $wgUser, $wgRequest;
-               if( !$wgUser->isAllowed( 'deletedrevision' ) ) {
-                       $wgOut->permissionRequired( 'deletedrevision' );
+               if( !$wgUser->isAllowed( 'deletedhistory' ) ) {
+                       $wgOut->permissionRequired( 'deletedhistory' );
                        return;
                } else if( wfReadOnly() ) {
                        $wgOut->readOnlyPage();
@@ -261,7 +261,11 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                        return;
                }
                if( !$oimage->userCan(File::DELETED_FILE) ) {
-                       $wgOut->permissionRequired( 'suppressrevision' );
+                       if( $oimage->isDeleted( File::DELETED_RESTRICTED ) ) {
+                               $wgOut->permissionRequired( 'suppressrevision' );
+                       } else {
+                               $wgOut->permissionRequired( 'deletedtext' );
+                       }
                        return;
                }
                if ( !$wgUser->matchEditToken( $this->token, $archiveName ) ) {
index 226cf7a..6f58a46 100644 (file)
@@ -576,10 +576,10 @@ class UndeleteForm {
                if( $par != "" ) {
                        $this->mTarget = $par;
                }
-               if ( $wgUser->isAllowed( 'deletedcontent' ) && $wgUser->isAllowed( 'undelete' ) && !$wgUser->isBlocked() ) {
+               if ( $wgUser->isAllowed( 'deletedtext' ) && $wgUser->isAllowed( 'undelete' ) && !$wgUser->isBlocked() ) {
                        $this->mAllowed = true; // user can restore
                        $this->mCanView = true; // user can view content
-               } elseif ( $wgUser->isAllowed( 'deletedcontent' ) ) {
+               } elseif ( $wgUser->isAllowed( 'deletedtext' ) ) {
                        $this->mAllowed = false; // user cannot restore
                        $this->mCanView = true; // user can view content
                }  else { // user can only view the list of revisions
@@ -639,9 +639,17 @@ class UndeleteForm {
                }
                if( $this->mFile !== null ) {
                        $file = new ArchivedFile( $this->mTargetObj, '', $this->mFile );
+                       $file->load();
                        // Check if user is allowed to see this file
-                       if( !$file->userCan( File::DELETED_FILE ) ) {
-                               $wgOut->permissionRequired( 'suppressrevision' );
+                       if ( !$file->exists() ) {
+                               $wgOut->addWikiMsg( 'filedelete-nofile', $this->mFile );
+                               return;
+                       } else if( !$file->userCan( File::DELETED_FILE ) ) {
+                               if( $file->isDeleted( File::DELETED_RESTRICTED ) ) {
+                                       $wgOut->permissionRequired( 'suppressrevision' );
+                               } else {
+                                       $wgOut->permissionRequired( 'deletedtext' );
+                               }
                                return false;
                        } elseif ( !$wgUser->matchEditToken( $this->mToken, $this->mFile ) ) {
                                $this->showFileConfirmationForm( $this->mFile );
@@ -779,7 +787,7 @@ class UndeleteForm {
                
                $revdlink = '';
                // Diffs already have revision delete links
-               if( !$this->mDiff && $wgUser->isAllowed( 'deletedrevision' ) ) {
+               if( !$this->mDiff && $wgUser->isAllowed( 'deletedhistory' ) ) {
                        // Don't show useless link to people who cannot hide revisions
                        if( !$rev->getVisibility() && !$wgUser->isAllowed( 'deleterevision' ) ) {
                                $revdlink = '';
@@ -893,7 +901,7 @@ class UndeleteForm {
                        $targetQuery = array( 'oldid' => $rev->getId() );
                }
                // Add show/hide link if available. Don't show useless link to people who cannot hide revisions.
-               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedrevision')) ) {
+               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) {
                        // If revision was hidden from sysops
                        if( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) {
                                $del = ' ' . Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ),
@@ -1194,7 +1202,7 @@ class UndeleteForm {
                // Edit summary
                $comment = $sk->revComment( $rev );
                // Show/hide link. // Don't show useless link to people who cannot hide revisions.
-               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedrevision')) ) {
+               if( $wgUser->isAllowed('deleterevision') || ($rev->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) {
                        if( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) {
                        // If revision was hidden from sysops
                                $revdlink = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ),
@@ -1241,7 +1249,7 @@ class UndeleteForm {
                $comment = $this->getFileComment( $file, $sk );
                $revdlink = '';
                // Add show/hide link if available. Don't show useless link to people who cannot hide revisions.
-               if( $wgUser->isAllowed('deleterevision') || ($file->getVisibility() && $wgUser->isAllowed('deletedrevision')) ) {
+               if( $wgUser->isAllowed('deleterevision') || ($file->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) {
                        if( !$file->userCan(File::DELETED_RESTRICTED ) ) {
                        // If revision was hidden from sysops
                                $revdlink = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.wfMsgHtml('rev-delundel').')' );