MediaWiki
REL1_35
MediaHandlerFactory.php
Go to the documentation of this file.
1
<?php
29
class
MediaHandlerFactory
{
30
36
private
const
CORE_HANDLERS = [
37
'image/jpeg'
=> JpegHandler::class,
38
'image/png'
=> PNGHandler::class,
39
'image/gif'
=> GIFHandler::class,
40
'image/tiff'
=> TiffHandler::class,
41
'image/webp'
=> WebPHandler::class,
42
'image/x-ms-bmp'
=> BmpHandler::class,
43
'image/x-bmp'
=> BmpHandler::class,
44
'image/x-xcf'
=> XCFHandler::class,
45
'image/svg+xml'
=> SvgHandler::class,
// official
46
'image/svg'
=> SvgHandler::class,
// compat
47
'image/vnd.djvu'
=> DjVuHandler::class,
// official
48
'image/x.djvu'
=> DjVuHandler::class,
// compat
49
'image/x-djvu'
=> DjVuHandler::class,
// compat
50
];
51
55
private
$registry
;
56
62
private
$handlers
;
63
64
public
function
__construct
( array $registry ) {
65
$this->registry = $registry + self::CORE_HANDLERS;
66
}
67
68
protected
function
getHandlerClass
(
$type
) {
69
return
$this->registry[
$type
] ??
false
;
70
}
71
76
public
function
getHandler
(
$type
) {
77
if
( isset( $this->handlers[
$type
] ) ) {
78
return
$this->handlers[
$type
];
79
}
80
81
$class = $this->
getHandlerClass
(
$type
);
82
if
( $class !==
false
) {
84
$handler =
new
$class;
85
if
( !$handler->isEnabled() ) {
86
wfDebug
( __METHOD__ .
": $class is not enabled"
);
87
$handler =
false
;
88
}
89
}
else
{
90
wfDebug
( __METHOD__ .
": no handler found for $type."
);
91
$handler =
false
;
92
}
93
94
$this->handlers[
$type
] = $handler;
95
return
$handler;
96
}
97
}
wfDebug
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
Definition
GlobalFunctions.php:910
MediaHandlerFactory
Class to construct MediaHandler objects.
Definition
MediaHandlerFactory.php:29
MediaHandlerFactory\getHandler
getHandler( $type)
Definition
MediaHandlerFactory.php:76
MediaHandlerFactory\getHandlerClass
getHandlerClass( $type)
Definition
MediaHandlerFactory.php:68
MediaHandlerFactory\$registry
array $registry
Definition
MediaHandlerFactory.php:55
MediaHandlerFactory\$handlers
MediaHandler[] $handlers
Instance cache of MediaHandler objects by mimetype.
Definition
MediaHandlerFactory.php:62
MediaHandlerFactory\__construct
__construct(array $registry)
Definition
MediaHandlerFactory.php:64
MediaHandler
Base media handler class.
Definition
MediaHandler.php:37
$type
$type
Definition
testCompression.php:52
includes
media
MediaHandlerFactory.php
Generated on Sat Apr 6 2024 00:07:32 for MediaWiki by
1.9.8