fu r95396: register new message keys in maintenacne file
[lhc/web/wiklou.git] / maintenance / importImages.inc
index 61baf7c..5d35e2c 100644 (file)
@@ -1,8 +1,22 @@
 <?php
-
 /**
  * Support functions for the importImages script
  *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
  * @file
  * @ingroup Maintenance
  * @author Rob Church <robchur@gmail.com>
  * @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('#<ii comment="([^"]*)" />#', $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( '#<ii comment="([^"]*)" />#', $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('#<ii user="([^"]*)" />#', $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( '#<ii user="([^"]*)" />#', $body, $matches ) == 0 ) {
+               return false;
+       }
 
-    return $matches[1];
+       return html_entity_decode( $matches[1] );
 }