Chore: Verschiebe Git-Repository in das Hauptverzeichnis und richte .gitignore ein
This commit is contained in:
commit
96d0545193
502 files changed
+176027
No files matched your search
@@ -0,0 +1,215 @@
|
||||
<?php
|
||||
|
||||
namespace HermannTelser\Gutachten\Downloads;
|
||||
|
||||
use HermannTelser\Gutachten\DB\DbFunction;
|
||||
use HermannTelser\Gutachten\DB\Select\Paragraph62;
|
||||
use HermannTelser\Gutachten\DB\Select\Select;
|
||||
use HermannTelser\Gutachten\Utility\Helper;
|
||||
use HermannTelser\Gutachten\Downloads\AllgemeinTabelle;
|
||||
|
||||
use Mpdf;
|
||||
// Mpdf installed by typo3 extension
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
class PdfStandards
|
||||
{
|
||||
public static $Mpdf;
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public static function download()
|
||||
{
|
||||
// ob_clean(); // set to remove wrong headers which crashed some files (e.g. xls, dot, ...)
|
||||
|
||||
// DbFunction::$debug = 1;
|
||||
|
||||
DbFunction::$projektid = GeneralUtility::_GP('projekt_aktive');
|
||||
|
||||
if (0 == DbFunction::$projektid or !is_numeric(DbFunction::$projektid)) {
|
||||
die('aktive projekt ID fehlt!');
|
||||
}
|
||||
|
||||
$_platzhalter = DbFunction::select(
|
||||
'tx_gutachten_projekteplatzhalter',
|
||||
['code', 'txt'],
|
||||
['pid' => DbFunction::$projektid]
|
||||
);
|
||||
|
||||
$_projekt = DbFunction::select(
|
||||
'tx_gutachten_projekte',
|
||||
['auftraggeber_id', 'gutachter_id', 'intname', 'name', 'beschreibung', 'erstellung', 'onoff', 'upload', 'allgemeinupload', 'recalculate', 'zuabTitel', 'nwbTitel', 'zustTitel', 'allgemTitel', 'loggia_title', 'nwbStartSeite', 'm1pP', 'm5pP', 'timestamp', 'status', 'erstelldatum'],
|
||||
['id' => DbFunction::$projektid]
|
||||
);
|
||||
|
||||
$_auftraggeber = DbFunction::select(
|
||||
'tx_gutachten_auftraggeber',
|
||||
'*',
|
||||
['id' => $_projekt[0]['auftraggeber_id']]
|
||||
);
|
||||
|
||||
$_gutachter = DbFunction::select(
|
||||
'tx_gutachten_gutachter',
|
||||
'*',
|
||||
['id' => $_projekt[0]['gutachter_id']]
|
||||
);
|
||||
|
||||
|
||||
// print_r($_projekt);
|
||||
// print_r($_auftraggeber);
|
||||
// print_r($_gutachter);
|
||||
// exit;
|
||||
|
||||
self::$Mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'utf-8',
|
||||
'format' => 'A4-P',
|
||||
'margin_left' => 0,
|
||||
'margin_right' => 0,
|
||||
'margin_top' => 0,
|
||||
'margin_bottom' => 0,
|
||||
'margin_header' => 0,
|
||||
'margin_footer' => 0,
|
||||
]);
|
||||
|
||||
$stylesheet = file_get_contents(__DIR__.'/style.css');
|
||||
|
||||
self::$Mpdf->WriteHTML($stylesheet, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
// 1 tabelle
|
||||
// 2 inhaltsverzeichnis
|
||||
// 3 textblock
|
||||
// 4 deckblatt
|
||||
// 5 nur Überschrift
|
||||
// 6 auftraggeber
|
||||
// 7 tabelle § 6/2
|
||||
// 8 allgemeinflächen
|
||||
$_standards = DbFunction::select('tx_gutachten_projektestandards', '*', ['AND' => ['hidden' => 0, 'pid' => DbFunction::$projektid], 'ORDER' => 'pos']);
|
||||
|
||||
foreach ($_standards as $key => $value) {
|
||||
$textartid = (int)$value['textart_id'];
|
||||
switch ($textartid) {
|
||||
case '4':
|
||||
// DECKBLATT
|
||||
$html = Deckblatt::create($value, $_projekt, $_platzhalter, $_gutachter, $_auftraggeber);
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
break;
|
||||
case '2':
|
||||
// INHALTSVERZEICHNIS
|
||||
self::$Mpdf->AddPageByArray(['mgt' => 22, 'mgb' => 22, 'mgl' => 10, 'mgr' => 10]);
|
||||
$html = Inhaltsverzeichnis::create($value, $_platzhalter);
|
||||
self::$Mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
|
||||
break;
|
||||
case '1':
|
||||
if (1 == $value['neueseite']) {
|
||||
self::$Mpdf->AddPage();
|
||||
self::$Mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
||||
}
|
||||
$html = '';
|
||||
if ('' != $value['titel']) {
|
||||
$html = '<div class="header">'.$value['titel'].'</div>';
|
||||
} elseif ('' != $value['kennung']) {
|
||||
$html = '<div class="header">'.$value['kennung'].'</div>';
|
||||
}
|
||||
|
||||
$text = Helper::replacePlatzhalter($_platzhalter, $value['txt']);
|
||||
$_text = explode('<br />', $text);
|
||||
$html .= '<table class="pure-table pure-table-striped ganzebreite size09">';
|
||||
foreach ($_text as $key => $value) {
|
||||
$_row = explode('|', $value);
|
||||
$html .= Helper::table_row($_row);
|
||||
}
|
||||
$html .= '</table>';
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
break;
|
||||
case '3':
|
||||
if (1 == $value['neueseite']) {
|
||||
self::$Mpdf->AddPage();
|
||||
self::$Mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
||||
}
|
||||
$html = '';
|
||||
if ('' != $value['titel']) {
|
||||
$html = '<div class="header">'.$value['titel'].'</div>';
|
||||
} elseif ('' != $value['kennung']) {
|
||||
$html = '<div class="header">'.$value['kennung'].'</div>';
|
||||
}
|
||||
$textblock = Helper::replacePlatzhalter($_platzhalter, $value['txt']);
|
||||
$html .= '<div class="textblock">'.$textblock.'</div>';
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
break;
|
||||
case '5':
|
||||
if (1 == $value['neueseite']) {
|
||||
self::$Mpdf->AddPage();
|
||||
self::$Mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
||||
}
|
||||
if ('' != $value['titel']) {
|
||||
$html = '<div class="header">'.$value['titel'].'</div>';
|
||||
} elseif ('' != $value['kennung']) {
|
||||
$html = '<div class="header">'.$value['kennung'].'</div>';
|
||||
}
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
break;
|
||||
case '6':
|
||||
if (1 == $value['neueseite']) {
|
||||
self::$Mpdf->AddPage();
|
||||
self::$Mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
||||
}
|
||||
$html = '<div class="header">'.$value['titel'].'</div>';
|
||||
|
||||
$auftraggeber = str_replace('<br />', '|||', $_auftraggeber[0]['txt']);
|
||||
$auftraggeber = str_replace('</div>', '|||', $auftraggeber);
|
||||
$tmp = explode('|||', $auftraggeber);
|
||||
$string = '';
|
||||
foreach ($tmp as $key => $value) {
|
||||
$value = strip_tags($value);
|
||||
if ('-' == $value[0]) {
|
||||
$value = substr($value, 1);
|
||||
}
|
||||
$string .= trim(strip_tags($value)).'<br>';
|
||||
}
|
||||
$html .= '<div class="textblock">'.$string.'</div>';
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
break;
|
||||
case '7':
|
||||
// 7 tabelle § 6/2
|
||||
if (1 == $value['neueseite']) {
|
||||
self::$Mpdf->AddPage();
|
||||
self::$Mpdf->SetHTMLFooter('<div class="size09 center">Seite {PAGENO}<br><br></div>');
|
||||
}
|
||||
|
||||
$_paragraph_62 = Paragraph62::select(DbFunction::$projektid);
|
||||
$html = '<table class="pure-table pure-table-striped ganzebreite size08 center">';
|
||||
$html .= Helper::table_header_row(['Top', 'Geschoß', 'Orientierung', 'Typ']);
|
||||
foreach ($_paragraph_62 as $key => $value) {
|
||||
$html .= Helper::table_row($value, 1);
|
||||
}
|
||||
$html .= '</table>';
|
||||
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
break;
|
||||
case '8':
|
||||
// ALLGEMEINFLÄCHEN
|
||||
if (1 == $value['neueseite']) {
|
||||
self::$Mpdf->AddPage();
|
||||
self::$Mpdf->SetHTMLFooter('<div class="center">Seite {PAGENO}<br><br></div>');
|
||||
}
|
||||
|
||||
if ('' != $value['titel']) {
|
||||
$html = '<div class="header">'.$value['titel'].'</div>';
|
||||
} elseif ('' != $value['kennung']) {
|
||||
$html = '<div class="header">'.$value['kennung'].'</div>';
|
||||
}
|
||||
$html .= AllgemeinTabelle::load(DbFunction::$projektid);
|
||||
$html .= '<br><br><br><br><br><table class="inhalt"><tr>';
|
||||
$html .= '<td>'.$_projekt[0]['erstellung'].'</td>';
|
||||
$html .= '<td class="right">'.$_gutachter[0]['kopf'].'</td>';
|
||||
$html .= '</tr></table>';
|
||||
self::$Mpdf->WriteHTML($html, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
break;
|
||||
}
|
||||
}
|
||||
self::$Mpdf->Output('Standard.pdf', Mpdf\Output\Destination::INLINE);
|
||||
|
||||
exit;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user