From 9bdfb5196a2ee1cbfc403702e8d2ef88076d366f Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 5 Jul 2023 01:39:29 +0200 Subject: classe Latex "fonctionnelle" --- src/sections/1_new_service.php | 54 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 5 deletions(-) (limited to 'src/sections') diff --git a/src/sections/1_new_service.php b/src/sections/1_new_service.php index e7e3564..6f5a72c 100644 --- a/src/sections/1_new_service.php +++ b/src/sections/1_new_service.php @@ -130,13 +130,57 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a // -- partie 3: LaTeX -- - makeLatexAndPdfDocuments($Client, $Presta, $PrestaDetails); + //makeLatexAndPdfDocuments($Client, $Presta, $PrestaDetails); + // factoriser tout ça + /* plusieurs parties: + * - une fonction ou on crée et manipule les objets (une classe par type de document) + * - manipulation des données + * - chemins et noms de fichiers + * - insertion des variables + * - écriture du fichier (+ dossier si nécessaire) + */ + // et pour bien faire ajouter aussi une interface // fabrique d'objets (sans connaître les noms des classes) - - //~ $EnveloppeRecto = Latex::makeLatexSubClass('enveloppe_recto'); - //~ $EnveloppeVerso = Latex::makeLatexSubClass('enveloppe_verso'); - //~ $DocumentPresta = Latex::makeLatexSubClass($Presta->getTypePresta()); // $type = facture, devis, location + $EnveloppeRecto = Latex::makeLatexSubClass('enveloppe_recto'); + $EnveloppeVerso = Latex::makeLatexSubClass('enveloppe_verso'); + $DocumentPresta = Latex::makeLatexSubClass($Presta->getTypePresta()); // $type = facture, devis, location + + // génération du latex + $EnveloppeRecto->setData($Client); + $EnveloppeRecto->setFileName($Client->getCodeClient() . '.tex'); + $EnveloppeRecto->setLatexPath(Config::$latex_path . 'enveloppes_recto/'); + $EnveloppeRecto->setPdfPath(Config::$pdf_path . 'enveloppes_recto/'); + $EnveloppeRecto->spacesInPostCode(); + $EnveloppeRecto->makeLatex(); + + $EnveloppeVerso->setFileName('enveloppe_verso.tex'); + $EnveloppeVerso->setLatexPath(Config::$latex_path); + $EnveloppeVerso->setPdfPath(Config::$pdf_path); + $EnveloppeVerso->makeLatex(); + + $DocumentPresta->setData($Client); + $DocumentPresta->setData($Presta); + $DocumentPresta->setData($PrestaDetails); + $DocumentPresta->makeDateInstance($Presta->getDate()); // paramètre = int + $DocumentPresta->setFileName($Presta->getCodePresta() . '.tex'); + $DocumentPresta->setLatexPath(Config::$latex_path . $DocumentPresta->getYear() . '/'); + $DocumentPresta->setPdfPath(Config::$pdf_path . $DocumentPresta->getYear() . '/'); + $DocumentPresta->makeLatex(); + + // création des fichiers + makeFolder($EnveloppeRecto->getLatexPath()); + makeFolder($EnveloppeRecto->getPdfPath()); + makeFile($EnveloppeRecto->getLatexPath(), $EnveloppeRecto->getFileName(), $EnveloppeRecto->getLatex()); + latexToPdf($EnveloppeRecto->getLatexPath(), $EnveloppeRecto->getFileName(), $EnveloppeRecto->getPdfPath()); + + makeFile($EnveloppeVerso->getLatexPath(), $EnveloppeVerso->getFileName(), $EnveloppeVerso->getLatex()); + latexToPdf($EnveloppeVerso->getLatexPath(), $EnveloppeVerso->getFileName(), $EnveloppeVerso->getPdfPath()); + + makeFolder($DocumentPresta->getLatexPath()); + makeFolder($DocumentPresta->getPdfPath()); + makeFile($DocumentPresta->getLatexPath(), $DocumentPresta->getFileName(), $DocumentPresta->getLatex()); + latexToPdf($DocumentPresta->getLatexPath(), $DocumentPresta->getFileName(), $DocumentPresta->getPdfPath()); // -- partie 4: récapitulatif -- -- cgit v1.2.3