Move isDeleted and userCan functions
authorAaron Schulz <aaron@users.mediawiki.org>
Wed, 2 Apr 2008 17:11:58 +0000 (17:11 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Wed, 2 Apr 2008 17:11:58 +0000 (17:11 +0000)
includes/LogEventList.php
includes/LogPage.php
includes/SpecialRevisiondelete.php

index 67fbd13..b460a39 100644 (file)
@@ -158,7 +158,7 @@ class LogEventList {
                $linkCache =& LinkCache::singleton();
                $linkCache->addLinkObj( $title );
                // User links
-               if( LogPage::isDeleted($row,LogPage::DELETED_USER) ) {
+               if( self::isDeleted($row,LogPage::DELETED_USER) ) {
                        $userLink = '<span class="history-deleted">' . wfMsgHtml( 'rev-deleted-user' ) . '</span>';
                } else {
                        $userLink = $this->skin->userLink( $row->log_user, $row->user_name ) . 
@@ -167,7 +167,7 @@ class LogEventList {
                // Comment
                if( $row->log_action == 'create2' ) {
                        $comment = ''; // Suppress from old account creations, useless and can contain incorrect links
-               } else if( LogPage::isDeleted($row,LogPage::DELETED_COMMENT) ) {
+               } else if( self::isDeleted($row,LogPage::DELETED_COMMENT) ) {
                        $comment = '<span class="history-deleted">' . wfMsgHtml('rev-deleted-comment') . '</span>';
                } else {
                        $comment = $wgContLang->getDirMark() . $this->skin->commentBlock( $row->log_comment );
@@ -275,7 +275,7 @@ class LogEventList {
        
                $revdel = SpecialPage::getTitleFor( 'Revisiondelete' );
                // If event was hidden from sysops
-               if( !LogPage::userCan( $row, Revision::DELETED_RESTRICTED ) ) {
+               if( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) {
                        $del = $this->message['rev-delundel'];
                } else if( $row->log_type == 'suppress' ) {
                        // No one should be hiding from the oversight log
@@ -283,7 +283,7 @@ class LogEventList {
                } else {
                        $del = $this->skin->makeKnownLinkObj( $revdel, $this->message['rev-delundel'], 'logid='.$row->log_id );
                        // Bolden oversighted content
-                       if( LogPage::isDeleted( $row, Revision::DELETED_RESTRICTED ) )
+                       if( self::isDeleted( $row, LogPage::DELETED_RESTRICTED ) )
                                $del = "<strong>$del</strong>";
                }
                return "<tt>(<small>$del</small>)</tt>";
@@ -310,6 +310,35 @@ class LogEventList {
                }
                return false;
        }
+       
+       /**
+        * Determine if the current user is allowed to view a particular
+        * field of this log row, if it's marked as deleted.
+        * @param Row $row
+        * @param int $field
+        * @return bool
+        */
+       public static function userCan( $row, $field ) {
+               if( ( $row->log_deleted & $field ) == $field ) {
+                       global $wgUser;
+                       $permission = ( $row->log_deleted & LogPage::DELETED_RESTRICTED ) == LogPage::DELETED_RESTRICTED
+                               ? 'hiderevision'
+                               : 'deleterevision';
+                       wfDebug( "Checking for $permission due to $field match on $row->log_deleted\n" );
+                       return $wgUser->isAllowed( $permission );
+               } else {
+                       return true;
+               }
+       }
+
+       /**
+        * int $field one of DELETED_* bitfield constants
+        * @param Row $row
+        * @return bool
+        */
+       public static function isDeleted( $row, $field ) {
+               return ($row->log_deleted & $field) == $field;
+       }
 }
 
 /**
index 77d754b..0a3537c 100644 (file)
@@ -312,35 +312,6 @@ class LogPage {
                }
                return $messages[$flag];
        }
-       
-       /**
-        * Determine if the current user is allowed to view a particular
-        * field of this log row, if it's marked as deleted.
-        * @param Row $row
-        * @param int $field
-        * @return bool
-        */
-       public static function userCan( $row, $field ) {
-               if( ( $row->log_deleted & $field ) == $field ) {
-                       global $wgUser;
-                       $permission = ( $row->log_deleted & self::DELETED_RESTRICTED ) == self::DELETED_RESTRICTED
-                               ? 'hiderevision'
-                               : 'deleterevision';
-                       wfDebug( "Checking for $permission due to $field match on $row->log_deleted\n" );
-                       return $wgUser->isAllowed( $permission );
-               } else {
-                       return true;
-               }
-       }
-
-       /**
-        * int $field one of DELETED_* bitfield constants
-        * @param Row $row
-        * @return bool
-        */
-       public static function isDeleted( $row, $field ) {
-               return ($row->log_deleted & $field) == $field;
-       }
 }
 
 /**
index 419d89a..f3a4ee1 100644 (file)
@@ -469,7 +469,7 @@ class RevisionDeleteForm {
                        if( !isset( $logRows[$logid] ) || $logRows[$logid]->log_type=='suppress' ) {
                                $wgOut->showErrorPage( 'revdelete-nooldid-title', 'revdelete-nooldid-text' );
                                return;
-                       } else if( !LogPage::userCan( $logRows[$logid],Revision::DELETED_RESTRICTED) ) {
+                       } else if( !LogEventList::userCan( $logRows[$logid],Revision::DELETED_RESTRICTED) ) {
                        // If an event is hidden from sysops
                                if( $action != 'submit') {
                                        $wgOut->permissionRequired( 'hiderevision' );
@@ -629,7 +629,7 @@ class RevisionDeleteForm {
                $loglink = $this->skin->makeKnownLinkObj( $logtitle, wfMsgHtml( 'log' ),
                        wfArrayToCGI( array( 'page' => $title->getPrefixedUrl() ) ) );
                // Action text
-               if( !LogPage::userCan($row,LogPage::DELETED_ACTION) ) {
+               if( !LogEventList::userCan($row,LogPage::DELETED_ACTION) ) {
                        $action = '<span class="history-deleted">' . wfMsgHtml('rev-deleted-event') . '</span>';        
                } else {
                        $action = LogPage::actionText( $row->log_type, $row->log_action, $title, 
@@ -639,12 +639,12 @@ class RevisionDeleteForm {
                }
                // User links
                $userLink = $this->skin->userLink( $row->log_user, User::WhoIs($row->log_user) );
-               if( LogPage::isDeleted($row,LogPage::DELETED_USER) ) {
+               if( LogEventList::isDeleted($row,LogPage::DELETED_USER) ) {
                        $userLink = '<span class="history-deleted">' . $userLink . '</span>';
                }
                // Comment
                $comment = $wgContLang->getDirMark() . $this->skin->commentBlock( $row->log_comment );
-               if( LogPage::isDeleted($row,LogPage::DELETED_COMMENT) ) {
+               if( LogEventList::isDeleted($row,LogPage::DELETED_COMMENT) ) {
                        $comment = '<span class="history-deleted">' . $comment . '</span>';
                }
                return "<li>($loglink) $date $userLink $action $comment</li>";
@@ -1080,7 +1080,7 @@ class RevisionDeleter {
                        if( !isset($logRows[$logid]) ) {
                                $success = false;
                                continue; // Must exist
-                       } else if( !LogPage::userCan($logRows[$logid], Revision::DELETED_RESTRICTED)
+                       } else if( !LogEventList::userCan($logRows[$logid], Revision::DELETED_RESTRICTED)
                                 || $logRows[$logid]->log_type == 'suppress' ) {
                        // Don't hide from oversight log!!!
                        $userAllowedAll=false;