From 93387702f0851fa8aceac59320b85e8994165254 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 20 Dec 2015 22:31:57 +0100 Subject: [PATCH] Partially fixing media upload by fixing routs and associated methods. --- Controller.php | 29 ++++++++++++++++++++++++----- ModuleMedia.js | 2 +- Theme/backend/media-create.tpl.php | 4 ++-- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/Controller.php b/Controller.php index ce2b1b7..8f7585b 100644 --- a/Controller.php +++ b/Controller.php @@ -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 + */ + 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']]); } diff --git a/ModuleMedia.js b/ModuleMedia.js index 65fa2da..acc9d3e 100644 --- a/ModuleMedia.js +++ b/ModuleMedia.js @@ -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++) { diff --git a/Theme/backend/media-create.tpl.php b/Theme/backend/media-create.tpl.php index c30c285..8fb763f 100644 --- a/Theme/backend/media-create.tpl.php +++ b/Theme/backend/media-create.tpl.php @@ -21,12 +21,12 @@ echo $this->getData('nav')->render(); ?>

l11n->lang['Media']['Upload']; ?>

-
+
-
+