From 4cc0115d865e65dcd997a7e4bb08303564a472b8 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Fri, 4 Apr 2008 03:56:48 +0000 Subject: [PATCH] * Add missing /event log action * Various UI cleanup --- includes/ChangesList.php | 60 +++++++++++++++++------------- includes/DefaultSettings.php | 1 + includes/LogEventsList.php | 4 +- includes/SpecialRevisiondelete.php | 11 ++++-- languages/messages/MessagesEn.php | 2 +- 5 files changed, 45 insertions(+), 33 deletions(-) diff --git a/includes/ChangesList.php b/includes/ChangesList.php index 23eeb7b593..2015c3e8fd 100644 --- a/includes/ChangesList.php +++ b/includes/ChangesList.php @@ -313,7 +313,7 @@ class OldChangesList extends ChangesList { if( $rc_type == RC_MOVE || $rc_type == RC_MOVE_OVER_REDIRECT ) { $this->insertMove( $s, $rc ); // Log entries - } elseif( $rc_log_type !='' ) { + } elseif( $rc_log_type ) { $logtitle = Title::newFromText( "Log/$rc_log_type", NS_SPECIAL ); $this->insertLog( $s, $logtitle, $rc_log_type ); // Log entries (old format) or log targets, and special pages @@ -324,7 +324,7 @@ class OldChangesList extends ChangesList { } else { wfDebug( "Unexpected special page in recentchanges\n" ); } - // Log entries + // Regular entries } else { wfProfileIn($fname.'-page'); @@ -344,12 +344,14 @@ class OldChangesList extends ChangesList { if( $wgRCShowChangedSize ) { $s .= ( $rc->getCharacterDifference() == '' ? '' : $rc->getCharacterDifference() . ' . . ' ); } - + # User tool links $this->insertUserRelatedLinks($s,$rc); + # Log action text (if any) $this->insertAction($s, $rc); + # Edit or log comment $this->insertComment($s, $rc); - # Mark revision as deleted + # Mark revision as deleted if so if ( !$rc_log_type && $this->isDeleted($rc,Revision::DELETED_TEXT) ) $s .= ' ' . wfMsgHtml( 'deletedrev' ) . ''; if($rc->numberofWatchingusers > 0) { @@ -420,17 +422,18 @@ class EnhancedChangesList extends ChangesList { wfDebug( "Unexpected special page in recentchanges\n" ); $clink = ''; } - // Page edits or log entries (group these page) - } else if( $this->isDeleted($rc,Revision::DELETED_TEXT) ) { - $clink = '' . $this->skin->makeKnownLinkObj( $rc->getTitle(), '' ) . ''; - if ( !ChangesList::userCan($rc,Revision::DELETED_TEXT) ) - $showdifflinks = false; + // New unpatrolled pages } else if( $rc->unpatrolled && $rc_type == RC_NEW ) { - # Unpatrolled new page, give rc_id in query $clink = $this->skin->makeKnownLinkObj( $rc->getTitle(), '', "rcid={$rc_id}" ); + // Other edits or log entries } else { $clink = $this->skin->makeKnownLinkObj( $rc->getTitle(), '' ); } + + # Don't show unusable diff links + if ( !ChangesList::userCan($rc,Revision::DELETED_TEXT) ) { + $showdifflinks = false; + } $time = $wgContLang->time( $rc_timestamp, true, true ); $rc->watched = $watched; @@ -450,7 +453,7 @@ class EnhancedChangesList extends ChangesList { $curLink = $this->skin->makeKnownLinkObj( $rc->getTitle(), $this->message['cur'], $querycur, '' ,'', $aprops ); # Make "diff" an "cur" links - if ( !$showdifflinks ) { + if( !$showdifflinks ) { $curLink = $this->message['cur']; $diffLink = $this->message['diff']; } else if( $rc_type == RC_NEW || $rc_type == RC_LOG || $rc_type == RC_MOVE || $rc_type == RC_MOVE_OVER_REDIRECT ) { @@ -473,7 +476,7 @@ class EnhancedChangesList extends ChangesList { } # Make user links - if ( $this->isDeleted($rc,Revision::DELETED_USER) ) { + if( $this->isDeleted($rc,Revision::DELETED_USER) ) { $rc->userlink = ' ' . wfMsgHtml('rev-deleted-user') . ''; } else { $rc->userlink = $this->skin->userLink( $rc_user, $rc_user_text ); @@ -492,7 +495,7 @@ class EnhancedChangesList extends ChangesList { # Use an @ character to prevent collision with page names $this->rc_cache['@@' . ($this->rcMoveIndex++)] = array($rc); } else { - if( !isset ( $this->rc_cache[$secureName] ) ) { + if( !isset( $this->rc_cache[$secureName] ) ) { $this->rc_cache[$secureName] = array(); } array_push( $this->rc_cache[$secureName], $rc ); @@ -523,7 +526,7 @@ class EnhancedChangesList extends ChangesList { } // If all log actions to this page were hidden, then don't // give the name of the affected page for this block! - if( !($rcObj->mAttribs['rc_deleted'] & LogPage::DELETED_ACTION) ) { + if( !$this->isDeleted( $rcObj, LogPage::DELETED_ACTION ) ) { $namehidden = false; } $u = $rcObj->userlink; @@ -692,9 +695,9 @@ class EnhancedChangesList extends ChangesList { $r .= $rcObj->userlink; $r .= $rcObj->usertalklink; // log action - parent::insertAction($r, $rcObj); + parent::insertAction( $r, $rcObj ); // log comment - parent::insertComment($r, $rcObj); + parent::insertComment( $r, $rcObj ); # Mark revision as deleted if ( !$rc_log_type && $this->isDeleted($rcObj,Revision::DELETED_TEXT) ) $r .= ' ' . wfMsgHtml( 'deletedrev' ) . ''; @@ -794,19 +797,20 @@ class EnhancedChangesList extends ChangesList { } $r .= ' '.$rcObj->timestamp.' '; - # Article link - if ( $rc_log_type !='' ) { + # Article or log link + if( $rc_log_type ) { $logtitle = Title::newFromText( "Log/$rc_log_type", NS_SPECIAL ); $logname = LogPage::logName( $rc_log_type ); $r .= '(' . $this->skin->makeKnownLinkObj($logtitle, $logname ) . ')'; - // All other stuff + } else if( !$this->userCan($rcObj,Revision::DELETED_TEXT) ) { + $r .= '' . $rcObj->link . ''; } else { $r .= $this->maybeWatchedLink( $rcObj->link, $rcObj->watched ); } + + # Diff and hist links if ( $rc_type != RC_LOG ) { - # Diff $r .= ' ('. $rcObj->difflink . $this->message['semicolon-separator'] . ' '; - # Hist $r .= $this->skin->makeKnownLinkObj( $rcObj->getTitle(), wfMsg( 'hist' ), $curIdEq.'&action=history' ) . ')'; } $r .= ' . . '; @@ -819,14 +823,17 @@ class EnhancedChangesList extends ChangesList { # User/talk $r .= ' '.$rcObj->userlink . $rcObj->usertalklink; - # Comment - if( $rc_type != RC_MOVE && $rc_type != RC_MOVE_OVER_REDIRECT ) { - // log action - if ( $this->isDeleted($rcObj,LogPage::DELETED_ACTION) ) { - $r .= ' ' . wfMsgHtml('rev-deleted-event') . ''; + # Log action (if any) + if( $rc_log_type ) { + if( $this->isDeleted($rcObj,LogPage::DELETED_ACTION) ) { + $r .= ' ' . wfMsgHtml('rev-deleted-event') . ''; } else { $r .= ' ' . LogPage::actionText( $rc_log_type, $rc_log_action, $rcObj->getTitle(), $this->skin, LogPage::extractParams($rc_params), true, true ); } + } + + # Edit or log comment + if( $rc_type != RC_MOVE && $rc_type != RC_MOVE_OVER_REDIRECT ) { // log comment if ( $this->isDeleted($rcObj,LogPage::DELETED_COMMENT) ) { $r .= ' ' . wfMsg('rev-deleted-comment') . ''; @@ -835,6 +842,7 @@ class EnhancedChangesList extends ChangesList { } } + # Show how many people are watching this if enabled $r .= $this->numberofWatchingusers($rcObj->numberofWatchingusers); $r .= "\n"; diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 7385fccb9d..4d578a1983 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -2470,6 +2470,7 @@ $wgLogActions = array( 'delete/delete' => 'deletedarticle', 'delete/restore' => 'undeletedarticle', 'delete/revision' => 'revdelete-logentry', + 'delete/event' => 'logdelete-logentry', 'upload/upload' => 'uploadedimage', 'upload/overwrite' => 'overwroteimage', 'upload/revert' => 'uploadedimage', diff --git a/includes/LogEventsList.php b/includes/LogEventsList.php index e9a4a0f12b..5aac654698 100644 --- a/includes/LogEventsList.php +++ b/includes/LogEventsList.php @@ -212,7 +212,7 @@ class LogEventsList { ) ) . ')'; // If an edit was hidden from a page give a review link to the history - } else if( $row->log_action == 'revision' && $wgUser->isAllowed( 'deleterevision' ) && !empty( $paramArray ) ) { + } else if( $row->log_action == 'revision' && $wgUser->isAllowed( 'deleterevision' ) && isset($paramArray[2]) ) { $revdel = SpecialPage::getTitleFor( 'Revisiondelete' ); // Different revision types use different URL params... $subtype = isset($paramArray[2]) ? $paramArray[1] : ''; @@ -230,7 +230,7 @@ class LogEventsList { } $revert = "($revert)"; // Hidden log items, give review link - } else if( $row->log_action == 'event' && $wgUser->isAllowed( 'deleterevision' ) ) { + } else if( $row->log_action == 'event' && $wgUser->isAllowed( 'deleterevision' ) && isset($paramArray[2]) ) { $revdel = SpecialPage::getTitleFor( 'Revisiondelete' ); $revert .= $this->message['revdel-restore']; $Ids = explode( ',', $paramArray[0] ); diff --git a/includes/SpecialRevisiondelete.php b/includes/SpecialRevisiondelete.php index 07de70d5c7..5280f020d6 100644 --- a/includes/SpecialRevisiondelete.php +++ b/includes/SpecialRevisiondelete.php @@ -518,20 +518,22 @@ class RevisionDeleteForm { */ private function historyLine( $rev ) { global $wgContLang; - $date = $wgContLang->timeanddate( $rev->getTimestamp() ); - $difflink=''; $del = ''; + $date = $wgContLang->timeanddate( $rev->getTimestamp() ); + $difflink = $del = ''; // Live revisions if( $this->deleteKey=='oldid' ) { + $revlink = $this->skin->makeLinkObj( $this->page, $date, 'oldid=' . $rev->getId() ); $difflink = '(' . $this->skin->makeKnownLinkObj( $this->page, wfMsgHtml('diff'), 'diff=' . $rev->getId() . '&oldid=prev' ) . ')'; - $revlink = $this->skin->makeLinkObj( $this->page, $date, 'oldid=' . $rev->getId() ); - } else { // Archived revisions + } else { $undelete = SpecialPage::getTitleFor( 'Undelete' ); $target = $this->page->getPrefixedText(); $revlink = $this->skin->makeLinkObj( $undelete, $date, "target=$target×tamp=" . $rev->getTimestamp() ); + $difflink = '(' . $this->skin->makeKnownLinkObj( $undelete, wfMsgHtml('diff'), + "target=$target&diff=prev×tamp=" . $rev->getTimestamp() ) . ')'; } if( $rev->isDeleted(Revision::DELETED_TEXT) ) { @@ -539,6 +541,7 @@ class RevisionDeleteForm { $del = ' ' . wfMsgHtml( 'deletedrev' ) . ''; if( !$rev->userCan(Revision::DELETED_TEXT) ) { $revlink = ''.$date.''; + $difflink = '(' . wfMsgHtml('diff') . ')'; } } diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 71fac1d3f6..ba0b3ff7a6 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -1179,7 +1179,7 @@ Try [[Special:Search|searching on the wiki]] for relevant new pages.', # Revision deletion 'rev-deleted-comment' => '(comment removed)', 'rev-deleted-user' => '(username removed)', -'rev-deleted-event' => '(entry removed)', +'rev-deleted-event' => '(log action removed)', 'rev-deleted-text-permission' => '', -- 2.20.1