X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FimportImages.inc;h=5d35e2c02d2306c58ed0e7565badc8d92e3dbbeb;hb=d99741308c493a775e5b8246714281afa5ec7521;hp=61baf7c41579a036e6cc4a13f59c6a55a7cb6abb;hpb=5ae7a0147a8ddd5e4c74a9e3d0764aeb930c1e82;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/importImages.inc b/maintenance/importImages.inc index 61baf7c415..5d35e2c02d 100644 --- a/maintenance/importImages.inc +++ b/maintenance/importImages.inc @@ -1,8 +1,22 @@ @@ -17,13 +31,14 @@ * @return mixed Array of filenames on success, or false on failure */ function findFiles( $dir, $exts ) { - if( is_dir( $dir ) ) { - if( $dhl = opendir( $dir ) ) { + if ( is_dir( $dir ) ) { + $dhl = opendir( $dir ); + if ( $dhl ) { $files = array(); - while( ( $file = readdir( $dhl ) ) !== false ) { - if( is_file( $dir . '/' . $file ) ) { + 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; } } @@ -39,7 +54,7 @@ function findFiles( $dir, $exts ) { /** * Split a filename into filename and extension * - * @param $filename Filename + * @param $filename string Filename * @return array */ function splitFilename( $filename ) { @@ -51,10 +66,10 @@ function splitFilename( $filename ) { } /** - * Find an auxilliary file with the given extension, matching - * the give base file path. $maxStrip determines how many extensions + * Find an auxilliary file with the given extension, matching + * the give base file path. $maxStrip determines how many extensions * may be stripped from the original file name before appending the - * new extension. For example, with $maxStrip = 1 (the default), + * new extension. For example, with $maxStrip = 1 (the default), * file files acme.foo.bar.txt and acme.foo.txt would be auxilliary * files for acme.foo.bar and the extension ".txt". With $maxStrip = 2, * acme.txt would also be acceptable. @@ -90,23 +105,23 @@ function findAuxFile( $file, $auxExtension, $maxStrip = 1 ) { } # FIXME: Access the api in a saner way and performing just one query (preferably batching files too). -function getFileCommentFromSourceWiki($wiki_host, $file) { - $url = $wiki_host . '/api.php?action=query&format=xml&titles=File:' . $file . '&prop=imageinfo&&iiprop=comment'; - $body = file_get_contents($url); - if (preg_match('##', $body, $matches) == 0) { - return false; - } +function getFileCommentFromSourceWiki( $wiki_host, $file ) { + $url = $wiki_host . '/api.php?action=query&format=xml&titles=File:' . rawurlencode( $file ) . '&prop=imageinfo&&iiprop=comment'; + $body = Http::get( $url ); + if ( preg_match( '##', $body, $matches ) == 0 ) { + return false; + } - return $matches[1]; + return html_entity_decode( $matches[1] ); } -function getFileUserFromSourceWiki($wiki_host, $file) { - $url = $wiki_host . '/api.php?action=query&format=xml&titles=File:' . $file . '&prop=imageinfo&&iiprop=user'; - $body = file_get_contents($url); - if (preg_match('##', $body, $matches) == 0) { - return false; - } +function getFileUserFromSourceWiki( $wiki_host, $file ) { + $url = $wiki_host . '/api.php?action=query&format=xml&titles=File:' . rawurlencode( $file ) . '&prop=imageinfo&&iiprop=user'; + $body = Http::get( $url ); + if ( preg_match( '##', $body, $matches ) == 0 ) { + return false; + } - return $matches[1]; + return html_entity_decode( $matches[1] ); }