X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FmergeMessageFileList.php;h=bb4763135724ba8bb2b501371de8ba3da4a16fbd;hb=f0828ff4757c4c05790e0c274418cbd2a45b508b;hp=20b333ee971b45c221f6967e4d0f0f0ea9c3b302;hpb=592637225a4d5db5abcdc288d838c160284eef08;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/mergeMessageFileList.php b/maintenance/mergeMessageFileList.php index 20b333ee97..bb47631357 100644 --- a/maintenance/mergeMessageFileList.php +++ b/maintenance/mergeMessageFileList.php @@ -36,11 +36,6 @@ $mmfl = false; * @ingroup Maintenance */ class MergeMessageFileList extends Maintenance { - /** - * @var bool - */ - protected $hasError; - function __construct() { parent::__construct(); $this->addOption( @@ -70,7 +65,7 @@ class MergeMessageFileList extends Maintenance { "\$wgExtensionEntryPointListFiles is not set", 1 ); } - $mmfl = array( 'setupFiles' => array() ); + $mmfl = [ 'setupFiles' => [] ]; # Add setup files contained in file passed to --list-file if ( $this->hasOption( 'list-file' ) ) { @@ -81,16 +76,21 @@ class MergeMessageFileList extends Maintenance { # Now find out files in a directory if ( $this->hasOption( 'extensions-dir' ) ) { $extdir = $this->getOption( 'extensions-dir' ); - $entries = scandir( $extdir ); + # Allow multiple directories to be passed with ":" as delimiter + $extdirs = explode( ':', $extdir ); + $entries = []; + foreach ( $extdirs as $extdir ) { + $entries = array_merge( $entries, scandir( $extdir ) ); + } foreach ( $entries as $extname ) { if ( $extname == '.' || $extname == '..' || !is_dir( "$extdir/$extname" ) ) { continue; } - $possibilities = array( + $possibilities = [ "$extdir/$extname/extension.json", "$extdir/$extname/skin.json", "$extdir/$extname/$extname.php" - ); + ]; $found = false; foreach ( $possibilities as $extfile ) { if ( file_exists( $extfile ) ) { @@ -101,7 +101,6 @@ class MergeMessageFileList extends Maintenance { } if ( !$found ) { - $this->hasError = true; $this->error( "Extension {$extname} in {$extdir} lacks expected entry point: " . "extension.json, skin.json, or {$extname}.php." ); } @@ -114,10 +113,6 @@ class MergeMessageFileList extends Maintenance { $mmfl['setupFiles'] = array_merge( $mmfl['setupFiles'], $extensionPaths ); } - if ( $this->hasError ) { - $this->error( "Some files are missing (see above). Giving up.", 1 ); - } - if ( $this->hasOption( 'output' ) ) { $mmfl['output'] = $this->getOption( 'output' ); } @@ -133,7 +128,7 @@ class MergeMessageFileList extends Maintenance { private function readFile( $fileName ) { global $IP; - $files = array(); + $files = []; $fileLines = file( $fileName ); if ( $fileLines === false ) { $this->hasError = true; @@ -163,7 +158,7 @@ class MergeMessageFileList extends Maintenance { require_once RUN_MAINTENANCE_IF_MAIN; -$queue = array(); +$queue = []; foreach ( $mmfl['setupFiles'] as $fileName ) { if ( strval( $fileName ) === '' ) { continue; @@ -182,7 +177,7 @@ foreach ( $mmfl['setupFiles'] as $fileName ) { if ( $queue ) { $registry = new ExtensionRegistry(); $data = $registry->readFromQueue( $queue ); - foreach ( array( 'wgExtensionMessagesFiles', 'wgMessagesDirs' ) as $var ) { + foreach ( [ 'wgExtensionMessagesFiles', 'wgMessagesDirs' ] as $var ) { if ( isset( $data['globals'][$var] ) ) { $GLOBALS[$var] = array_merge( $data['globals'][$var], $GLOBALS[$var] ); } @@ -197,11 +192,11 @@ $s = '$wgExtensionMessagesFiles = ' . var_export( $wgExtensionMessagesFiles, true ) . ";\n\n" . '$wgMessagesDirs = ' . var_export( $wgMessagesDirs, true ) . ";\n\n"; -$dirs = array( +$dirs = [ $IP, dirname( __DIR__ ), realpath( $IP ) -); +]; foreach ( $dirs as $dir ) { $s = preg_replace( "/'" . preg_quote( $dir, '/' ) . "([^']*)'/", '"$IP\1"', $s );