app->l11nManager, $request, $response); $view->setTemplate('/Modules/Helper/Theme/Backend/helper-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002701001, $request, $response)); if ($request->getData('ptype') === '-') { $view->setData('reports', TemplateMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage()) ::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25) ); } elseif ($request->getData('ptype') === '+') { $view->setData('reports', TemplateMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage()) ::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25) ); } else { $view->setData('reports', TemplateMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage()) ::getAfterPivot(0, null, 25) ); } return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewTemplateCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Helper/Theme/Backend/helper-template-create'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002701001, $request, $response)); $view->addData('media-upload', new BaseView($this->app->l11nManager, $request, $response)); $editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app->l11nManager, $request, $response); $view->addData('editor', $editor); return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewReportCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Helper/Theme/Backend/helper-create'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002701001, $request, $response)); $view->addData('media-upload', new BaseView($this->app->l11nManager, $request, $response)); $editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app->l11nManager, $request, $response); $view->addData('editor', $editor); return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @throws \Exception * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHelperReport(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); //$file = preg_replace('([^\w\s\d\-_~,;:\.\[\]\(\).])', '', $template->getName()); /** @var Template $template */ $template = TemplateMapper::get((int) $request->getData('id')); $view->setTemplate('/Modules/Helper/Theme/Backend/helper-single'); $tcoll = []; $files = $template->getSource()->getSources(); foreach ($files as $tMedia) { $lowerPath = \strtolower($tMedia->getPath()); if (StringUtils::endsWith($lowerPath, '.lang.php')) { $tcoll['lang'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.cfg.json')) { $tcoll['cfg'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, 'worker.php')) { $tcoll['worker'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.xlsx.php') || StringUtils::endsWith($lowerPath, '.xls.php')) { $tcoll['excel'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.docx.php') || StringUtils::endsWith($lowerPath, '.doc.php')) { $tcoll['word'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.pptx.php') || StringUtils::endsWith($lowerPath, '.ppt.php')) { $tcoll['powerpoint'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.pdf.php')) { $tcoll['pdf'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.csv.php')) { $tcoll['csv'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.json.php')) { $tcoll['json'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.tpl.php')) { $tcoll['template'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.css')) { $tcoll['css'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.js')) { $tcoll['js'] = $tMedia; } elseif (StringUtils::endsWith($lowerPath, '.sqlite') || StringUtils::endsWith($lowerPath, '.db')) { $tcoll['db'][] = $tMedia; } } if (!$template->isStandalone()) { if (!isset($tcoll['template'])) { throw new \Exception('No template file detected.'); } /** @var \Modules\Helper\Models\Report[] $report */ $report = ReportMapper::getNewest(1, (new Builder($this->app->dbPool->get()))->where('helper_report.helper_report_template', '=', $template->getId()) ); $rcoll = []; $report = \end($report); $report = $report === false ? new NullReport() : $report; if (!($report instanceof NullReport)) { /** @var Media[] $files */ $files = $report->getSource()->getSources(); foreach ($files as $media) { $rcoll[$media->getName() . '.' . $media->getExtension()] = $media; } } $view->addData('report', $report); $view->addData('rcoll', $rcoll); } $view->addData('unit', $this->app->orgId); $view->addData('tcoll', $tcoll); $view->addData('lang', $request->getData('lang') ?? $request->getHeader()->getL11n()->getLanguage()); $view->addData('template', $template); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1002701001, $request, $response)); return $view; } }