Clarify comment on $wgRateLimits.
[lhc/web/wiklou.git] / includes / api / ApiQueryImageInfo.php
index 56c1c12..9d10263 100644 (file)
@@ -50,6 +50,8 @@ class ApiQueryImageInfo extends ApiQueryBase {
                $fld_comment = isset($prop['comment']);
                $fld_url = isset($prop['url']);
                $fld_size = isset($prop['size']);
+               $fld_sha1 = isset($prop['sha1']);
+               $fld_metadata = isset($prop['metadata']);
 
                $pageIds = $this->getPageSet()->getAllTitlesByNamespace();
                if (!empty($pageIds[NS_IMAGE])) {
@@ -67,24 +69,35 @@ class ApiQueryImageInfo extends ApiQueryBase {
 
                                        $isCur = true;
                                        while($line = $img->nextHistoryLine()) { // assignment
+                                               $row = get_object_vars( $line );
                                                $vals = array();
+                                               $prefix = $isCur ? 'img' : 'oi';
 
                                                if ($fld_timestamp)
-                                                       $vals['timestamp'] = wfTimestamp(TS_ISO_8601, $line->img_timestamp);
+                                                       $vals['timestamp'] = wfTimestamp(TS_ISO_8601, $row["${prefix}_timestamp"]);
                                                if ($fld_user) {
-                                                       $vals['user'] = $line->img_user_text;
-                                                       if(!$line->img_user)
+                                                       $vals['user'] = $row["${prefix}_user_text"];
+                                                       if(!$row["${prefix}_user"])
                                                                $vals['anon'] = '';
                                                }
                                                if ($fld_size) {
-                                                       $vals['size'] = intval($line->img_size);
-                                                       $vals['width'] = intval($line->img_width);
-                                                       $vals['height'] = intval($line->img_height);
+                                                       $vals['size'] = intval($row["{$prefix}_size"]);
+                                                       $vals['width'] = intval($row["{$prefix}_width"]);
+                                                       $vals['height'] = intval($row["{$prefix}_height"]);
                                                }
                                                if ($fld_url)
-                                                       $vals['url'] = $isCur ? $img->getURL() : $img->getArchiveUrl($line->oi_archive_name);
+                                                       $vals['url'] = $isCur ? $img->getURL() : $img->getArchiveUrl($row["oi_archive_name"]);
                                                if ($fld_comment)
-                                                       $vals['comment'] = $line->img_description;
+                                                       $vals['comment'] = $row["{$prefix}_description"];
+                                                       
+                                               if ($fld_sha1)
+                                                       $vals['sha1'] = wfBaseConvert($row["{$prefix}_sha1"], 36, 16, 40);
+                                                       
+                                               if ($fld_metadata) {
+                                                       $metadata = unserialize($row["{$prefix}_metadata"]);
+                                                       $vals['metadata'] = $metadata ? $metadata : null;
+                                                       $this->getResult()->setIndexedTagName_recursive($vals['metadata'], 'meta');                                                             
+                                               }
 
                                                $data[] = $vals;
                                                
@@ -117,6 +130,8 @@ class ApiQueryImageInfo extends ApiQueryBase {
                                        'comment',
                                        'url',
                                        'size',
+                                       'sha1',
+                                       'metadata'
                                )
                        ),
                        'history' => false,