Also clean up RELEASE-NOTES some more after SpecialContributions revert.
* (bug 8141) Cleanup of Parser::doTableStuff, patch by AzaTht
* (bug 8042) Make miser mode caching limits settable via $wgQueryCacheLimit
instead of hardcoding to 1000
-* Avoid notice when contribs query page class is instantiated in batch mode
-* Enable QueryPage classes to override list formatting; return Contribs
- to unordered list display to improve readability
-
+* Enable QueryPage classes to override list formatting
+* (bug 5485) Show number of intervening revisions in diff view
== Languages updated ==
if ( $body === false ) {
return false;
} else {
- return $this->addHeader( $body, $otitle, $ntitle );
+ $multi = $this->getMultiNotice();
+ return $this->addHeader( $body, $otitle, $ntitle, $multi );
}
}
return wfMsgExt( 'lineno', array('parseinline'), $wgLang->formatNum( $matches[1] ) );
}
+
+ /**
+ * If there are revisions between the ones being compared, return a note saying so.
+ */
+ function getMultiNotice() {
+ $oldid = $this->mOldRev->getId();
+ $newid = $this->mNewRev->getId();
+ if ( $oldid > $newid ) {
+ $tmp = $oldid; $oldid = $newid; $newid = $tmp;
+ }
+
+ $n = $this->mTitle->countRevisionsBetween( $oldid, $newid );
+ if ( !$n )
+ return '';
+
+ if ( $n == 1 )
+ $msg = wfMsg( 'diff-multi-rev' );
+ else
+ $msg = wfMsg( 'diff-multi-revs', $n );
+
+ return wfMsgExt( 'diff-multi', array('parseinline'), $msg );
+ }
+
+
/**
* Add the header to a diff body
*/
- function addHeader( $diff, $otitle, $ntitle ) {
- $out = "
+ function addHeader( $diff, $otitle, $ntitle, $multi = '' ) {
+ $header = "
<table border='0' width='98%' cellpadding='0' cellspacing='4' class='diff'>
<tr>
<td colspan='2' width='50%' align='center' class='diff-otitle'>{$otitle}</td>
<td colspan='2' width='50%' align='center' class='diff-ntitle'>{$ntitle}</td>
</tr>
- $diff
- </table>
";
- return $out;
+
+ if ( $multi != '' )
+ $header .= "<tr><td colspan='4' align='center' class='diff-multi'>{$multi}</td></tr>";
+
+ return $header . $diff . "</table>";
}
/**
* Get the revision ID of the previous revision
*
* @param integer $revision Revision ID. Get the revision that was before this one.
- * @return interger $oldrevision|false
+ * @return integer $oldrevision|false
*/
function getPreviousRevisionID( $revision ) {
$dbr =& wfGetDB( DB_SLAVE );
* Get the revision ID of the next revision
*
* @param integer $revision Revision ID. Get the revision that was after this one.
- * @return interger $oldrevision|false
+ * @return integer $oldrevision|false
*/
function getNextRevisionID( $revision ) {
$dbr =& wfGetDB( DB_SLAVE );
' AND rev_id>' . intval( $revision ) . ' ORDER BY rev_id' );
}
+ /**
+ * Get the number of revisions between the given revision IDs.
+ *
+ * @param integer $old Revision ID.
+ * @param integer $new Revision ID.
+ * @return integer Number of revisions between these IDs.
+ */
+ function countRevisionsBetween( $old, $new ) {
+ $dbr =& wfGetDB( DB_SLAVE );
+ return $dbr->selectField( 'revision', 'count(*)',
+ 'rev_page = ' . intval( $this->getArticleId() ) .
+ ' AND rev_id > ' . intval( $old ) .
+ ' AND rev_id < ' . intval( $new ) );
+ }
+
/**
* Compare with another title.
*
#
'difference' => '(Difference between revisions)',
'loadingrev' => 'loading revision for diff',
-'lineno' => "Line $1:",
+'lineno' => "Line $1:",
'editcurrent' => 'Edit the current version of this page',
'selectnewerversionfordiff' => 'Select a newer version for comparison',
'selectolderversionfordiff' => 'Select an older version for comparison',
'compareselectedversions' => 'Compare selected versions',
-'editundo' => 'undo',
+'editundo' => 'undo',
+'diff-multi' => "($1 not shown.)",
+'diff-multi-rev' => "One intermediate revision",
+'diff-multi-revs' => "$1 intermediate revisions",
# Search results
#
'selectnewerversionfordiff' => 'Valitse uudempi versio vertailuun',
'selectolderversionfordiff' => 'Valitse vanhempi versio vertailuun',
'compareselectedversions' => 'Vertaile valittuja versioita',
+'diff-multi' => "(Versioiden välissä $1.)",
+'diff-multi-rev' => "yksi muu muokkaus",
+'diff-multi-revs' => "$1 muuta muokkausta",
# Search results
#