* history.
*
*/
-
class PageHistory {
const DIR_PREV = 0;
const DIR_NEXT = 1;
$wgOut->redirect( $wgTitle->getLocalURL( "action=history&limit={$limit}&dir=prev" ) );
return;
}
+
+ wfRunHooks( 'PageHistoryBeforeList', array( &$this->mArticle ) );
/**
* Do the list
* @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 );
'target=' . urlencode( $this->mTitle->getPrefixedDbkey() ) .
'&oldid=' . urlencode( $rev->getId() ) );
}
- $s .= "(<small>$del</small>) ";
+ $s .= " (<small>$del</small>) ";
}
$s .= " $link";
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\">" .
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;
$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",
}
+/**
+ * @addtogroup Pager
+ */
class PageHistoryPager extends ReverseChronologicalPager {
public $mLastRow = false, $mPageHistory;
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' )
);
}
}
-?>
+
+