Пример #1
0
 /**
  * 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;
     }
 }