* @file
* @ingroup Media
*/
+
+use MediaWiki\Shell\Shell;
use Wikimedia\ScopedCallback;
/**
// External command
$cmd = str_replace(
[ '$path/', '$width', '$height', '$input', '$output' ],
- [ $wgSVGConverterPath ? wfEscapeShellArg( "$wgSVGConverterPath/" ) : "",
+ [ $wgSVGConverterPath ? Shell::escape( "$wgSVGConverterPath/" ) : "",
intval( $width ),
intval( $height ),
- wfEscapeShellArg( $srcPath ),
- wfEscapeShellArg( $dstPath ) ],
+ Shell::escape( $srcPath ),
+ Shell::escape( $dstPath ) ],
$wgSVGConverters[$wgSVGConverter]
);
* @param File|FSFile $file
* @param string $path Unused
* @param bool|array $metadata
- * @return array
+ * @return array|false
*/
function getImageSize( $file, $path, $metadata = false ) {
if ( $metadata === false && $file instanceof File ) {
*/
public function getMetadata( $file, $filename ) {
$metadata = [ 'version' => self::SVG_METADATA_VERSION ];
+
try {
- $metadata += SVGMetadataExtractor::getMetadata( $filename );
+ $svgReader = new SVGReader( $filename );
+ $metadata += $svgReader->getMetadata();
} catch ( Exception $e ) { // @todo SVG specific exceptions
// File not found, broken, etc.
$metadata['error'] = [