diff options
Diffstat (limited to 'maintenance/mergeMessageFileList.php')
-rw-r--r-- | maintenance/mergeMessageFileList.php | 79 |
1 files changed, 36 insertions, 43 deletions
diff --git a/maintenance/mergeMessageFileList.php b/maintenance/mergeMessageFileList.php index 8cfefcbd..b5a911aa 100644 --- a/maintenance/mergeMessageFileList.php +++ b/maintenance/mergeMessageFileList.php @@ -26,25 +26,18 @@ define( 'MW_NO_EXTENSION_MESSAGES', 1 ); require_once( dirname( __FILE__ ) . '/Maintenance.php' ); -$maintClass = 'MergeMessageFileList'; -$mmfl = false; + class MergeMessageFileList extends Maintenance { function __construct() { parent::__construct(); - $this->addOption( 'list-file', 'A file containing a list of extension setup files, one per line.', false, true ); + $this->addOption( 'list-file', 'A file containing a list of extension setup files, one per line.', true, true ); $this->addOption( 'output', 'Send output to this file (omit for stdout)', false, true ); $this->mDescription = 'Merge $wgExtensionMessagesFiles from various extensions to produce a ' . 'single array containing all message files.'; } public function execute() { - global $mmfl; - if ( !$this->hasOption( 'list-file' ) ) { - $this->error( 'The --list-file option must be specified.' ); - return; - } - $lines = file( $this->getOption( 'list-file' ) ); if ( $lines === false ) { $this->error( 'Unable to open list file.' ); @@ -53,43 +46,43 @@ class MergeMessageFileList extends Maintenance { if ( $this->hasOption( 'output' ) ) { $mmfl['output'] = $this->getOption( 'output' ); } - } -} - -require_once( RUN_MAINTENANCE_IF_MAIN ); -foreach ( $mmfl['setupFiles'] as $fileName ) { - if ( strval( $fileName ) === '' ) { - continue; - } - $fileName = str_replace( '$IP', $IP, $fileName ); - fwrite( STDERR, "Loading data from $fileName\n" ); - include_once( $fileName ); -} -fwrite( STDERR, "\n" ); -$s = - "<" . "?php\n" . - "## This file is generated by mergeMessageFileList.php. Do not edit it directly.\n\n" . - "if ( defined( 'MW_NO_EXTENSION_MESSAGES' ) ) return;\n\n" . - '$wgExtensionMessagesFiles = ' . var_export( $wgExtensionMessagesFiles, true ) . ";\n\n" . - '$wgExtensionAliasesFiles = ' . var_export( $wgExtensionAliasesFiles, true ) . ";\n"; + global $IP, $wgExtensionMessagesFiles; + foreach ( $mmfl['setupFiles'] as $fileName ) { + if ( strval( $fileName ) === '' ) { + continue; + } + $fileName = str_replace( '$IP', $IP, $fileName ); + fwrite( STDERR, "Loading data from $fileName\n" ); + include_once( $fileName ); + } + fwrite( STDERR, "\n" ); + $s = + "<" . "?php\n" . + "## This file is generated by mergeMessageFileList.php. Do not edit it directly.\n\n" . + "if ( defined( 'MW_NO_EXTENSION_MESSAGES' ) ) return;\n\n" . + '$wgExtensionMessagesFiles = ' . var_export( $wgExtensionMessagesFiles, true ) . ";\n"; -$dirs = array( - $IP, - dirname( dirname( __FILE__ ) ), - realpath( $IP ) -); + $dirs = array( + $IP, + dirname( dirname( __FILE__ ) ), + realpath( $IP ) + ); -foreach ( $dirs as $dir ) { - $s = preg_replace( - "/'" . preg_quote( $dir, '/' ) . "([^']*)'/", - '"$IP\1"', - $s ); -} + foreach ( $dirs as $dir ) { + $s = preg_replace( + "/'" . preg_quote( $dir, '/' ) . "([^']*)'/", + '"$IP\1"', + $s ); + } -if ( isset( $mmfl['output'] ) ) { - file_put_contents( $mmfl['output'], $s ); -} else { - echo $s; + if ( isset( $mmfl['output'] ) ) { + file_put_contents( $mmfl['output'], $s ); + } else { + echo $s; + } + } } +$maintClass = 'MergeMessageFileList'; +require_once( RUN_MAINTENANCE_IF_MAIN ); |