X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FimportImages.inc;h=5ae6d6bec824c0664a3ebf0e755d7bc27da49282;hb=171313e2ab337fcdfa5d366784192a96bc55d007;hp=ac5d14432b2aba4d688dab8e8d2050a55a14c91c;hpb=eeb7300f6004e95620514eb9bac508425e94f197;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/importImages.inc b/maintenance/importImages.inc index ac5d14432b..5ae6d6bec8 100644 --- a/maintenance/importImages.inc +++ b/maintenance/importImages.inc @@ -28,9 +28,10 @@ * * @param $dir string Path to directory to search * @param $exts Array of extensions to search for + * @param $recurse Bool Search subdirectories recursively * @return mixed Array of filenames on success, or false on failure */ -function findFiles( $dir, $exts ) { +function findFiles( $dir, $exts, $recurse = false ) { if ( is_dir( $dir ) ) { $dhl = opendir( $dir ); if ( $dhl ) { @@ -38,8 +39,11 @@ function findFiles( $dir, $exts ) { while ( ( $file = readdir( $dhl ) ) !== false ) { if ( is_file( $dir . '/' . $file ) ) { list( /* $name */, $ext ) = splitFilename( $dir . '/' . $file ); - if ( array_search( strtolower( $ext ), $exts ) !== false ) + if ( array_search( strtolower( $ext ), $exts ) !== false ) { $files[] = $dir . '/' . $file; + } + } elseif ( $recurse && is_dir( $dir . '/' . $file ) && $file !== '..' && $file !== '.' ) { + $files = array_merge( $files, findFiles( $dir . '/' . $file, $exts, true ) ); } } return $files; @@ -95,7 +99,9 @@ function findAuxFile( $file, $auxExtension, $maxStrip = 1 ) { } $idx = strrpos( $n, '.' ); - if ( !$idx ) break; + if ( !$idx ) { + break; + } $n = substr( $n, 0, $idx ); $maxStrip -= 1;