diff --git a/Controller.php b/Controller.php index 8e1217b..76b84fc 100644 --- a/Controller.php +++ b/Controller.php @@ -16,6 +16,9 @@ namespace Modules\Media; use Modules\Media\Models\Media; use Modules\Media\Models\MediaMapper; +use Modules\Media\Models\CollectionMapper; +use Modules\Media\Models\Collection; + use Modules\Media\Models\UploadFile; use Modules\Media\Models\UploadStatus; use phpOMS\Asset\AssetType; @@ -133,7 +136,12 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Media/Theme/Backend/media-single'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000401001, $request, $response)); - $view->addData('media', MediaMapper::get($request->getData('id'))); + $media = MediaMapper::get($request->getData('id')); + if($media->getExtension() === 'collection') { + $media = CollectionMapper::get($media->getId()); + } + + $view->addData('media', $media); return $view; } diff --git a/Models/Collection.php b/Models/Collection.php index 431d8f9..2e4deaa 100644 --- a/Models/Collection.php +++ b/Models/Collection.php @@ -23,7 +23,7 @@ namespace Modules\Media\Models; * @link http://orange-management.com * @since 1.0.0 */ -class Collection extends Media +class Collection extends Media implements \Iterator { /** @@ -95,4 +95,29 @@ class Collection extends Media public function setVersioned(bool $versioned) { } + + public function rewind() + { + reset($this->sources); + } + + public function current() + { + return current($this->sources); + } + + public function key() + { + return key($this->sources); + } + + public function next() + { + next($this->sources); + } + + public function valid() + { + return current($this->sources) !== false; + } } diff --git a/Theme/Backend/media-single.tpl.php b/Theme/Backend/media-single.tpl.php index 3e75f03..f19e606 100644 --- a/Theme/Backend/media-single.tpl.php +++ b/Theme/Backend/media-single.tpl.php @@ -30,21 +30,25 @@ echo $this->getData('nav')->render();
getPath()));
+ $output = file_get_contents(__DIR__ . '/../../../../' . $media->getPath());
$output = str_replace(["\r\n", "\r"], "\n", $output);
$output = explode("\n", $output);
- foreach($output as $line) : ?>= htmlspecialchars($line, ENT_COMPAT, 'utf-8'); ?>
+ foreach($output as $line) : ?>= $line; ?>