From a1789ddde42033f1b05cc4929491214ee6e79383 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 17 Dec 2015 09:15:42 +0100 Subject: Update to MediaWiki 1.26.0 --- includes/diff/DifferenceEngine.php | 27 +++++++++++---------------- includes/diff/TableDiffFormatter.php | 2 +- includes/diff/UnifiedDiffFormatter.php | 10 ++++++++++ 3 files changed, 22 insertions(+), 17 deletions(-) (limited to 'includes/diff') diff --git a/includes/diff/DifferenceEngine.php b/includes/diff/DifferenceEngine.php index 77bbd36a..c138eec2 100644 --- a/includes/diff/DifferenceEngine.php +++ b/includes/diff/DifferenceEngine.php @@ -685,24 +685,20 @@ class DifferenceEngine extends ContextSource { $this->mCacheHit = true; // Check if the diff should be hidden from this user if ( !$this->loadRevisionData() ) { - return false; } elseif ( $this->mOldRev && !$this->mOldRev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) { - return false; } elseif ( $this->mNewRev && !$this->mNewRev->userCan( Revision::DELETED_TEXT, $this->getUser() ) ) { - return false; } // Short-circuit if ( $this->mOldRev === false || ( $this->mOldRev && $this->mNewRev && $this->mOldRev->getID() == $this->mNewRev->getID() ) ) { - return ''; } // Cacheable? @@ -714,7 +710,7 @@ class DifferenceEngine extends ContextSource { if ( !$this->mRefreshCache ) { $difftext = $wgMemc->get( $key ); if ( $difftext ) { - wfIncrStats( 'diff_cache_hit' ); + wfIncrStats( 'diff_cache.hit' ); $difftext = $this->localiseLineNumbers( $difftext ); $difftext .= "\n\n"; @@ -726,7 +722,6 @@ class DifferenceEngine extends ContextSource { // Loadtext is permission safe, this just clears out the diff if ( !$this->loadText() ) { - return false; } @@ -734,12 +729,12 @@ class DifferenceEngine extends ContextSource { // Save to cache for 7 days if ( !Hooks::run( 'AbortDiffCache', array( &$this ) ) ) { - wfIncrStats( 'diff_uncacheable' ); + wfIncrStats( 'diff_cache.uncacheable' ); } elseif ( $key !== false && $difftext !== false ) { - wfIncrStats( 'diff_cache_miss' ); + wfIncrStats( 'diff_cache.miss' ); $wgMemc->set( $key, $difftext, 7 * 86400 ); } else { - wfIncrStats( 'diff_uncacheable' ); + wfIncrStats( 'diff_cache.uncacheable' ); } // Replace line numbers with the text in the user's language if ( $difftext !== false ) { @@ -859,12 +854,10 @@ class DifferenceEngine extends ContextSource { $tempFile1 = fopen( $tempName1, "w" ); if ( !$tempFile1 ) { - return false; } $tempFile2 = fopen( $tempName2, "w" ); if ( !$tempFile2 ) { - return false; } fwrite( $tempFile1, $otext ); @@ -1040,7 +1033,7 @@ class DifferenceEngine extends ContextSource { $key = $title->quickUserCan( 'edit', $user ) ? 'editold' : 'viewsourceold'; $msg = $this->msg( $key )->escaped(); $editLink = $this->msg( 'parentheses' )->rawParams( - Linker::linkKnown( $title, $msg, array( ), $editQuery ) )->escaped(); + Linker::linkKnown( $title, $msg, array(), $editQuery ) )->escaped(); $header .= ' ' . Html::rawElement( 'span', array( 'class' => 'mw-diff-edit' ), @@ -1077,10 +1070,11 @@ class DifferenceEngine extends ContextSource { // is often in a different language, mostly the page content language/dir $tableClass = 'diff diff-contentalign-' . htmlspecialchars( $this->getDiffLang()->alignStart() ); $header = ""; + $userLang = htmlspecialchars( $this->getLanguage()->getHtmlCode() ); if ( !$diff && !$otitle ) { $header .= " - + "; $multiColspan = 1; @@ -1099,7 +1093,7 @@ class DifferenceEngine extends ContextSource { } if ( $otitle || $ntitle ) { $header .= " - + "; @@ -1108,10 +1102,11 @@ class DifferenceEngine extends ContextSource { if ( $multi != '' ) { $header .= ""; + "class='diff-multi' lang='{$userLang}'>{$multi}"; } if ( $notice != '' ) { - $header .= ""; + $header .= ""; } return $header . $diff . "
{$ntitle}
{$otitle} {$ntitle}
{$multi}
{$notice}
{$notice}
"; diff --git a/includes/diff/TableDiffFormatter.php b/includes/diff/TableDiffFormatter.php index 5d0183ff..83e04a54 100644 --- a/includes/diff/TableDiffFormatter.php +++ b/includes/diff/TableDiffFormatter.php @@ -62,7 +62,7 @@ class TableDiffFormatter extends DiffFormatter { protected function blockHeader( $xbeg, $xlen, $ybeg, $ylen ) { // '' get replaced by a localised line number // in DifferenceEngine::localiseLineNumbers - $r = '\n" . + $r = '\n" . '\n"; return $r; diff --git a/includes/diff/UnifiedDiffFormatter.php b/includes/diff/UnifiedDiffFormatter.php index 32a76055..5f3ad3d7 100644 --- a/includes/diff/UnifiedDiffFormatter.php +++ b/includes/diff/UnifiedDiffFormatter.php @@ -36,6 +36,16 @@ class UnifiedDiffFormatter extends DiffFormatter { /** @var int */ protected $trailingContextLines = 2; + /** + * @param string[] $lines + * @param string $prefix + */ + protected function lines( $lines, $prefix = ' ' ) { + foreach ( $lines as $line ) { + echo "{$prefix}{$line}\n"; + } + } + /** * @param string[] $lines */ -- cgit v1.2.3-54-g00ecf