Partially fixing media upload by fixing routs and associated methods.

This commit is contained in:
Dennis Eichhorn 2015-12-20 22:31:57 +01:00
parent be8f7fe6f7
commit 93387702f0
3 changed files with 27 additions and 8 deletions

View File

@ -21,6 +21,7 @@ use Modules\Media\Models\UploadFile;
use Modules\Media\Models\UploadStatus;
use Modules\Navigation\Models\Navigation;
use Modules\Navigation\Views\NavigationView;
use phpOMS\Asset\AssetType;
use phpOMS\Contract\RenderableInterface;
use phpOMS\Message\RequestAbstract;
use phpOMS\Message\RequestDestination;
@ -88,13 +89,31 @@ class Controller extends ModuleAbstract implements WebInterface
*/
protected static $routes = [
'^.*/backend/media/list.*$' => [['dest' => '\Modules\Media\Controller:viewMediaList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/media/create.*$' => [['dest' => '\Modules\Media\Controller:viewMediaCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/media/create.*$' => [
['dest' => '\Modules\Media\Controller:setUpFileUploader', 'method' => 'GET', 'type' => ViewLayout::NULL],
['dest' => '\Modules\Media\Controller:viewMediaCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],
],
'^.*/api/media/file/create.*$' => [['dest' => '\Modules\Media\Controller:apiFileCreate', 'method' => 'POST', 'type' => ViewLayout::MAIN],],
'^.*/api/media/collection/create.*$' => [['dest' => '\Modules\Media\Controller:apiCollectionCreate', 'method' => 'POST', 'type' => ViewLayout::MAIN],],
'^.*/api/media/upload.*$' => [['dest' => '\Modules\Media\Controller:apiMediaUpload', 'method' => 'POST', 'type' => ViewLayout::NULL],],
'^.*/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],],
];
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setUpFileUploader(RequestAbstract $request, ResponseAbstract $response, $data = null)
{
$head = $response->getHead();
$head->addAsset(AssetType::JS, $request->getUri()->getBase() . 'Modules/Media/ModuleMedia.js');
}
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
@ -147,7 +166,7 @@ class Controller extends ModuleAbstract implements WebInterface
*/
public function apiMediaUpload(RequestAbstract $request, ResponseAbstract $response, $data = null)
{
$uploads = $this->uploadFiles($_FILES, $request->getAccount());
$uploads = $this->uploadFiles($request->getFiles(), $request->getAccount());
$response->set($request->__toString(), [['uploads' => $uploads, 'type' => 'UI']]);
}

View File

@ -96,7 +96,7 @@
self.app.uiManager.getFormManager().submit(e, data);
});
uploader.setUri('http://127.0.0.1/en/api/media.php');
uploader.setUri('http://127.0.0.1/en/api/media');
for (var i = 0; i < fileFields.length; i++) {
for (var j = 0; j < fileFields[i].files.length; j++) {

View File

@ -21,12 +21,12 @@ echo $this->getData('nav')->render(); ?>
<section class="box w-50">
<h1><?= $this->l11n->lang['Media']['Upload']; ?></h1>
<div class="inner">
<form>
<form method="POST" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/media/create'); ?>">
<table class="layout wf-100">
<tr><td><label for="iName"><?= $this->l11n->lang['Media']['Name']; ?></label>
<tr><td><input type="text" id="iName" name="name" placeholder="&#xf040;">
<tr><td><label for="iFiles"><?= $this->l11n->lang['Media']['Files']; ?></label>
<tr><td><input type="file" id="iFiles" name="files" multiple>
<tr><td><input type="file" id="iFiles" name="files" multiple><input name="media" type="hidden">
<tr><td><input type="submit" value="<?= $this->l11n->lang[0]['Create']; ?>">
</table>
</form>