From 63601400e476c6cf43d985f3e7b9864681695ed4 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 18 Jan 2013 16:46:04 +0100 Subject: Update to MediaWiki 1.20.2 this update includes: * adjusted Arch Linux skin * updated FluxBBAuthPlugin * patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=44024 --- maintenance/Maintenance.php | 80 ++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 48 deletions(-) (limited to 'maintenance/Maintenance.php') diff --git a/maintenance/Maintenance.php b/maintenance/Maintenance.php index 082cf8be..69d11313 100644 --- a/maintenance/Maintenance.php +++ b/maintenance/Maintenance.php @@ -20,23 +20,24 @@ * @defgroup Maintenance Maintenance */ +// Make sure we're on PHP5.3.2 or better +if ( !function_exists( 'version_compare' ) || version_compare( PHP_VERSION, '5.3.2' ) < 0 ) { + // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+ + require_once( dirname( __FILE__ ) . '/../includes/PHPVersionError.php' ); + wfPHPVersionError( 'cli' ); +} + /** * @defgroup MaintenanceArchive Maintenance archives * @ingroup Maintenance */ // Define this so scripts can easily find doMaintenance.php -define( 'RUN_MAINTENANCE_IF_MAIN', dirname( __FILE__ ) . '/doMaintenance.php' ); +define( 'RUN_MAINTENANCE_IF_MAIN', __DIR__ . '/doMaintenance.php' ); define( 'DO_MAINTENANCE', RUN_MAINTENANCE_IF_MAIN ); // original name, harmless $maintClass = false; -// Make sure we're on PHP5 or better -if ( !function_exists( 'version_compare' ) || version_compare( PHP_VERSION, '5.2.3' ) < 0 ) { - require_once( dirname( __FILE__ ) . '/../includes/PHPVersionError.php' ); - wfPHPVersionError( 'cli' ); -} - /** * Abstract maintenance class for quickly writing and churning out * maintenance scripts with minimal effort. All that _must_ be defined @@ -101,7 +102,10 @@ abstract class Maintenance { // Generic options which might or not be supported by the script private $mDependantParameters = array(); - // Used by getDD() / setDB() + /** + * Used by getDD() / setDB() + * @var DatabaseBase + */ private $mDb = null; /** @@ -120,7 +124,7 @@ abstract class Maintenance { global $IP; $IP = strval( getenv( 'MW_INSTALL_PATH' ) ) !== '' ? getenv( 'MW_INSTALL_PATH' ) - : realpath( dirname( __FILE__ ) . '/..' ); + : realpath( __DIR__ . '/..' ); $this->addDefaultParams(); register_shutdown_function( array( $this, 'outputChanneled' ), false ); @@ -297,6 +301,9 @@ abstract class Maintenance { return rtrim( $input ); } + /** + * @return bool + */ public function isQuiet() { return $this->mQuiet; } @@ -314,11 +321,7 @@ abstract class Maintenance { } if ( $channel === null ) { $this->cleanupChanneled(); - if( php_sapi_name() == 'cli' ) { - fwrite( STDOUT, $out ); - } else { - print( $out ); - } + print( $out ); } else { $out = preg_replace( '/\n\z/', '', $out ); $this->outputChanneled( $out, $channel ); @@ -352,11 +355,7 @@ abstract class Maintenance { */ public function cleanupChanneled() { if ( !$this->atLineStart ) { - if( php_sapi_name() == 'cli' ) { - fwrite( STDOUT, "\n" ); - } else { - print "\n"; - } + print "\n"; $this->atLineStart = true; } } @@ -366,7 +365,7 @@ abstract class Maintenance { * same channel are concatenated, but any intervening messages in another * channel start a new line. * @param $msg String: the message without trailing newline - * @param $channel Channel identifier or null for no + * @param $channel string Channel identifier or null for no * channel. Channel comparison uses ===. */ public function outputChanneled( $msg, $channel = null ) { @@ -375,31 +374,17 @@ abstract class Maintenance { return; } - $cli = php_sapi_name() == 'cli'; - // End the current line if necessary if ( !$this->atLineStart && $channel !== $this->lastChannel ) { - if( $cli ) { - fwrite( STDOUT, "\n" ); - } else { - print "\n"; - } + print "\n"; } - if( $cli ) { - fwrite( STDOUT, $msg ); - } else { - print $msg; - } + print $msg; $this->atLineStart = false; if ( $channel === null ) { // For unchanneled messages, output trailing newline immediately - if( $cli ) { - fwrite( STDOUT, "\n" ); - } else { - print "\n"; - } + print "\n"; $this->atLineStart = true; } $this->lastChannel = $channel; @@ -951,7 +936,7 @@ abstract class Maintenance { public function purgeRedundantText( $delete = true ) { # Data should come off the master, wrapped in a transaction $dbw = $this->getDB( DB_MASTER ); - $dbw->begin(); + $dbw->begin( __METHOD__ ); $tbl_arc = $dbw->tableName( 'archive' ); $tbl_rev = $dbw->tableName( 'revision' ); @@ -996,7 +981,7 @@ abstract class Maintenance { } # Done - $dbw->commit(); + $dbw->commit( __METHOD__ ); } /** @@ -1004,7 +989,7 @@ abstract class Maintenance { * @return string */ protected function getDir() { - return dirname( __FILE__ ); + return __DIR__; } /** @@ -1025,10 +1010,9 @@ abstract class Maintenance { protected static function getCoreScripts() { if ( !self::$mCoreScripts ) { $paths = array( - dirname( __FILE__ ), - dirname( __FILE__ ) . '/gearman', - dirname( __FILE__ ) . '/language', - dirname( __FILE__ ) . '/storage', + __DIR__, + __DIR__ . '/language', + __DIR__ . '/storage', ); self::$mCoreScripts = array(); foreach ( $paths as $p ) { @@ -1080,7 +1064,7 @@ abstract class Maintenance { /** * Lock the search index - * @param &$db Database object + * @param &$db DatabaseBase object */ private function lockSearchindex( &$db ) { $write = array( 'searchindex' ); @@ -1090,7 +1074,7 @@ abstract class Maintenance { /** * Unlock the tables - * @param &$db Database object + * @param &$db DatabaseBase object */ private function unlockSearchindex( &$db ) { $db->unlockTables( __CLASS__ . '::' . __METHOD__ ); @@ -1099,7 +1083,7 @@ abstract class Maintenance { /** * Unlock and lock again * Since the lock is low-priority, queued reads will be able to complete - * @param &$db Database object + * @param &$db DatabaseBase object */ private function relockSearchindex( &$db ) { $this->unlockSearchindex( $db ); @@ -1147,7 +1131,7 @@ abstract class Maintenance { /** * Update the searchindex table for a given pageid - * @param $dbw Database: a database write handle + * @param $dbw DatabaseBase a database write handle * @param $pageId Integer: the page ID to update. * @return null|string */ -- cgit v1.2.2