From 8f156c647131b75b1dcaa68aaff3f3de89041ff3 Mon Sep 17 00:00:00 2001 From: Mark Holmquist Date: Wed, 9 Oct 2013 15:14:52 -0700 Subject: [PATCH] Add extmetadata to the ForeignAPIFile iiprops Also clean up iiprop handling in ForeignAPIRepo. Change-Id: I4a1b46669658cc7b7d074f8fb85dd172e6c45633 --- includes/filerepo/ForeignAPIRepo.php | 22 ++++++++++++++++++++-- includes/filerepo/file/ForeignAPIFile.php | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) mode change 100644 => 100755 includes/filerepo/ForeignAPIRepo.php diff --git a/includes/filerepo/ForeignAPIRepo.php b/includes/filerepo/ForeignAPIRepo.php old mode 100644 new mode 100755 index 5eec9a500b..07cc03ba5f --- a/includes/filerepo/ForeignAPIRepo.php +++ b/includes/filerepo/ForeignAPIRepo.php @@ -42,6 +42,16 @@ class ForeignAPIRepo extends FileRepo { * Update the version every time you make breaking or significant changes. */ const VERSION = "2.1"; + /** + * List of iiprop values for the thumbnail fetch queries. + * @since 1.23 + */ + protected static $imageInfoProps = array( + 'url', + 'thumbnail', + 'timestamp', + ); + var $fileFactory = array( 'ForeignAPIFile', 'newFromTitle' ); /* Check back with Commons after a day */ var $apiThumbCacheExpiry = 86400; /* 24*60*60 */ @@ -238,7 +248,7 @@ class ForeignAPIRepo extends FileRepo { function getThumbUrl( $name, $width = -1, $height = -1, &$result = null, $otherParams = '' ) { $data = $this->fetchImageQuery( array( 'titles' => 'File:' . $name, - 'iiprop' => 'url|timestamp', + 'iiprop' => self::getIIProps(), 'iiurlwidth' => $width, 'iiurlheight' => $height, 'iiurlparam' => $otherParams, @@ -265,7 +275,7 @@ class ForeignAPIRepo extends FileRepo { function getThumbError( $name, $width = -1, $height = -1, $otherParams = '', $lang = null ) { $data = $this->fetchImageQuery( array( 'titles' => 'File:' . $name, - 'iiprop' => 'url|timestamp', + 'iiprop' => self::getIIProps(), 'iiurlwidth' => $width, 'iiurlheight' => $height, 'iiurlparam' => $otherParams, @@ -485,6 +495,14 @@ class ForeignAPIRepo extends FileRepo { } } + /** + * @return string + * @since 1.23 + */ + protected static function getIIProps() { + return join( '|', self::$imageInfoProps ); + } + /** * HTTP GET request to a mediawiki API (with caching) * @param $target string Used in cache key creation, mostly diff --git a/includes/filerepo/file/ForeignAPIFile.php b/includes/filerepo/file/ForeignAPIFile.php index a1a6f2691c..fc9e176cda 100755 --- a/includes/filerepo/file/ForeignAPIFile.php +++ b/includes/filerepo/file/ForeignAPIFile.php @@ -86,7 +86,7 @@ class ForeignAPIFile extends File { * @return string */ static function getProps() { - return 'timestamp|user|comment|url|size|sha1|metadata|mime|mediatype'; + return 'timestamp|user|comment|url|size|sha1|metadata|mime|mediatype|extmetadata'; } // Dummy functions... -- 2.20.1