*/
use MediaWiki\Logger\LoggerFactory;
+use MediaWiki\MediaWikiServices;
/**
* A foreign repository with a remote MediaWiki with an API thingy
parent::__construct( $info );
// https://commons.wikimedia.org/w/api.php
- $this->mApiBase = isset( $info['apibase'] ) ? $info['apibase'] : null;
+ $this->mApiBase = $info['apibase'] ?? null;
if ( isset( $info['apiThumbCacheExpiry'] ) ) {
$this->apiThumbCacheExpiry = $info['apiThumbCacheExpiry'];
}
/**
- * @param array $files
+ * @param string[] $files
* @return array
*/
function fileExistsBatch( array $files ) {
}
$data = $this->fetchImageQuery( [
- 'titles' => implode( $files, '|' ),
+ 'titles' => implode( '|', $files ),
'prop' => 'imageinfo' ]
);
/**
* @param string $virtualUrl
- * @return bool
+ * @return false
*/
function getFileProps( $virtualUrl ) {
return false;
/**
* @param string $hash
- * @return array
+ * @return ForeignAPIFile[]
*/
function findBySha1( $hash ) {
$results = $this->fetchImageQuery( [
* @param string $name
* @param int $width
* @param int $height
- * @param array &$result
+ * @param array|null &$result Output-only parameter, guaranteed to become an array
* @param string $otherParams
*
- * @return bool
+ * @return string|false
*/
function getThumbUrl( $name, $width = -1, $height = -1, &$result = null, $otherParams = '' ) {
$data = $this->fetchImageQuery( [
* @param int $width
* @param int $height
* @param string $otherParams
- * @param string $lang Language code for language of error
+ * @param string|null $lang Language code for language of error
* @return bool|MediaTransformError
* @since 1.22
*/
* @return bool|string
*/
function getThumbUrlFromCache( $name, $width, $height, $params = "" ) {
- $cache = ObjectCache::getMainWANInstance();
+ $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
// We can't check the local cache using FileRepo functions because
// we override fileExistsBatch(). We have to use the FileBackend directly.
$backend = $this->getBackend(); // convenience
$url = $this->makeUrl( $query, 'api' );
}
- $cache = ObjectCache::getMainWANInstance();
+ $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
return $cache->getWithSetCallback(
$this->getLocalCacheKey( static::class, $target, md5( $url ) ),
$cacheTTL,