Replace MimeMagic::singleton() calls
Change-Id: Ieed41b5d6b0f568fe2872e7754f2feae7868fe7a
This commit is contained in:
parent
785960660f
commit
c16af68fb6
19 changed files with 30 additions and 27 deletions
|
|
@ -232,7 +232,8 @@ abstract class ChannelFeed extends FeedItem {
|
|||
header( "Content-type: $mimetype; charset=UTF-8" );
|
||||
|
||||
// Set a sane filename
|
||||
$exts = MimeMagic::singleton()->getExtensionsForType( $mimetype );
|
||||
$exts = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer()
|
||||
->getExtensionsForType( $mimetype );
|
||||
$ext = $exts ? strtok( $exts, ' ' ) : 'xml';
|
||||
header( "Content-Disposition: inline; filename=\"feed.{$ext}\"" );
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class StreamFile {
|
|||
return 'unknown/unknown';
|
||||
}
|
||||
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
// Use the extension only, rather than magic numbers, to avoid opening
|
||||
// up vulnerabilities due to uploads of files with allowed extensions
|
||||
// but disallowed types.
|
||||
|
|
|
|||
|
|
@ -78,7 +78,8 @@ abstract class ApiFormatBase extends ApiBase {
|
|||
} elseif ( $this->getIsHtml() ) {
|
||||
return 'api-result.html';
|
||||
} else {
|
||||
$exts = MimeMagic::singleton()->getExtensionsForType( $this->getMimeType() );
|
||||
$exts = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer()
|
||||
->getExtensionsForType( $this->getMimeType() );
|
||||
$ext = $exts ? strtok( $exts, ' ' ) : strtolower( $this->mFormat );
|
||||
return "api-result.$ext";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ class FileBackendGroup {
|
|||
* @since 1.27
|
||||
*/
|
||||
public function guessMimeInternal( $storagePath, $content, $fsPath ) {
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
// Trust the extension of the storage path (caller must validate)
|
||||
$ext = FileBackend::extensionFromPath( $storagePath );
|
||||
$type = $magic->guessTypesForExtension( $ext );
|
||||
|
|
|
|||
|
|
@ -1543,7 +1543,7 @@ class FileRepo {
|
|||
*/
|
||||
public function getFileProps( $virtualUrl ) {
|
||||
$fsFile = $this->getLocalReference( $virtualUrl );
|
||||
$mwProps = new MWFileProps( MimeMagic::singleton() );
|
||||
$mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() );
|
||||
if ( $fsFile ) {
|
||||
$props = $mwProps->getPropsFromPath( $fsFile->getPath(), true );
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -452,7 +452,7 @@ class RepoGroup {
|
|||
|
||||
return $repo->getFileProps( $fileName );
|
||||
} else {
|
||||
$mwProps = new MWFileProps( MimeMagic::singleton() );
|
||||
$mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() );
|
||||
|
||||
return $mwProps->getPropsFromPath( $fileName, true );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ abstract class File implements IDBAccessObject {
|
|||
$oldMime = $old->getMimeType();
|
||||
$n = strrpos( $new, '.' );
|
||||
$newExt = self::normalizeExtension( $n ? substr( $new, $n + 1 ) : '' );
|
||||
$mimeMagic = MimeMagic::singleton();
|
||||
$mimeMagic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
|
||||
return $mimeMagic->isMatchingExtension( $newExt, $oldMime );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ class ForeignAPIFile extends File {
|
|||
*/
|
||||
function getMimeType() {
|
||||
if ( !isset( $this->mInfo['mime'] ) ) {
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$this->mInfo['mime'] = $magic->guessTypesForExtension( $this->getExtension() );
|
||||
}
|
||||
|
||||
|
|
@ -300,7 +300,7 @@ class ForeignAPIFile extends File {
|
|||
if ( isset( $this->mInfo['mediatype'] ) ) {
|
||||
return $this->mInfo['mediatype'];
|
||||
}
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
|
||||
return $magic->getMediaType( null, $this->getMimeType() );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1284,7 +1284,7 @@ class LocalFile extends File {
|
|||
) {
|
||||
$props = $this->repo->getFileProps( $srcPath );
|
||||
} else {
|
||||
$mwProps = new MWFileProps( MimeMagic::singleton() );
|
||||
$mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() );
|
||||
$props = $mwProps->getPropsFromPath( $srcPath, true );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ class UnregisteredLocalFile extends File {
|
|||
*/
|
||||
function getMimeType() {
|
||||
if ( !isset( $this->mime ) ) {
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$this->mime = $magic->guessMimeType( $this->getLocalRefPath() );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -357,7 +357,7 @@ class DjVuHandler extends ImageHandler {
|
|||
global $wgDjvuOutputExtension;
|
||||
static $mime;
|
||||
if ( !isset( $mime ) ) {
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$mime = $magic->guessTypesForExtension( $wgDjvuOutputExtension );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -288,7 +288,7 @@ abstract class MediaHandler {
|
|||
* @return array Thumbnail extension and MIME type
|
||||
*/
|
||||
function getThumbType( $ext, $mime, $params = null ) {
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
if ( !$ext || $magic->isMatchingExtension( $ext, $mime ) === false ) {
|
||||
// The extension is not valid for this MIME type and we do
|
||||
// recognize the MIME type
|
||||
|
|
|
|||
|
|
@ -237,7 +237,8 @@ class MediaStatisticsPage extends QueryPage {
|
|||
* @return string Comma separated list of allowed extensions (e.g. ".ogg, .oga")
|
||||
*/
|
||||
private function getExtensionList( $mime ) {
|
||||
$exts = MimeMagic::singleton()->getExtensionsForType( $mime );
|
||||
$exts = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer()
|
||||
->getExtensionsForType( $mime );
|
||||
if ( $exts === null ) {
|
||||
return '';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -420,7 +420,7 @@ abstract class UploadBase {
|
|||
$chunk = fread( $fp, 256 );
|
||||
fclose( $fp );
|
||||
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$extMime = $magic->guessTypesForExtension( $this->mFinalExtension );
|
||||
$ieTypes = $magic->getIEMimeTypes( $this->mTempPath, $chunk, $extMime );
|
||||
foreach ( $ieTypes as $ieType ) {
|
||||
|
|
@ -446,7 +446,7 @@ abstract class UploadBase {
|
|||
return $status;
|
||||
}
|
||||
|
||||
$mwProps = new MWFileProps( MimeMagic::singleton() );
|
||||
$mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() );
|
||||
$this->mFileProps = $mwProps->getPropsFromPath( $this->mTempPath, $this->mFinalExtension );
|
||||
$mime = $this->mFileProps['mime'];
|
||||
|
||||
|
|
@ -505,7 +505,7 @@ abstract class UploadBase {
|
|||
# getTitle() sets some internal parameters like $this->mFinalExtension
|
||||
$this->getTitle();
|
||||
|
||||
$mwProps = new MWFileProps( MimeMagic::singleton() );
|
||||
$mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() );
|
||||
$this->mFileProps = $mwProps->getPropsFromPath( $this->mTempPath, $this->mFinalExtension );
|
||||
|
||||
# check MIME type, if desired
|
||||
|
|
@ -950,7 +950,7 @@ abstract class UploadBase {
|
|||
$this->mFinalExtension = '';
|
||||
|
||||
# No extension, try guessing one
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$mime = $magic->guessMimeType( $this->mTempPath );
|
||||
if ( $mime !== 'unknown/unknown' ) {
|
||||
# Get a space separated list of extensions
|
||||
|
|
@ -1207,7 +1207,7 @@ abstract class UploadBase {
|
|||
* @return bool
|
||||
*/
|
||||
public static function verifyExtension( $mime, $extension ) {
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
|
||||
if ( !$mime || $mime == 'unknown' || $mime == 'unknown/unknown' ) {
|
||||
if ( !$magic->isRecognizableExtension( $extension ) ) {
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ class UploadStash {
|
|||
);
|
||||
}
|
||||
|
||||
$mwProps = new MWFileProps( MimeMagic::singleton() );
|
||||
$mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() );
|
||||
$fileProps = $mwProps->getPropsFromPath( $path, true );
|
||||
wfDebug( __METHOD__ . " stashing file at '$path'\n" );
|
||||
|
||||
|
|
@ -490,9 +490,9 @@ class UploadStash {
|
|||
$extension = $n ? substr( $path, $n + 1 ) : '';
|
||||
} else {
|
||||
// If not, assume that it should be related to the MIME type of the original file.
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$mimeType = $magic->guessMimeType( $path );
|
||||
$extensions = explode( ' ', MimeMagic::singleton()->getExtensionsForType( $mimeType ) );
|
||||
$extensions = explode( ' ', $magic->getExtensionsForType( $mimeType ) );
|
||||
if ( count( $extensions ) ) {
|
||||
$extension = $extensions[0];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ class MWFileProps {
|
|||
private $magic;
|
||||
|
||||
/**
|
||||
* @param MimeMagic $magic
|
||||
* @param MimeAnalyzer $magic
|
||||
*/
|
||||
public function __construct( MimeMagic $magic ) {
|
||||
public function __construct( MimeAnalyzer $magic ) {
|
||||
$this->magic = $magic;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -299,7 +299,7 @@ class ImportImages extends Maintenance {
|
|||
" publishing {$file} by '{$wgUser->getName()}', comment '$commentText'... "
|
||||
);
|
||||
} else {
|
||||
$mwProps = new MWFileProps( MimeMagic::singleton() );
|
||||
$mwProps = new MWFileProps( MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer() );
|
||||
$props = $mwProps->getPropsFromPath( $file, true );
|
||||
$flags = 0;
|
||||
$publishOptions = [];
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ abstract class MediaWikiMediaTestCase extends MediaWikiTestCase {
|
|||
protected function dataFile( $name, $type = null ) {
|
||||
if ( !$type ) {
|
||||
// Autodetect by file extension for the lazy.
|
||||
$magic = MimeMagic::singleton();
|
||||
$magic = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$parts = explode( $name, '.' );
|
||||
$type = $magic->guessTypesForExtension( $parts[count( $parts ) - 1] );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ class WebPHandlerTest extends MediaWikiTestCase {
|
|||
* @dataProvider provideTestGetMimeType
|
||||
*/
|
||||
public function testGuessMimeType( $path ) {
|
||||
$mime = MimeMagic::singleton();
|
||||
$mime = MediaWiki\MediaWikiServices::getInstance()->getMimeAnalyzer();
|
||||
$this->assertEquals( 'image/webp', $mime->guessMimeType( $path, false ) );
|
||||
}
|
||||
public function provideTestGetMimeType() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue