From: Reedy Date: Mon, 27 Nov 2017 01:33:57 +0000 (+0000) Subject: Replace MimeMagic::singleton() calls X-Git-Tag: 1.31.0-rc.0~1354^2~1 X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=commitdiff_plain;h=c16af68fb62948dd8079a7fa49b7c12b9a748121;ds=sidebyside Replace MimeMagic::singleton() calls Change-Id: Ieed41b5d6b0f568fe2872e7754f2feae7868fe7a --- diff --git a/includes/Feed.php b/includes/Feed.php index fd223e63dd..35f2ce9438 100644 --- a/includes/Feed.php +++ b/includes/Feed.php @@ -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}\"" ); diff --git a/includes/StreamFile.php b/includes/StreamFile.php index 71113a8691..2ad42e5616 100644 --- a/includes/StreamFile.php +++ b/includes/StreamFile.php @@ -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. diff --git a/includes/api/ApiFormatBase.php b/includes/api/ApiFormatBase.php index c5f2fcfaa7..4348fc881d 100644 --- a/includes/api/ApiFormatBase.php +++ b/includes/api/ApiFormatBase.php @@ -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"; } diff --git a/includes/filebackend/FileBackendGroup.php b/includes/filebackend/FileBackendGroup.php index 5d0da6d32a..0b61979409 100644 --- a/includes/filebackend/FileBackendGroup.php +++ b/includes/filebackend/FileBackendGroup.php @@ -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 ); diff --git a/includes/filerepo/FileRepo.php b/includes/filerepo/FileRepo.php index 5005280732..5d22b8d80d 100644 --- a/includes/filerepo/FileRepo.php +++ b/includes/filerepo/FileRepo.php @@ -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 { diff --git a/includes/filerepo/RepoGroup.php b/includes/filerepo/RepoGroup.php index 2edd6d0914..5e37d676ef 100644 --- a/includes/filerepo/RepoGroup.php +++ b/includes/filerepo/RepoGroup.php @@ -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 ); } diff --git a/includes/filerepo/file/File.php b/includes/filerepo/file/File.php index 827f4caa8f..4e79de2d56 100644 --- a/includes/filerepo/file/File.php +++ b/includes/filerepo/file/File.php @@ -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 ); } diff --git a/includes/filerepo/file/ForeignAPIFile.php b/includes/filerepo/file/ForeignAPIFile.php index 43b6855f82..16c154f788 100644 --- a/includes/filerepo/file/ForeignAPIFile.php +++ b/includes/filerepo/file/ForeignAPIFile.php @@ -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() ); } diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php index bb12515056..4248f953e1 100644 --- a/includes/filerepo/file/LocalFile.php +++ b/includes/filerepo/file/LocalFile.php @@ -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 ); } } diff --git a/includes/filerepo/file/UnregisteredLocalFile.php b/includes/filerepo/file/UnregisteredLocalFile.php index cdad5fcec8..fde68bbe74 100644 --- a/includes/filerepo/file/UnregisteredLocalFile.php +++ b/includes/filerepo/file/UnregisteredLocalFile.php @@ -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() ); } diff --git a/includes/media/DjVu.php b/includes/media/DjVu.php index aae66d37e0..eb7b6ba08e 100644 --- a/includes/media/DjVu.php +++ b/includes/media/DjVu.php @@ -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 ); } diff --git a/includes/media/MediaHandler.php b/includes/media/MediaHandler.php index 481e880cfe..8551a120a5 100644 --- a/includes/media/MediaHandler.php +++ b/includes/media/MediaHandler.php @@ -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 diff --git a/includes/specials/SpecialMediaStatistics.php b/includes/specials/SpecialMediaStatistics.php index a6d4a3e91c..15749b20cd 100644 --- a/includes/specials/SpecialMediaStatistics.php +++ b/includes/specials/SpecialMediaStatistics.php @@ -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 ''; } diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php index da3f9f82ac..c335e2b813 100644 --- a/includes/upload/UploadBase.php +++ b/includes/upload/UploadBase.php @@ -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 ) ) { diff --git a/includes/upload/UploadStash.php b/includes/upload/UploadStash.php index c2ab899789..ce087bf89c 100644 --- a/includes/upload/UploadStash.php +++ b/includes/upload/UploadStash.php @@ -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]; } diff --git a/includes/utils/MWFileProps.php b/includes/utils/MWFileProps.php index e60b9ab762..9d05c6ab17 100644 --- a/includes/utils/MWFileProps.php +++ b/includes/utils/MWFileProps.php @@ -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; } diff --git a/maintenance/importImages.php b/maintenance/importImages.php index 526561c1eb..d3aa280a34 100644 --- a/maintenance/importImages.php +++ b/maintenance/importImages.php @@ -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 = []; diff --git a/tests/phpunit/includes/media/MediaWikiMediaTestCase.php b/tests/phpunit/includes/media/MediaWikiMediaTestCase.php index 196f688219..a4e8056ac3 100644 --- a/tests/phpunit/includes/media/MediaWikiMediaTestCase.php +++ b/tests/phpunit/includes/media/MediaWikiMediaTestCase.php @@ -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] ); } diff --git a/tests/phpunit/includes/media/WebPTest.php b/tests/phpunit/includes/media/WebPTest.php index f51693d476..b8dadaf487 100644 --- a/tests/phpunit/includes/media/WebPTest.php +++ b/tests/phpunit/includes/media/WebPTest.php @@ -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() {