Merge "Use {{int:}} on MediaWiki:Blockedtext and MediaWiki:Autoblockedtext"
[lhc/web/wiklou.git] / includes / filerepo / file / ForeignAPIFile.php
index 8dcb289..1002b82 100644 (file)
@@ -21,6 +21,8 @@
  * @ingroup FileAbstraction
  */
 
+use MediaWiki\MediaWikiServices;
+
 /**
  * Foreign file accessible through api.php requests.
  * Very hacky and inefficient, do not use :D
@@ -33,7 +35,7 @@ class ForeignAPIFile extends File {
        /** @var array */
        private $mInfo = [];
 
-       protected $repoClass = ForeignApiRepo::class;
+       protected $repoClass = ForeignAPIRepo::class;
 
        /**
         * @param Title|string|bool $title
@@ -192,8 +194,8 @@ class ForeignAPIFile extends File {
        }
 
        /**
-        * @param array $metadata
-        * @return array
+        * @param mixed $metadata
+        * @return mixed
         */
        public static function parseMetadata( $metadata ) {
                if ( !is_array( $metadata ) ) {
@@ -254,7 +256,7 @@ class ForeignAPIFile extends File {
 
        /**
         * @param int $audience
-        * @param User $user
+        * @param User|null $user
         * @return null|string
         */
        public function getDescription( $audience = self::FOR_PUBLIC, User $user = null ) {
@@ -333,15 +335,17 @@ class ForeignAPIFile extends File {
        }
 
        /**
-        * @return array
+        * @return string[]
         */
        function getThumbnails() {
                $dir = $this->getThumbPath( $this->getName() );
                $iter = $this->repo->getBackend()->getFileList( [ 'dir' => $dir ] );
 
                $files = [];
-               foreach ( $iter as $file ) {
-                       $files[] = $file;
+               if ( $iter ) {
+                       foreach ( $iter as $file ) {
+                               $files[] = $file;
+                       }
                }
 
                return $files;
@@ -358,7 +362,7 @@ class ForeignAPIFile extends File {
                $url = $this->repo->getDescriptionRenderUrl( $this->getName(), $wgContLang->getCode() );
                $key = $this->repo->getLocalCacheKey( 'RemoteFileDescription', 'url', md5( $url ) );
 
-               ObjectCache::getMainWANInstance()->delete( $key );
+               MediaWikiServices::getInstance()->getMainWANObjectCache()->delete( $key );
        }
 
        /**
@@ -366,7 +370,7 @@ class ForeignAPIFile extends File {
         */
        function purgeThumbnails( $options = [] ) {
                $key = $this->repo->getLocalCacheKey( 'ForeignAPIRepo', 'ThumbUrl', $this->getName() );
-               ObjectCache::getMainWANInstance()->delete( $key );
+               MediaWikiServices::getInstance()->getMainWANObjectCache()->delete( $key );
 
                $files = $this->getThumbnails();
                // Give media handler a chance to filter the purge list