From: This, that and the other Date: Sat, 16 Jul 2016 12:19:31 +0000 (+1000) Subject: Make importTextFiles.php work with wildcards on the Windows shell X-Git-Tag: 1.31.0-rc.0~6258^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/operations/?a=commitdiff_plain;h=b84905bb85cc005591f3db8473215569b9e4a11d;p=lhc%2Fweb%2Fwiklou.git Make importTextFiles.php work with wildcards on the Windows shell The Windows command line doesn't automatically expand wildcards, unlike Unix shells. So the script tried to run function calls like file_get_contents( '*.txt' ), which do not work. This patch uses glob() to simulate the behaviour of the Unix shell. This was reported at https://www.mediawiki.org/wiki/Topic:T7hf8bz8u2p4ryol Change-Id: I002344a19cb08cc8ac8ee75214339b2379b04dbe --- diff --git a/maintenance/importTextFiles.php b/maintenance/importTextFiles.php index 88ee9d7ecd..5531ffc3af 100644 --- a/maintenance/importTextFiles.php +++ b/maintenance/importTextFiles.php @@ -63,7 +63,16 @@ class ImportTextFiles extends Maintenance { if ( file_exists( $arg ) ) { $files[$arg] = file_get_contents( $arg ); } else { - $this->error( "Fatal error: The file '$arg' does not exist!", 1 ); + // use glob to support the Windows shell, which doesn't automatically + // expand wildcards + $found = false; + foreach ( glob( $arg ) as $filename ) { + $found = true; + $files[$filename] = file_get_contents( $filename ); + } + if ( !$found ) { + $this->error( "Fatal error: The file '$arg' does not exist!", 1 ); + } } };