var $lastdate;
var $linesonpage;
var $mLatestId = null;
+
+ private $mOldIdChecked = 0;
/**
* Construct a new PageHistory.
$s .= " $link";
$s .= " <span class='history-user'>" . $this->mSkin->revUserTools( $rev, true ) . "</span>";
- if( $row->rev_minor_edit ) {
+ if( $rev->isMinor() ) {
$s .= ' ' . Xml::element( 'span', array( 'class' => 'minor' ), wfMsg( 'minoreditletter') );
}
- if( !is_null( $size = $rev->getSize() ) && $rev->userCan( Revision::DELETED_TEXT ) ) {
+ if( !is_null( $size = $rev->getSize() ) && !$rev->isDeleted( Revision::DELETED_TEXT ) ) {
$s .= ' ' . $this->mSkin->formatRevisionSize( $size );
}
}
if( $tools ) {
- $s .= ' (' . implode( ' | ', $tools ) . ')';
+ $s .= ' (' . $wgLang->pipeList( $tools ) . ')';
}
# Tags
function revLink( $rev ) {
global $wgLang;
$date = $wgLang->timeanddate( wfTimestamp(TS_MW, $rev->getTimestamp()), true );
- if( $rev->userCan( Revision::DELETED_TEXT ) ) {
- $link = $this->mSkin->makeKnownLinkObj(
- $this->mTitle, $date, "oldid=" . $rev->getId() );
+ if( !$rev->isDeleted( Revision::DELETED_TEXT ) ) {
+ $link = $this->mSkin->makeKnownLinkObj( $this->mTitle, $date, "oldid=" . $rev->getId() );
} else {
- $link = $date;
- }
- if( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
- return '<span class="history-deleted">' . $link . '</span>';
+ $link = '<span class="history-deleted">' . $date . '</span>';
}
return $link;
}
*/
function curLink( $rev, $latest ) {
$cur = $this->message['cur'];
- if( $latest || !$rev->userCan( Revision::DELETED_TEXT ) ) {
+ if( $latest || $rev->isDeleted( Revision::DELETED_TEXT ) ) {
return $cur;
} else {
return $this->mSkin->makeKnownLinkObj( $this->mTitle, $cur,
# Next row probably exists but is unknown, use an oldid=prev link
return $this->mSkin->makeKnownLinkObj( $this->mTitle, $last,
"diff=" . $prevRev->getId() . "&oldid=prev" );
- } elseif( !$prevRev->userCan(Revision::DELETED_TEXT) || !$nextRev->userCan(Revision::DELETED_TEXT) ) {
+ } elseif( $prevRev->isDeleted(Revision::DELETED_TEXT) || $nextRev->isDeleted(Revision::DELETED_TEXT) ) {
return $last;
} else {
return $this->mSkin->makeKnownLinkObj( $this->mTitle, $last,
* @return string HTML output for the radio buttons
*/
function diffButtons( $rev, $firstInList, $counter ) {
- if( $this->linesonpage > 1) {
- $radio = array(
- 'type' => 'radio',
- 'value' => $rev->getId(),
- );
-
- if( !$rev->userCan( Revision::DELETED_TEXT ) ) {
- $radio['disabled'] = 'disabled';
- }
-
+ if( $this->linesonpage > 1 ) {
+ $radio = array( 'type' => 'radio', 'value' => $rev->getId() );
/** @todo: move title texts to javascript */
if( $firstInList ) {
- $first = Xml::element( 'input', array_merge(
- $radio,
- array(
- 'style' => 'visibility:hidden',
- 'name' => 'oldid' ) ) );
+ $first = Xml::element( 'input',
+ array_merge( $radio, array( 'style' => 'visibility:hidden', 'name' => 'oldid' ) )
+ );
$checkmark = array( 'checked' => 'checked' );
} else {
- if( $counter == 2 ) {
+ # Check visibility of old revisions
+ if( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
+ $radio['disabled'] = 'disabled';
+ $checkmark = array(); // We will check the next possible one
+ } else if( $counter == 2 || !$this->mOldIdChecked ) {
$checkmark = array( 'checked' => 'checked' );
+ $this->mOldIdChecked = $rev->getId();
} else {
$checkmark = array();
}
- $first = Xml::element( 'input', array_merge(
- $radio,
- $checkmark,
- array( 'name' => 'oldid' ) ) );
+ $first = Xml::element( 'input', array_merge( $radio, $checkmark, array( 'name' => 'oldid' ) ) );
$checkmark = array();
}
- $second = Xml::element( 'input', array_merge(
- $radio,
- $checkmark,
- array( 'name' => 'diff' ) ) );
+ $second = Xml::element( 'input', array_merge( $radio, $checkmark, array( 'name' => 'diff' ) ) );
return $first . $second;
} else {
return '';