diff -u -r wiki1.7.1/includes/Article.php wiki/includes/Article.php --- wiki1.7.1/includes/Article.php 2006-07-09 07:45:26.000000000 +0200 +++ wiki/includes/Article.php 2006-07-19 22:59:46.000000000 +0200 @@ -638,6 +638,7 @@ $diff = $wgRequest->getVal( 'diff' ); $rcid = $wgRequest->getVal( 'rcid' ); $rdfrom = $wgRequest->getVal( 'rdfrom' ); + $diffOnly = $wgRequest->getBool( 'diffonly', $wgUser->getOption( 'diffonly' ) ); $wgOut->setArticleFlag( true ); if ( isset( $wgNamespaceRobotPolicies[$ns] ) ) { @@ -654,7 +655,7 @@ require_once( 'DifferenceEngine.php' ); $wgOut->setPageTitle( $this->mTitle->getPrefixedText() ); - $de = new DifferenceEngine( $this->mTitle, $oldid, $diff, $rcid ); + $de = new DifferenceEngine( $this->mTitle, $oldid, $diff, $rcid, $diffOnly ); // DifferenceEngine directly fetched the revision: $this->mRevIdFetched = $de->mNewid; $de->showDiffPage(); Only in wiki/includes: Article.php.orig diff -u -r wiki1.7.1/includes/DifferenceEngine.php wiki/includes/DifferenceEngine.php --- wiki1.7.1/includes/DifferenceEngine.php 2006-07-09 07:45:26.000000000 +0200 +++ wiki/includes/DifferenceEngine.php 2006-07-20 01:32:50.921875000 +0200 @@ -35,9 +35,12 @@ * @param $old Integer: old ID we want to show and diff with. * @param $new String: either 'prev' or 'next'. * @param $rcid Integer: ??? FIXME (default 0) + * @param $diffOnly Boolean: only show diff, not rendered article */ - function DifferenceEngine( $titleObj = null, $old = 0, $new = 0, $rcid = 0 ) { + function DifferenceEngine( $titleObj = null, $old = 0, $new = 0, $rcid = 0, $diffOnly = false ) { $this->mTitle = $titleObj; + $this->diffOnly = $diffOnly; + wfDebug("DifferenceEngine old '$old' new '$new' rcid '$rcid'\n"); if ( 'prev' === $new ) { @@ -185,6 +188,27 @@ $nextlink . $patrol; $this->showDiff( $oldHeader, $newHeader ); + if ( ! $this->diffOnly ) { + $this->showArticle(); + } else { + $wgOut->addHTML( + "' + ); + } + + wfProfileOut( $fname ); + } + + /** + * Show the rendered article + */ + function showArticle() { + global $wgOut; + $wgOut->addHTML( "

{$this->mPagetitle}

\n" ); if( !$this->mNewRev->isCurrent() ) { @@ -200,8 +224,6 @@ if( !$this->mNewRev->isCurrent() ) { $wgOut->mParserOptions->setEditSection( $oldEditSectionSetting ); } - - wfProfileOut( $fname ); } /** diff -u -r wiki1.7.1/languages/Language.php wiki/languages/Language.php --- wiki1.7.1/languages/Language.php 2006-07-09 07:45:46.000000000 +0200 +++ wiki/languages/Language.php 2006-07-19 23:14:45.125000000 +0200 @@ -84,6 +84,7 @@ 'externaldiff' => 0, 'showjumplinks' => 1, 'numberheadings' => 0, + 'diffonly' => 0, 'uselivepreview' => 0, 'watchlistdays' => 3.0, ); @@ -161,6 +162,7 @@ 'externaleditor', 'externaldiff', 'showjumplinks', + 'diffonly', 'uselivepreview', 'autopatrol', 'forceeditsummary', diff -u -r wiki1.7.1/languages/Messages.php wiki/languages/Messages.php --- wiki1.7.1/languages/Messages.php 2006-07-09 07:45:46.000000000 +0200 +++ wiki/languages/Messages.php 2006-07-19 23:15:39.234375000 +0200 @@ -62,6 +62,7 @@ 'tog-externaleditor' => 'Use external editor by default', 'tog-externaldiff' => 'Use external diff by default', 'tog-showjumplinks' => 'Enable "jump to" accessibility links', +'tog-diffonly' => 'Show diffs without article body', 'tog-uselivepreview' => 'Use live preview (JavaScript) (Experimental)', 'tog-autopatrol' => 'Mark edits I make as patrolled', 'tog-forceeditsummary' => 'Prompt me when entering a blank edit summary',