/** * 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); }
protected function createControls() { $this->setPostback('DefaultMod', 'doUsername'); $wrapper = new WrapperControl($this, 'wrapperIntro'); $wrapper->setModule('cms')->setAction('show')->addParam('id', 12); $panel = new CaptionedPanelControl($this, 'pnl'); $panel->setCaption('E-Mail-Adresse eingeben'); $input = new InputTextboxControl(null, 'email'); $input->addCssClass('required validate-email'); $edit = new EditControl($panel, 'edt'); $edit->setEntity(new User()); $edit->addRow('Ihre Adresse', $input); $submit = new ButtonControl($this, 'submit'); $submit->setCaption('Senden')->setIsSubmit(true)->setAddArrows(false); }
protected function createControls() { // TODO: Schwachsinn if ($_SESSION['loggedin']) { if ($this->request->admin) { // Admin $temp = new WrapperControl($this, 'front'); $temp->setModule('cms')->setAction('blog')->addParam('id', 1); } else { $temp = new WrapperControl($this, 'front'); $temp->setModule('cms')->setAction('blog')->addParam('id', 1); } } else { $temp = new WrapperControl($this, 'front'); $temp->setModule('cms')->setAction('blog')->addParam('id', 1); } }
public function toJavascript() { if ($this->artikel == null) { return ''; } else { return parent::toJavascript(); } }
/** * @inheritdoc */ public function toHtml() { if ($this->re_module == '' || $this->re_action == '') { return null; } $temp = new WrapperControl(null, $this->re_name); $temp->setModule($this->re_module)->setAction($this->re_action); $params = explode(';', $this->re_parameter); if ($params !== false) { foreach ($params as $param) { $keyValue = explode('=', $param); if ($keyValue !== false && count($keyValue) > 1) { $temp->addParam($keyValue[0], $keyValue[1]); } } } return $temp; }
protected function createControls() { $this->setPostback('cms', 'endEditArtikel', array('id' => $this->controller->artikel->id)); $panel = new CaptionedPanelControl($this, 'panel'); $panel->setCaption('Artikel » bearbeiten'); $lookup = new LookupBoxControl(null, 'ca_kategorie'); $lookup->setLookupEntity(new Model\CmsKategorie())->setTextfield('ck_bezeichnung')->setValuefield('ck_id')->showNull(0, '-- bitte wählen --')->preSelect($this->controller->artikel->ca_kategorie); $edit = new EditControl($panel, 'edit'); $edit->setEntity($this->controller->artikel)->setHeader('Stammdaten bearbeiten')->addRow('ca_bezeichnung')->addRow('Kategorie', $lookup)->addRow('ca_aktiv')->addRow('ca_geschrieben_am')->addRow('ca_anzeigen_ab_dem')->addRow('ca_anzeigen_bis_zum'); $button = new ButtonControl($panel, 'button'); $button->setCaption('Speichern')->setIsSubmit('true'); $texte = new Controls\TranslatedTextControl($this, 'titel'); $texte->setCaption('Titel'); $texte->setElement($this->controller->artikel->getElementId() . '.titel'); $texte = new Controls\TranslatedTextControl($this, 'intro'); $texte->setCaption('Text'); $texte->setElement($this->controller->artikel->getElementId() . '.intro'); $texte->setWYSIWYG(true); // Bilder if ($this->request->action != 'newArtikel') { $wrapper = new WrapperControl($this, 'wrapGalerie'); $wrapper->setModule('medien')->setAction('galerie')->addParam('showDrehen', true)->addParam('showSave', true)->addParam('showDelete', true)->addParam('upload', true)->addParam('id', $this->controller->artikel->ca_kollektion); } }