Index: ChangesList.php =================================================================== --- ChangesList.php (revision 44328) +++ ChangesList.php (working copy) @@ -323,6 +323,19 @@ return '' . $link . ''; } } + + /** Inserts a rollback link */ + protected function insertRollback(&$s, &$rc ) { + global $wgUser; + + $page = $rc->getTitle(); + /** Check for rollback and edit permissions, disallow special pages, and only + * show a link on the top-most revision */ + if( $page->userCan( 'rollback' ) && $page->userCan( 'edit' ) && ($page->getArticleID() > 0) && ($page->getLatestRevID() == $rc->mAttribs['rc_this_oldid']) ) { + $rev = new Revision( array( 'id' => $rc->mAttribs['rc_this_oldid'] ) ); + $s .= ' '.$this->skin->generateRollback( $rev ); + } + } } @@ -383,6 +396,8 @@ $this->insertAction($s, $rc); # Edit or log comment $this->insertComment($s, $rc); + # Rollback + $this->insertRollback($s, $rc); # Mark revision as deleted if so if ( !$rc_log_type && $this->isDeleted($rc,Revision::DELETED_TEXT) )