Templating

This commit is contained in:
Dennis Eichhorn 2016-02-11 21:10:18 +01:00
parent 0223c353e4
commit f7843d534c
3 changed files with 45 additions and 87 deletions

View File

@ -108,6 +108,7 @@ class Controller extends ModuleAbstract implements WebInterface
['dest' => '\Modules\Media\Controller:setUpFileUploader', 'method' => 'GET', 'type' => ViewLayout::NULL], ['dest' => '\Modules\Media\Controller:setUpFileUploader', 'method' => 'GET', 'type' => ViewLayout::NULL],
['dest' => '\Modules\Media\Controller:viewMediaCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN], ['dest' => '\Modules\Media\Controller:viewMediaCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],
], ],
'^.*/backend/media/single.*$' => [['dest' => '\Modules\Media\Controller:viewMediaSingle', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/api/media/collection.*$' => [['dest' => '\Modules\Media\Controller:apiCollectionCreate', 'method' => 'POST', 'type' => ViewLayout::MAIN],], '^.*/api/media/collection.*$' => [['dest' => '\Modules\Media\Controller:apiCollectionCreate', 'method' => 'POST', 'type' => ViewLayout::MAIN],],
'^.*/api/media$' => [['dest' => '\Modules\Media\Controller:apiMediaUpload', 'method' => 'POST', 'type' => ViewLayout::NULL],], '^.*/api/media$' => [['dest' => '\Modules\Media\Controller:apiMediaUpload', 'method' => 'POST', 'type' => ViewLayout::NULL],],
@ -149,6 +150,28 @@ class Controller extends ModuleAbstract implements WebInterface
return $view; return $view;
} }
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return RenderableInterface
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function viewMediaSingle(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Media/Theme/Backend/media-single');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000401001, $request, $response));
$mediaMapper = new MediaMapper($this->app->dbPool->get());
$view->addData('media', $mediaMapper->get($request->getData('id')));
return $view;
}
/** /**
* @param RequestAbstract $request Request * @param RequestAbstract $request Request
* @param ResponseAbstract $response Response * @param ResponseAbstract $response Response

View File

@ -18,17 +18,7 @@
*/ */
$mediaMapper = new \Modules\Media\Models\MediaMapper($this->app->dbPool->get()); $mediaMapper = new \Modules\Media\Models\MediaMapper($this->app->dbPool->get());
$media = $mediaMapper $media = $mediaMapper->getNewest(25);
->listResults(
$mediaMapper
->find('media.media_id',
'media.media_name',
'media.media_extension',
'media.media_size',
'media.media_created_at',
'media.media_created_by')
//->newest('reporter_template.reporter_template_created')
);
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response); $footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig'); $footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
@ -50,13 +40,14 @@ echo $this->getData('nav')->render(); ?>
<tr> <tr>
<td colspan="3"><?= $footerView->render(); ?> <td colspan="3"><?= $footerView->render(); ?>
<tbody> <tbody>
<?php $count = 0; foreach($media as $key => $value) : $count++; ?> <?php $count = 0; foreach($media as $key => $value) : $count++;
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/media/single?id=' . $value->getId()); ?>
<tr> <tr>
<td><?= $value->getName(); ?> <td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
<td><?= $value->getExtension(); ?> <td><a href="<?= $url; ?>"><?= $value->getExtension(); ?></a>
<td><?= $value->getSize(); ?> <td><a href="<?= $url; ?>"><?= $value->getSize(); ?></a>
<td><?= $value->getCreatedBy(); ?> <td><a href="<?= $url; ?>"><?= $value->getCreatedBy(); ?></a>
<td><?= $value->getCreatedAt()->format('Y-m-d H:i:s'); ?> <td><a href="<?= $url; ?>"><?= $value->getCreatedAt()->format('Y-m-d H:i:s'); ?></a>
<?php endforeach; ?> <?php endforeach; ?>
<?php if($count === 0) : ?> <?php if($count === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?> <tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?>

View File

@ -13,76 +13,20 @@
* @version 1.0.0 * @version 1.0.0
* @link http://orange-management.com * @link http://orange-management.com
*/ */
/** @noinspection PhpUndefinedMethodInspection */ /**
\phpOMS\Module\ModuleFactory::$loaded['Navigation']->call([\Modules\Navigation\Models\NavigationType::CONTENT, * @var \phpOMS\Views\View $this
1000401001,]); */
$media = $this->getData('media');
echo $this->getData('nav')->render();
?> ?>
<div class="b b-3 c4-2 c4" id="i4-2-1"> <section class="box w-100">
<h1> <h1><?= $media->getName() ?></h1>
<?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Preview']; ?> <div class="inner">
<i class="fa fa-minus min"></i> <?php if(in_array($media->getExtension(), ['gif', 'bmp', 'jpg', 'jpeg', 'png'])) : ?>
<i class="fa fa-plus max vh"></i> <img src="<?= $media->getPath(); ?>">
</h1> <?php else : ?>
<pre><?= htmlspecialchars(file_get_contents(ROOT_PATH . '/' . $media->getPath())); ?></pre>
<div class="bc-1"> <?php endif; ?>
</div> </div>
</div> </section>
<div class="b b-1 c4-2 c4" id="i4-2-2">
<h1>
<?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Data']; ?>
<i class="fa fa-minus min"></i>
<i class="fa fa-plus max vh"></i>
</h1>
<div class="bc-1">
<!-- @formatter:off -->
<table class="tc-1">
<tr>
<th><label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Name']; ?></label>
<td><?= $media->getName(); ?>
<tr>
<th><label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Extension']; ?></label>
<td><?= $media->getExtension(); ?>
<tr>
<th><label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Size']; ?></label>
<td><?= \phpOMS\Utils\Converter\File::byteSizeToString($media->getSize()); ?>
<tr>
<th><label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Author']; ?></label>
<td><?= $media->getAuthor(); ?>
<tr>
<th><label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Created']; ?></label>
<td><?= $media->getCreated()->format('Y-m-d H:i:s'); ?>
<tr>
<th><label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Changed']; ?></label>
<td>asldkf
<tr>
<th><label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Changedby']; ?></label>
<td>asldkf
</table>
<!-- @formatter:on -->
</div>
</div>
<div class="b b-1 c4-2 c4" id="i4-2-2">
<h1>
<?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Settings']; ?>
<i class="fa fa-minus min"></i>
<i class="fa fa-plus max vh"></i>
</h1>
<div class="bc-1">
<ul class="l-1">
<li>
<label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Visibility']; ?></label>
<li><input type="text">
<button><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang[0]['Add']; ?></button>
<li>
<label><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang['Media']['Editability']; ?></label>
<li><input type="text">
<button><?= $this->app->accountManager->get($request->getAccount())->getL11n()->lang[0]['Add']; ?>
</ul>
</div>
</div>