diff --git a/extension.json b/extension.json index 683aae9..7fd19cd 100644 --- a/extension.json +++ b/extension.json @@ -6,5 +6,27 @@ "version": "0.0.1", "license-name": "MIT", "type": "media", - "manifest_version": 2 + "manifest_version": 2, + "AutoloadClasses": { + "GlModelViewer": "includes/GlModelViewer.php" + }, + "Hooks": { + "MimeMagicInit": "GlModelViewer::onMimeMagicInit", + "MimeMagicImproveFromExtension": "GlModelViewer::onMimeMagicImproveFromExtension", + "BeforePageDisplay": "GlModelViewer::onBeforePageDisplay" + }, + "ResourceFileModulePaths": { + "localBasePath": "modules", + "remoteExtPath": "GlModelViewer/modules" + }, + "ResourceModules": { + "ext.glmv": { + "styles": [ + "glmv.css" + ], + "packageFiles": [ + "glmv.js" + ] + } + } } \ No newline at end of file diff --git a/includes/GlModelViewer.php b/includes/GlModelViewer.php new file mode 100644 index 0000000..6de8bdc --- /dev/null +++ b/includes/GlModelViewer.php @@ -0,0 +1,24 @@ +addExtraTypes('application/gltf glb gltf'); + $mime->addExtraInfo('application/gltf [DRAWING]'); + } + + public static function onMimeMagicImproveFromExtension( MimeAnalyzer $mimeAnalyzer, $ext, &$mime ) { + if ( $mime !== 'application/gltf' && in_array( $ext, ['glb', 'gltf'] ) ) { + $mime = 'application/gltf'; + } + } + + function doTransform($image, $dstPath, $dstUrl, $params, $flags = 0) { + } + + public static function onBeforePageDisplay(OutputPage $out) { + if (strpos($out->getHTML(), 'class="glmv-viewer') !== false) { + $out->addModules('ext.glmv'); + } + } + +} \ No newline at end of file diff --git a/modules/glmv.css b/modules/glmv.css new file mode 100644 index 0000000..d574249 --- /dev/null +++ b/modules/glmv.css @@ -0,0 +1,3 @@ +.glmv-viewer { + width: 100%; +} \ No newline at end of file diff --git a/modules/glmv.js b/modules/glmv.js new file mode 100644 index 0000000..990c689 --- /dev/null +++ b/modules/glmv.js @@ -0,0 +1 @@ +console.log('GLMV JS loaded!') \ No newline at end of file