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( + "