* @ingroup FileAbstraction
*/
class ForeignAPIFile extends File {
+ /** @var bool */
private $mExists;
+ /** @var array */
+ private $mInfo = [];
- protected $repoClass = 'ForeignApiRepo';
+ protected $repoClass = ForeignApiRepo::class;
/**
* @param Title|string|bool $title
public function getUser( $type = 'text' ) {
if ( $type == 'text' ) {
return isset( $this->mInfo['user'] ) ? strval( $this->mInfo['user'] ) : null;
- } elseif ( $type == 'id' ) {
+ } else {
return 0; // What makes sense here, for a remote user?
}
}
*/
function getMimeType() {
if ( !isset( $this->mInfo['mime'] ) ) {
- $magic = MimeMagic::singleton();
+ $magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
$this->mInfo['mime'] = $magic->guessTypesForExtension( $this->getExtension() );
}
if ( isset( $this->mInfo['mediatype'] ) ) {
return $this->mInfo['mediatype'];
}
- $magic = MimeMagic::singleton();
+ $magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
return $magic->getMediaType( null, $this->getMimeType() );
}
return $files;
}
- /**
- * @see File::purgeCache()
- */
function purgeCache( $options = [] ) {
$this->purgeThumbnails( $options );
$this->purgeDescriptionPage();