app, $request, $response); $view->setTemplate('/Modules/Help/Theme/Backend/help'); return $view; } /** * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return \Serializable * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHelpGeneral(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable { $view = new View($this->app, $request, $response); if ($request->getData('page') === 'README' || $request->getData('page') === null) { $path = \realpath(__DIR__ . '/../../Documentation/README.md'); } else { $path = \realpath(__DIR__ . '/../../Documentation/' . $request->getData('page') . '.md'); } if ($path === false) { $response->getHeader()->setStatusCode(RequestStatusCode::R_403); $path = \realpath(__DIR__ . '/../../Documentation/README.md'); } $content = Markdown::parse(\file_get_contents($path)); $navigation = Markdown::parse(\file_get_contents(__DIR__ . '/../../Documentation/SUMMARY.md')); $view->setTemplate('/Modules/Help/Theme/Backend/help-general'); $view->setData('content', $content); $view->setData('navigation', $navigation); return $view; } /** * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return \Serializable * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHelpModuleList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable { $view = new View($this->app, $request, $response); $view->setTemplate('/Modules/Help/Theme/Backend/help-module-list'); return $view; } /** * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return \Serializable * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHelpModule(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable { $active = $this->app->moduleManager->getActiveModules(); if ($request->getData('id') === null || !isset($active[$request->getData('id')])) { return $this->viewHelpModuleList(); } $view = new View($this->app, $request, $response); if ($request->getData('page') === 'table-of-contencts' || $request->getData('page') === null) { $path = \realpath(__DIR__ . '/../' . $request->getData('id') . '/Docs/introduction.md'); } else { $path = \realpath(__DIR__ . '/../' . $request->getData('id') . '/Docs/Help/en/' . $request->getData('page') . '.md'); } if ($path === false) { $view->setTemplate('/Web/Backend/Error/403_inline'); $response->getHeader()->setStatusCode(RequestStatusCode::R_403); return $view; } $content = Markdown::parse(\file_get_contents($path)); $navigation = Markdown::parse(\file_get_contents(\realpath(__DIR__ . '/../' . $request->getData('id') . '/Docs/Help/en/table_of_contents.md'))); $view->setTemplate('/Modules/Help/Theme/Backend/help-module'); $view->setData('content', $content); $view->setData('navigation', $navigation); return $view; } /** * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return \Serializable * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHelpDeveloper(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable { $view = new View($this->app, $request, $response); if ($request->getData('page') === 'README' || $request->getData('page') === null) { $path = \realpath(__DIR__ . '/../../Developer-Guide/README.md'); } else { $path = \realpath(__DIR__ . '/../../Developer-Guide/' . $request->getData('page') . '.md'); } if ($path === false) { $response->getHeader()->setStatusCode(RequestStatusCode::R_403); $path = \realpath(__DIR__ . '/../../Developer-Guide/README.md'); } $content = Markdown::parse(\file_get_contents($path)); $navigation = Markdown::parse(\file_get_contents(__DIR__ . '/../../Developer-Guide/SUMMARY.md')); $view->setTemplate('/Modules/Help/Theme/Backend/help-developer'); $view->setData('content', $content); $view->setData('navigation', $navigation); return $view; } }