/** * 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; } }