From 08aa4418c30cfc18ccc69a0f0f9cb9e17be6c196 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Mon, 12 Aug 2013 09:28:15 +0200 Subject: Update to MediaWiki 1.21.1 --- maintenance/mcc.php | 73 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 63 insertions(+), 10 deletions(-) (limited to 'maintenance/mcc.php') diff --git a/maintenance/mcc.php b/maintenance/mcc.php index e07e62db..6ff8a176 100644 --- a/maintenance/mcc.php +++ b/maintenance/mcc.php @@ -25,11 +25,62 @@ /** */ require_once( __DIR__ . '/commandLine.inc' ); -$mcc = new MWMemcached( array( 'persistent' => true/*, 'debug' => true*/ ) ); -$mcc->set_servers( $wgMemCachedServers ); -# $mcc->set_debug( true ); +$options = getopt( '', array( 'debug', 'help', 'cache:' ) ); -function mccShowHelp( $command ) { +$debug = isset( $options['debug'] ); +$help = isset( $options['help'] ); +$cache = isset( $options['cache'] ) ? $options['cache'] : null; + +if ( $help ) { + mccShowUsage(); + exit( 0 ); +} +$mcc = new MWMemcached( array( + 'persistent' => true, + 'debug' => $debug, +) ); + +if ( $cache ) { + if ( !isset( $wgObjectCaches[$cache] ) ) { + print "MediaWiki isn't configured with a cache named '$cache'"; + exit( 1 ); + } + $servers = $wgObjectCaches[$cache]['servers']; +} elseif ( $wgMainCacheType === CACHE_MEMCACHED ) { + $mcc->set_servers( $wgMemCachedServers ); +} elseif( isset( $wgObjectCaches[$wgMainCacheType]['servers'] ) ) { + $mcc->set_servers( $wgObjectCaches[$wgMainCacheType]['servers'] ); +} else { + print "MediaWiki isn't configured for Memcached usage\n"; + exit( 1 ); +} + +/** + * Show this command line tool usage. + */ +function mccShowUsage() { + echo << 'grabs something', 'getsock' => 'lists sockets', @@ -48,13 +99,15 @@ function mccShowHelp( $command ) { if ( $command === 'fullhelp' ) { $max_cmd_len = max( array_map( 'strlen', array_keys( $commandList ) ) ); foreach ( $commandList as $cmd => $desc ) { - printf( "%-{$max_cmd_len}s: %s\n", $cmd, $desc ); + $output .= sprintf( "%-{$max_cmd_len}s: %s\n", $cmd, $desc ); } } elseif ( isset( $commandList[$command] ) ) { - print "$command: $commandList[$command]\n"; + $output .= "$command: $commandList[$command]\n"; } else { - print "$command: command does not exist or no help for it\n"; + $output .= "$command: command does not exist or no help for it\n"; } + + return $output; } do { @@ -72,8 +125,8 @@ do { switch ( $command ) { case 'help': // show an help message - mccShowHelp( array_shift( $args ) ); - break; + print mccGetHelp( array_shift( $args ) ); + break; case 'get': $sub = ''; @@ -93,7 +146,7 @@ do { } else { var_dump( $res ); } - break; + break; case 'getsock': $res = $mcc->get( $args[0] ); -- cgit v1.2.2