/** * Shows module content * * @param \phpOMS\Message\RequestAbstract $request Request * @param \phpOMS\Message\ResponseAbstract $response Response * * @since 1.0.0 * @author Dennis Eichhorn <*****@*****.**> */ private function showContentBackend($request, $response) { switch ($request->getPath(3)) { case 'single': $media = new \Modules\Media\Models\Media($this->app->dbPool); $media->init($request->getData('id')); /** @noinspection PhpIncludeInspection */ include __DIR__ . '/Theme/Backend/media-single.tpl.php'; break; case 'list': $mediaList = new \phpOMS\Views\View($this->app, $request, $response); $mediaList->setTemplate('/Modules/Media/Theme/Backend/media-list'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $mediaList->addData('nav', $navigation->nav); echo $mediaList->render(); break; case 'create': $mediaCreate = new \phpOMS\Views\View($this->app, $request, $response); $mediaCreate->setTemplate('/Modules/Media/Theme/Backend/media-create'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $mediaCreate->addData('nav', $navigation->nav); echo $mediaCreate->render(); break; default: $response->setHeader('HTTP', 'HTTP/1.0 404 Not Found'); $response->setHeader('Status', 'Status: 404 Not Found'); include __DIR__ . '/../../Web/Backend/404.tpl.php'; return; } }
/** * Shows module content * * @param \phpOMS\Message\RequestAbstract $request Request * @param \phpOMS\Message\ResponseAbstract $response Response * * @since 1.0.0 * @author Dennis Eichhorn <*****@*****.**> */ public function showContentBackend($request, $response) { // TODO: pull abstract view creation and output out. let error be a view as well -> less code writing switch ($request->getPath(3)) { case 'list': $supportDashboardView = new \phpOMS\Views\View($this->app, $request, $response); $supportDashboardView->setTemplate('/Modules/Support/Theme/Backend/support-dashboard'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $supportDashboardView->addData('nav', $navigation->nav); echo $supportDashboardView->render(); break; case 'single': /** @noinspection PhpUnusedLocalVariableInspection */ $support = new \Modules\Tasks\Models\Task($this->app->dbPool); $support->init($request->getData('id')); /** @noinspection PhpIncludeInspection */ include __DIR__ . '/Theme/Backend/support-single.tpl.php'; break; case 'create': $supportCreateView = new \phpOMS\Views\View($this->app, $request, $response); $supportCreateView->setTemplate('/Modules/Support/Theme/Backend/support-create'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $supportCreateView->addData('nav', $navigation->nav); echo $supportCreateView->render(); break; case 'analysis': $supportAnalysisView = new \phpOMS\Views\View($this->app, $request, $response); $supportAnalysisView->setTemplate('/Modules/Support/Theme/Backend/support-analysis'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $supportAnalysisView->addData('nav', $navigation->nav); echo $supportAnalysisView->render(); break; case 'settings': $supportSettingsView = new \phpOMS\Views\View($this->app, $request, $response); $supportSettingsView->setTemplate('/Modules/Support/Theme/Backend/support-settings'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $supportSettingsView->addData('nav', $navigation->nav); echo $supportSettingsView->render(); break; case 'support': $this->showContentBackendPrivate($request, $response); break; } }
/** * Shows module content * * @param \phpOMS\Message\RequestAbstract $request Request * @param \phpOMS\Message\ResponseAbstract $response Response * * @since 1.0.0 * @author Dennis Eichhorn <*****@*****.**> */ public function showContentBackend($request, $response) { switch ($request->getPath(3)) { case 'dashboard': $newsDashboard = new \phpOMS\Views\View($this->app, $request, $response); $newsDashboard->setTemplate('/Modules/News/Theme/Backend/news-dashboard'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $newsDashboard->addData('nav', $navigation->nav); echo $newsDashboard->render(); break; case 'single': $article = new \Modules\News\Models\Article($this->app->dbPool); $article->init($request->getData('id')); /** @noinspection PhpIncludeInspection */ include __DIR__ . '/Theme/Backend/news-single.tpl.php'; break; case 'archive': $newArchive = new \phpOMS\Views\View($this->app, $request, $response); $newArchive->setTemplate('/Modules/News/Theme/Backend/news-archive'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $newArchive->addData('nav', $navigation->nav); echo $newArchive->render(); break; case 'create': $newsCreate = new \phpOMS\Views\View($this->app, $request, $response); $newsCreate->setTemplate('/Modules/News/Theme/Backend/news-create'); $navigation = \Modules\Navigation\Models\Navigation::getInstance($request->getHash(), $this->app->dbPool); $newsCreate->addData('nav', $navigation->nav); echo $newsCreate->render(); break; default: $response->setHeader('HTTP', 'HTTP/1.0 404 Not Found'); $response->setHeader('Status', 'Status: 404 Not Found'); include __DIR__ . '/../../Web/Backend/404.tpl.php'; return; } }
/** * Shows api content * * @param \phpOMS\Message\RequestAbstract $request Request * @param \phpOMS\Message\ResponseAbstract $response Response * * @since 1.0.0 * @author Dennis Eichhorn <*****@*****.**> */ private function apiModule($request, $response) { switch ($request->getRequestDestination()) { case \phpOMS\Message\RequestMethod::POST: $this->app->moduleManager->install($request->getData('module')); break; default: $response->setHeader('HTTP', 'HTTP/1.0 406 Not acceptable'); $response->setHeader('Status', 'Status:406 Not acceptable'); return; } }
/** * Shows api content * * @param \phpOMS\Message\RequestAbstract $request Request * @param \phpOMS\Message\ResponseAbstract $response Response * * @since 1.0.0 * @author Dennis Eichhorn <*****@*****.**> */ public function showAPI($request, $response) { switch ($request->getPath(3)) { case 'export': switch ($request->getData('type')) { case 'pdf': $response->setHeader('Content-Type', \phpOMS\System\MimeType::M_PDF, true); break; case 'csv': $response->setHeader('Content-Type', \phpOMS\System\MimeType::M_CONF, true); break; case 'xlsx': $response->setHeader('Content-Type', \phpOMS\System\MimeType::M_XLSX, true); break; case 'json': $response->setHeader('Content-Type', \phpOMS\System\MimeType::M_JSON, true); break; default: // TODO handle bad request } if ($request->getData('download') !== null) { $response->setHeader('Content-Type', \phpOMS\System\MimeType::M_BIN, true); $response->setHeader('Content-Transfer-Encoding', 'Binary', true); $response->setHeader('Content-disposition', 'attachment; filename="' . $request->getData('id') . '.' . $request->getData('type') . '"', true); } /** @var array $reportLanguage */ /** @noinspection PhpIncludeInspection */ include_once __DIR__ . '/Templates/' . $request->getData('id') . '/' . $request->getData('id') . '.lang.php'; $pdfView = new \phpOMS\Views\View($this->app, $request, $response); $pdfView->addData('lang', $reportLanguage[$this->app->accountManager->get($request->getAccount())->getL11n()->getLanguage()]); $pdfView->setTemplate('/Modules/Reporter/Templates/' . $request->getData('id') . '/' . $request->getData('id') . '.' . $request->getData('type')); $response->set('GLOBAL', $pdfView->render()); break; } }