Revision: 51777 Author: demon Date: 2009-06-12 02:13:37 +0000 (Fri, 12 Jun 2009)
Log Message: ----------- * Minor tweak to help, only show <> when there's some args to put in * Port eval.php Modified Paths: -------------- branches/maintenance-work/maintenance/Maintenance.php branches/maintenance-work/maintenance/eval.php Modified: branches/maintenance-work/maintenance/Maintenance.php =================================================================== --- branches/maintenance-work/maintenance/Maintenance.php 2009-06-12 01:47:59 UTC (rev 51776) +++ branches/maintenance-work/maintenance/Maintenance.php 2009-06-12 02:13:37 UTC (rev 51777) @@ -306,8 +306,11 @@ $this->output( $this->mDescription . "\n" ); } $this->output( "\nUsage: php " . $this->mSelf . " [--" . - implode( array_keys( $this->mParams ), "|--" ) . "] <" . - implode( $this->mArgList, "> <" ) . ">\n" ); + implode( array_keys( $this->mParams ), "|--" ) . "]" ); + if( $this->mArgList ) { + $this->output( " <" . implode( $this->mArgList, "> <" ) . ">" ); + } + $this->output( "\n" ); foreach( $this->mParams as $par => $info ) { $this->output( "\t$par : " . $info['desc'] . "\n" ); } Modified: branches/maintenance-work/maintenance/eval.php =================================================================== --- branches/maintenance-work/maintenance/eval.php 2009-06-12 01:47:59 UTC (rev 51776) +++ branches/maintenance-work/maintenance/eval.php 2009-06-12 02:13:37 UTC (rev 51777) @@ -16,57 +16,66 @@ * @ingroup Maintenance */ -$wgUseNormalUser = (bool)getenv('MW_WIKIUSER'); +require_once( "Maintenance.php" ); -$optionsWithArgs = array( 'd' ); +class EvalPrompt extends Maintenance { -/** */ -require_once( "commandLine.inc" ); - -if ( isset( $options['d'] ) ) { - $d = $options['d']; - if ( $d > 0 ) { - $wgDebugLogFile = '/dev/stdout'; + public function __construct() { + parent::__construct(); + $this->mDescription = "This script lets a command-line user start up the wiki engine and then poke\n" . + "about by issuing PHP commands directly."; + $this->addParam( 'd', "Enable MediaWiki debug output", false, true ); } - if ( $d > 1 ) { - $lb = wfGetLB(); - foreach ( $lb->mServers as $i => $server ) { - $lb->mServers[$i]['flags'] |= DBO_DEBUG; + + public function execute() { + global $wgUseNormalUser; + $wgUseNormalUser = (bool)getenv('MW_WIKIUSER'); + if ( $this->hasOption('d') ) { + $d = $this->getOption('d'); + if ( $d > 0 ) { + $wgDebugLogFile = '/dev/stdout'; + } + if ( $d > 1 ) { + $lb = wfGetLB(); + foreach ( $lb->mServers as $i => $server ) { + $lb->mServers[$i]['flags'] |= DBO_DEBUG; + } + } + if ( $d > 2 ) { + $wgDebugFunctionEntry = true; + } } + + if ( function_exists( 'readline_add_history' ) + && function_exists( 'posix_isatty' ) && posix_isatty( 0 /*STDIN*/ ) ) + { + $useReadline = true; + } else { + $useReadline = false; + } + + if ( $useReadline ) { + $historyFile = "{$_ENV['HOME']}/.mweval_history"; + readline_read_history( $historyFile ); + } + + while ( ( $line = readconsole( '> ' ) ) !== false ) { + if ( $useReadline ) { + readline_add_history( $line ); + readline_write_history( $historyFile ); + } + $val = eval( $line . ";" ); + if( is_null( $val ) ) { + echo "\n"; + } elseif( is_string( $val ) || is_numeric( $val ) ) { + echo "$val\n"; + } else { + var_dump( $val ); + } + } + print "\n"; } - if ( $d > 2 ) { - $wgDebugFunctionEntry = true; - } } -if ( function_exists( 'readline_add_history' ) - && function_exists( 'posix_isatty' ) && posix_isatty( 0 /*STDIN*/ ) ) -{ - $useReadline = true; -} else { - $useReadline = false; -} - -if ( $useReadline ) { - $historyFile = "{$_ENV['HOME']}/.mweval_history"; - readline_read_history( $historyFile ); -} - -while ( ( $line = readconsole( '> ' ) ) !== false ) { - if ( $useReadline ) { - readline_add_history( $line ); - readline_write_history( $historyFile ); - } - $val = eval( $line . ";" ); - if( is_null( $val ) ) { - echo "\n"; - } elseif( is_string( $val ) || is_numeric( $val ) ) { - echo "$val\n"; - } else { - var_dump( $val ); - } -} - -print "\n"; - - +$maintClass = "EvalPrompt"; +require_once( DO_MAINTENANCE ); _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs