A few comment tag tweaks.
[lhc/web/wiklou.git] / includes / PageHistory.php
index 0575fcb..7e7c541 100644 (file)
@@ -14,7 +14,6 @@
  * history.
  *
  */
-
 class PageHistory {
        const DIR_PREV = 0;
        const DIR_NEXT = 1;
@@ -99,6 +98,8 @@ class PageHistory {
                        $wgOut->redirect( $wgTitle->getLocalURL( "action=history&limit={$limit}&dir=prev" ) );
                        return;
                }
+               
+               wfRunHooks( 'PageHistoryBeforeList', array( &$this->mArticle ) );
 
                /** 
                 * Do the list
@@ -177,7 +178,7 @@ class PageHistory {
         * @return string HTML output for the row
         */
        function historyLine( $row, $next, $counter = '', $notificationtimestamp = false, $latest = false, $firstInList = false ) {
-               global $wgUser;
+               global $wgUser, $wgLang;
                $rev = new Revision( $row );
                $rev->setTitle( $this->mTitle );
 
@@ -206,7 +207,7 @@ class PageHistory {
                                        'target=' . urlencode( $this->mTitle->getPrefixedDbkey() ) .
                                        '&oldid=' . urlencode( $rev->getId() ) );
                        }
-                       $s .= "(<small>$del</small>) ";
+                       $s .= " (<small>$del</small>) ";
                }
                
                $s .= " $link";
@@ -219,6 +220,15 @@ class PageHistory {
                if( $row->rev_minor_edit ) {
                        $s .= ' ' . wfElement( 'span', array( 'class' => 'minor' ), wfMsg( 'minoreditletter') );
                }
+
+               if (!is_null($size = $rev->getSize())) {
+                       if ($size == 0)
+                               $stxt = wfMsgHtml('historyempty');
+                       else
+                               $stxt = wfMsgHtml('historysize', $wgLang->formatNum( $size ) );
+                       $s .= " <span class=\"history-size\">$stxt</span>";
+               }
+
                #getComment is safe, but this is better formatted
                if( $rev->isDeleted( Revision::DELETED_COMMENT ) ) {
                        $s .= " <span class=\"history-deleted\"><span class=\"comment\">" .
@@ -234,9 +244,28 @@ class PageHistory {
                if( $row->rev_deleted & Revision::DELETED_TEXT ) {
                        $s .= ' ' . wfMsgHtml( 'deletedrev' );
                }
+               
+               $tools = array();
+               
                if( $wgUser->isAllowed( 'rollback' ) && $latest ) {
-                       $s .= ' '.$this->mSkin->generateRollback( $rev );
+                       $tools[] = '<span class="mw-rollback-link">'
+                               . $this->mSkin->buildRollbackLink( $rev )
+                               . '</span>';
+               }
+                       
+               if ( !is_null( $next ) ) {
+                       $undolink = $this->mSkin->makeKnownLinkObj(
+                               $this->mTitle,
+                               wfMsgHtml( 'editundo' ),
+                               'action=edit&undoafter=' . $next->rev_id . '&undo=' . $rev->getId()
+                       );
+                       $tools[] = "<span class=\"mw-history-undo\">{$undolink}</span>";
                }
+               
+               $s .= ' (' . implode( ' | ', $tools ) . ')';
+               
+               wfRunHooks( 'PageHistoryLineEnding', array( &$row , &$s ) );
+               
                $s .= "</li>\n";
 
                return $s;
@@ -378,8 +407,7 @@ class PageHistory {
 
                $res = $dbr->select(
                        'revision',
-                       array('rev_id', 'rev_page', 'rev_text_id', 'rev_user', 'rev_comment', 'rev_user_text',
-                               'rev_timestamp', 'rev_minor_edit', 'rev_deleted'),
+                       Revision::selectFields(),
                        array_merge(array("rev_page=$page_id"), $offsets),
                        $fname,
                        array('ORDER BY' => "rev_timestamp $dirs",
@@ -510,6 +538,9 @@ class PageHistory {
 }
 
 
+/**
+ * @addtogroup Pager
+ */
 class PageHistoryPager extends ReverseChronologicalPager {
        public $mLastRow = false, $mPageHistory;
        
@@ -521,8 +552,7 @@ class PageHistoryPager extends ReverseChronologicalPager {
        function getQueryInfo() {
                return array(
                        'tables' => 'revision',
-                       'fields' => array('rev_id', 'rev_page', 'rev_text_id', 'rev_user', 'rev_comment', 'rev_user_text',
-                               'rev_timestamp', 'rev_minor_edit', 'rev_deleted'),
+                       'fields' => Revision::selectFields(),
                        'conds' => array('rev_page' => $this->mPageHistory->mTitle->getArticleID() ),
                        'options' => array( 'USE INDEX' => 'page_timestamp' )
                );
@@ -575,4 +605,5 @@ class PageHistoryPager extends ReverseChronologicalPager {
        }
 }
 
-?>
+
+