/** * Erzeugt ein PDF auf Basis der übergebenen Funktion. * @param $module * @param $action * @param $param * @param null $filename falls kein Dateiname angegeben wird, wird das PDF direkt im Browser ausgegeben * @throws \Exception */ public static function generate($module, $action, $param, $filename = null, $template = true, $margin = 0) { $druckinhalt = new WrapperControl(null, 'druck'); $druckinhalt->setModule($module)->setAction($action)->addParams($param); $pdf = new \mPDF('de-DE', 'A4'); $pdf->SetDisplayMode('fullpage'); // Zeigt eine ganze Seite an, wenn das PDF in Acrobat geöffnet wird if ($margin > 0) { $pdf->SetTopMargin($margin); } $pdf->SetFooter('Seite {PAGENO} / {nb}'); //file_get_contents('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css') . $stylesheet = file_get_contents('templates/print/css/default.css'); $pdf->WriteHTML($stylesheet, 1); if ($template && file_exists('site/Print.template.html')) { $vars = ['heading' => Application::getCurrentResponse()->getMetadata()->getHeading()]; $header = Parser::parse(null, null, $vars, file_get_contents('site/Print.template.html')); $pdf->WriteHTML($header, 2); } $pdf->WriteHTML($druckinhalt->toHtml(), 2); if ($filename === null) { $pdf->Output($module . $action . '.pdf', 'I'); } else { //$filename = Files::validateFilename($filename); $pdf->Output($filename, 'F'); } unset($pdf); }
public function explainQuery() { if (!Debug::isEnabled()) { FlashMessage::danger('Zugriff verweigert'); Application::getCurrentResponse()->redirectToFrontpage(); } // TODO }
public function showPage() { if (!isset($this->page)) { $this->site = new Site($this->request->site); } else { $this->site = new Site($this->page->pa_site); } Routing::resetBreadcrumbs(); Routing::addBreadcrumb('Struktur'); Routing::addBreadcrumb($this->site->si_bezeichnung, '/site/showPage/site' . $this->site->id); Application::getCurrentResponse()->heading = 'Seiten'; }
/** * Setzt die Informationen der geöffneten Seite den Request und Response * Objekten. * * @param Request $request * @param Page $page */ public function setCurrentPage(&$request, $page) { Profiler::startSection('Routing.setCurrentPage'); Application::getInstance()->setCurrentPage($page); $response = Application::getCurrentResponse(); $request->module = $page->pa_module; $request->action = $page->pa_action; $request->innerTemplate = $page->pa_innertemplate; $request->parseParameter($page->pa_parameter); $this->generateBreadcrumbsForPage($page); Profiler::endSection('Routing.setCurrentPage'); }
public function indexUser() { Application::getCurrentResponse()->heading = 'Benutzer'; }
public function show() { $_SESSION['articleId'] = $this->request->id; $this->artikel = new CmsArtikel($this->request->id); $this->kategorie = new CmsKategorie($this->artikel->ca_kategorie); Application::getCurrentResponse()->heading = $this->artikel->titel; }
public function indexHistorie() { Application::getCurrentResponse()->heading = 'Historie'; }
public function showDokumente() { $this->kollektion = Kollektion::loadByBezeichnung($this->request->bezeichnung); Application::getCurrentResponse()->heading = (string) $this->kollektion; }
public function editEntity() { $this->current = Modules::getModule($this->request->current); $this->entity = $this->current->getEntity($this->request->id); Application::getCurrentResponse()->heading = $this->current; }
/** * Wechselt die Identität des angemeldeten Benutzers * ACHTUNG! Besondere Sorgfalt bei der Berechtigungsprüfung von Nöten! */ public function doAnmeldenAls() { // TODO: Berechtigung prüfen // TODO: DTV! $darfWechsel = Application::isAdmin() || Security::hatRolle('DTV-GS'); if (!$darfWechsel) { FlashMessage::danger('Für diese Aktion haben Sie keine Berechtigung'); Application::getCurrentResponse()->redirectToFrontpage(); } $this->user = User::loadByBenutzername($this->request->benutzer); if ($this->user != null) { Security::loginUser($this->user); FlashMessage::success('Sie sind jetzt angemeldet als ' . $this->user); } else { FlashMessage::danger('Benutzername nicht bekannt'); } Application::getCurrentResponse()->redirectToFrontpage(); }
public function indexImportprotokoll() { $this->import = new Import($this->request->import); Application::getCurrentResponse()->heading = 'Protokoll für ' . $this->import; Routing::resetBreadcrumbs(); Routing::addBreadcrumb('Importe', EntityLinks::index($this->import)); Routing::addBreadcrumb($this->import); }