/** * Gibt die formatierte Liste mit dem angeforderten Name als PDF zurück. * * Stößt Dateitransfer an (wie auch immer, das gehen wird) */ function _pdfAusgeben() { require_once "ext/preisliste/myFpdf.class.php"; // Instanz erzeugen ( Hochformat DinA4, Angaben in milimeter) $pdf = new myFpdf('P', 'mm', 'A4'); // Stammdaten festlegen $pdf->SetTitle($this->title); $pdf->SetAuthor($this->author); $pdf->SetSubject($this->subject); $pdf->SetCreator('FPDF Version 1.52'); global $REQUEST_URI; $url = explode("/", $REQUEST_URI); array_pop($url); $pdf->SetUrl($this->config->server . implode("/", $url) . ".html"); // Definieren des Platzhalters für die Seitenanzahl $pdf->AliasNbPages(); // eine Seite erzeugen $pdf->AddPage(); // Zeige Titel der Liste an $pdf->PutTitle(); // durchlaufe alle Elemente und zeige die entsprechenden Dinge an print_r($this->elemente); foreach ($this->elemente as $maingroupname => $maingroup) { $pdf->PutSubtitle($maingroupname); foreach ($maingroup as $grouporspecial) { if ($grouporspecial['typ'] == 'special') { // Special ausgeben $pdf->Special($grouporspecial['title'], $grouporspecial['text']); } elseif ($grouporspecial['typ'] == 'anotation') { // Anmerkung ausgeben $pdf->Anotation($grouporspecial['title'], $grouporspecial['text']); } else { // Gruppen ausgeben // Gruppenname ausgeben $pdf->PutSubSubtitle($grouporspecial['name']); // Tabelle ausgeben $pdf->FancyTable($grouporspecial['positions']); } } } // Kontaktinformationen anfügen $pdf->addPage(); $pdf->PutSubtitle("Kontaktinformationen"); $pagecount = $pdf->setSourceFile("ext/preisliste/kontakt.pdf"); $tplidx = $pdf->ImportPage(1); $pdf->useTemplate($tplidx); $filename = explode("/", $REQUEST_URI); $filename = explode(".", $filename[sizeof($filename) - 1]); array_pop($filename); $filename = implode(".", $filename) . ".pdf"; // Und das ganze als 'bootshaus.pdf' an den Browser senden zum Speichern $pdf->CleanOutput($filename, 'D'); }
/** * Gibt die formatierte Liste mit dem angeforderten Name als PDF zurück. * * Stößt Dateitransfer an (wie auch immer, das gehen wird) */ function _pdfAusgeben() { if (sizeof($this->params) > 0) { // Überprüfen der Parameter $params = explode(".", $this->params[0]); $id = $params[0]; $filename = $this->params[0]; // Finde das passende Angebot foreach ($this->database as $rubrik) { foreach ($rubrik['angebote'] as $angebot) { if ($angebot['id'] == $id) { $myAngebot = $angebot; break; } } } if (!isset($myAngebot)) { return $this->_allgAusgeben(); } // Erzeugen des pdf require_once "ext/angebote/myFpdf.class.php"; // Instanz erzeugen ( Hochformat DinA4, Angaben in milimeter) $pdf = new myFpdf('P', 'mm', 'A4'); // Stammdaten festlegen $pdf->SetTitle($angebot['titel']); $pdf->SetAuthor(stripslashes($this->extConfig['params']['author'])); $pdf->SetSubject(stripslashes($this->extConfig['params']['subject'])); $pdf->SetCreator('FPDF Version 1.52'); global $REQUEST_URI; $url = explode(".", $REQUEST_URI); array_pop($url); $pdf->SetUrl($this->config->server . implode(".", $url) . ".html"); // Definieren des Platzhalters für die Seitenanzahl $pdf->AliasNbPages(); // eine Seite erzeugen $pdf->AddPage(); // Zeige Titel der Liste an $pdf->PutTitle(); // Füllen des PDFs // Kurzbeschreibung if (strlen($myAngebot['kurzbeschreibung']) > 1) { $pdf->Special("Kurzbeschreibung", $myAngebot['kurzbeschreibung']); } // Adresse if (strlen($myAngebot['adresse']) > 1) { $pdf->Adresse($myAngebot['adresse']); } // Objektbeschreibung if (strlen($myAngebot['objektbeschreibung']) > 1) { $pdf->PutSubtitle("Objektbeschreibung"); $pdf->Paragraph($myAngebot['objektbeschreibung']); } // Ausstattung if (strlen($myAngebot['ausstattung']) > 1) { $pdf->PutSubtitle("Ausstattung"); $pdf->Paragraph($myAngebot['ausstattung']); } // Lage if (strlen($myAngebot['lage']) > 1) { $pdf->PutSubtitle("Lage"); $pdf->Paragraph($myAngebot['lage']); } // Sonstiges if (strlen($myAngebot['sonstiges']) > 1) { $pdf->PutSubtitle("Sonstiges"); $pdf->Paragraph($myAngebot['sonstiges']); } // Bilder if (sizeof($myAngebot['bilder']) > 0) { $pdf->AddPage(); $pdf->PutSubtitle("Bilder"); foreach ($myAngebot['bilder'] as $bild) { $pdf->Bild($bild); } } // Kontaktinformationen anfügen $pdf->addPage(); $pdf->PutSubtitle("Kontaktinformationen"); $pagecount = $pdf->setSourceFile("ext/angebote/kontakt.pdf"); $tplidx = $pdf->ImportPage(1); $pdf->useTemplate($tplidx); // Ausgeben des PDF // Und das ganze als '*.pdf' an den Browser senden $pdf->CleanOutput($filename, 'D'); } else { return $this->_allgAusgeben(); } }