/ */ namespace ThreeJS; use Files\Format\Handler as FormatHandler; use Zend\Mvc\MvcEvent; class Module { /** * Add a preview handler for types supported by ThreeJS */ public function onBootstrap(MvcEvent $event) { $application = $event->getApplication(); $services = $application->getServiceManager(); $formats = $services->get('formats'); $formats->addHandler( new FormatHandler( // can-preview callback function ($file, $extension, $mimeType, $request) { return in_array($extension, array('dae', 'stl', 'obj')); }, // render-preview callback function ($file, $extension, $mimeType) use ($services) { $helpers = $services->get('ViewHelperManager'); $escapeUrl = $helpers->get('escapeUrl'); $escapeHtmlAttr = $helpers->get('escapeHtmlAttr'); $url = $helpers->get('url'); $viewUrl = $url('view', array('path' => trim($file->getDepotFilename(), '/'))) . '?v=' . $escapeUrl('@' . $file->get('headChange')); return '
' . '
' . ''; } ), 'threejs' ); } }