From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 13:29:22 +0100 Subject: Update to MediaWiki 1.18.0 * also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing --- includes/HistoryBlob.php | 88 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 10 deletions(-) (limited to 'includes/HistoryBlob.php') diff --git a/includes/HistoryBlob.php b/includes/HistoryBlob.php index fe2b48bf..f707b3f6 100644 --- a/includes/HistoryBlob.php +++ b/includes/HistoryBlob.php @@ -12,16 +12,20 @@ interface HistoryBlob * You must call setLocation() on the stub object before storing it to the * database * + * @param $text string + * * @return String: the key for getItem() */ - public function addItem( $text ); + function addItem( $text ); /** * Get item by key, or false if the key is not present * + * @param $key string + * * @return String or false */ - public function getItem( $key ); + function getItem( $key ); /** * Set the "default text" @@ -30,8 +34,10 @@ interface HistoryBlob * be other revisions in the same object. * * Default text is not required for two-part external storage URLs. + * + * @param $text string */ - public function setText( $text ); + function setText( $text ); /** * Get default text. This is called from Revision::getRevisionText() @@ -53,12 +59,16 @@ class ConcatenatedGzipHistoryBlob implements HistoryBlob public $mMaxCount = 100; /** Constructor */ - public function ConcatenatedGzipHistoryBlob() { + public function __construct() { if ( !function_exists( 'gzdeflate' ) ) { throw new MWException( "Need zlib support to read or write this kind of history object (ConcatenatedGzipHistoryBlob)\n" ); } } + /** + * @param $text string + * @return string + */ public function addItem( $text ) { $this->uncompress(); $hash = md5( $text ); @@ -69,6 +79,10 @@ class ConcatenatedGzipHistoryBlob implements HistoryBlob return $hash; } + /** + * @param $hash string + * @return array|bool + */ public function getItem( $hash ) { $this->uncompress(); if ( array_key_exists( $hash, $this->mItems ) ) { @@ -78,11 +92,18 @@ class ConcatenatedGzipHistoryBlob implements HistoryBlob } } + /** + * @param $text string + * @return void + */ public function setText( $text ) { $this->uncompress(); $this->mDefaultHash = $this->addItem( $text ); } + /** + * @return array|bool + */ public function getText() { $this->uncompress(); return $this->getItem( $this->mDefaultHash ); @@ -90,6 +111,8 @@ class ConcatenatedGzipHistoryBlob implements HistoryBlob /** * Remove an item + * + * @param $hash string */ public function removeItem( $hash ) { $this->mSize -= strlen( $this->mItems[$hash] ); @@ -116,7 +139,9 @@ class ConcatenatedGzipHistoryBlob implements HistoryBlob } } - + /** + * @return array + */ function __sleep() { $this->compress(); return array( 'mVersion', 'mCompressed', 'mItems', 'mDefaultHash' ); @@ -129,6 +154,8 @@ class ConcatenatedGzipHistoryBlob implements HistoryBlob /** * Helper function for compression jobs * Returns true until the object is "full" and ready to be committed + * + * @return bool */ public function isHappy() { return $this->mSize < $this->mMaxSize @@ -137,8 +164,6 @@ class ConcatenatedGzipHistoryBlob implements HistoryBlob } - - /** * Pointer object for an item within a CGZ blob stored in the text table. */ @@ -183,6 +208,9 @@ class HistoryBlobStub { return $this->mRef; } + /** + * @return string + */ function getText() { $fname = 'HistoryBlobStub::getText'; @@ -197,12 +225,12 @@ class HistoryBlobStub { $flags = explode( ',', $row->old_flags ); if( in_array( 'external', $flags ) ) { $url=$row->old_text; - @list( /* $proto */ ,$path)=explode('://',$url,2); - if ($path=="") { + $parts = explode( '://', $url, 2 ); + if ( !isset( $parts[1] ) || $parts[1] == '' ) { wfProfileOut( $fname ); return false; } - $row->old_text=ExternalStore::fetchFromUrl($url); + $row->old_text = ExternalStore::fetchFromUrl($url); } if( !in_array( 'object', $flags ) ) { @@ -232,6 +260,8 @@ class HistoryBlobStub { /** * Get the content hash + * + * @return string */ function getHash() { return $this->mHash; @@ -260,11 +290,16 @@ class HistoryBlobCurStub { /** * Sets the location (cur_id) of the main object to which this object * points + * + * @param $id int */ function setLocation( $id ) { $this->mCurId = $id; } + /** + * @return string|false + */ function getText() { $dbr = wfGetDB( DB_SLAVE ); $row = $dbr->selectRow( 'cur', array( 'cur_text' ), array( 'cur_id' => $this->mCurId ) ); @@ -336,6 +371,11 @@ class DiffHistoryBlob implements HistoryBlob { } } + /** + * @throws MWException + * @param $text string + * @return int + */ function addItem( $text ) { if ( $this->mFrozen ) { throw new MWException( __METHOD__.": Cannot add more items after sleep/wakeup" ); @@ -347,18 +387,31 @@ class DiffHistoryBlob implements HistoryBlob { return count( $this->mItems ) - 1; } + /** + * @param $key string + * @return string + */ function getItem( $key ) { return $this->mItems[$key]; } + /** + * @param $text string + */ function setText( $text ) { $this->mDefaultKey = $this->addItem( $text ); } + /** + * @return string + */ function getText() { return $this->getItem( $this->mDefaultKey ); } + /** + * @throws MWException + */ function compress() { if ( !function_exists( 'xdiff_string_rabdiff' ) ){ throw new MWException( "Need xdiff 1.5+ support to write DiffHistoryBlob\n" ); @@ -431,6 +484,11 @@ class DiffHistoryBlob implements HistoryBlob { } } + /** + * @param $t1 + * @param $t2 + * @return string + */ function diff( $t1, $t2 ) { # Need to do a null concatenation with warnings off, due to bugs in the current version of xdiff # "String is not zero-terminated" @@ -440,6 +498,11 @@ class DiffHistoryBlob implements HistoryBlob { return $diff; } + /** + * @param $base + * @param $diff + * @return bool|string + */ function patch( $base, $diff ) { if ( function_exists( 'xdiff_string_bpatch' ) ) { wfSuppressWarnings(); @@ -510,6 +573,9 @@ class DiffHistoryBlob implements HistoryBlob { } } + /** + * @return array + */ function __sleep() { $this->compress(); if ( !count( $this->mItems ) ) { @@ -575,6 +641,8 @@ class DiffHistoryBlob implements HistoryBlob { /** * Helper function for compression jobs * Returns true until the object is "full" and ready to be committed + * + * @return bool */ function isHappy() { return $this->mSize < $this->mMaxSize -- cgit v1.2.3-54-g00ecf