diff options
Diffstat (limited to 'src/functions.php')
-rw-r--r-- | src/functions.php | 143 |
1 files changed, 71 insertions, 72 deletions
diff --git a/src/functions.php b/src/functions.php index 1bbb40c..aaacb36 100644 --- a/src/functions.php +++ b/src/functions.php | |||
@@ -101,88 +101,87 @@ function rechercheClient(string $input, Clients $Client): array | |||
101 | } | 101 | } |
102 | 102 | ||
103 | 103 | ||
104 | // remplacer par une classe Latex | 104 | //~ function makeLatexAndPdfDocuments(Clients $Client = null, Prestations $Presta = null, $PrestaDetails = null) |
105 | function makeLatexAndPdfDocuments(Clients $Client = null, Prestations $Presta = null, $PrestaDetails = null) | 105 | //~ { |
106 | { | 106 | //~ $latex = ''; |
107 | $latex = ''; | 107 | //~ $year = ''; |
108 | $year = ''; | 108 | //~ $data = []; |
109 | $data = []; | 109 | //~ $latex_path = Config::$latex_path; |
110 | $latex_path = Config::$latex_path; | 110 | //~ $pdf_path = Config::$pdf_path; |
111 | $pdf_path = Config::$pdf_path; | ||
112 | 111 | ||
113 | // verso d'une enveloppe | 112 | //~ // verso d'une enveloppe |
114 | $latex = makeLatex('enveloppe_verso'); // pas de données transmises, elles sont dans la classe Config | 113 | //~ $latex = makeLatex('enveloppe_verso'); // pas de données transmises, elles sont dans la classe Config |
115 | $file_name = 'enveloppe_verso.tex'; | 114 | //~ $file_name = 'enveloppe_verso.tex'; |
116 | makeFile($latex_path, $file_name, $latex); | 115 | //~ makeFile($latex_path, $file_name, $latex); |
117 | 116 | ||
118 | latexToPdf($latex_path, $file_name, $pdf_path); | 117 | //~ latexToPdf($latex_path, $file_name, $pdf_path); |
119 | 118 | ||
120 | 119 | ||
121 | if($Client !== null) | 120 | //~ if($Client !== null) |
122 | { | 121 | //~ { |
123 | $data = $Client->getAll(); | 122 | //~ $data = $Client->getAll(); |
124 | 123 | ||
125 | // recto d'une enveloppe | 124 | //~ // recto d'une enveloppe |
126 | $latex_recto_path = $latex_path . 'enveloppes_recto/'; | 125 | //~ $latex_recto_path = $latex_path . 'enveloppes_recto/'; |
127 | $pdf_recto_path = $pdf_path . 'enveloppes_recto/'; | 126 | //~ $pdf_recto_path = $pdf_path . 'enveloppes_recto/'; |
128 | $data['code_postal_espaces'] = implode(' \ ', str_split($data['code_postal'])); // code postal avec 2 espaces entre chaque chiffre: 2 \ 9 \ 0 \ 0 \ 0 | 127 | //~ $data['code_postal_espaces'] = implode(' \ ', str_split($data['code_postal'])); // code postal avec 2 espaces entre chaque chiffre: 2 \ 9 \ 0 \ 0 \ 0 |
129 | 128 | ||
130 | $latex = makeLatex('enveloppe_recto', $data); // injection des variables | 129 | //~ $latex = makeLatex('enveloppe_recto', $data); // injection des variables |
131 | $file_name = $Client->getCodeClient() . '.tex'; | 130 | //~ $file_name = $Client->getCodeClient() . '.tex'; |
132 | makeFolder($latex_recto_path); | 131 | //~ makeFolder($latex_recto_path); |
133 | makeFile($latex_recto_path, $file_name, $latex); | 132 | //~ makeFile($latex_recto_path, $file_name, $latex); |
134 | 133 | ||
135 | makeFolder($pdf_recto_path); | 134 | //~ makeFolder($pdf_recto_path); |
136 | latexToPdf($latex_recto_path, $file_name, $pdf_recto_path); | 135 | //~ latexToPdf($latex_recto_path, $file_name, $pdf_recto_path); |
137 | 136 | ||
138 | // facture, devis, location | 137 | //~ // facture, devis, location |
139 | if($Presta !== null && $PrestaDetails !== null) | 138 | //~ if($Presta !== null && $PrestaDetails !== null) |
140 | { | 139 | //~ { |
141 | $type = $Presta->getTypePresta(); | 140 | //~ $type = $Presta->getTypePresta(); |
142 | $file_name = $type . '.tex'; | 141 | //~ $file_name = $type . '.tex'; |
143 | if($type === 'facture' || $type === 'devis' || $type === 'location') | 142 | //~ if($type === 'facture' || $type === 'devis' || $type === 'location') |
144 | { | 143 | //~ { |
145 | $data = array_merge($data, $Presta->getAll()); | 144 | //~ $data = array_merge($data, $Presta->getAll()); |
146 | $Date = new Dates($Presta->getDate()); // entrée = timestamp (doit être un "int"!!) | 145 | //~ $Date = new Dates($Presta->getDate()); // entrée = timestamp (doit être un "int"!!) |
147 | $year = $Date->getYear(); | 146 | //~ $year = $Date->getYear(); |
148 | $latex_year_path = $latex_path . $year . '/'; // un sous-dossier par année | 147 | //~ $latex_year_path = $latex_path . $year . '/'; // un sous-dossier par année |
149 | $pdf_year_path = $pdf_path . $year . '/'; | 148 | //~ $pdf_year_path = $pdf_path . $year . '/'; |
150 | $data = array_merge($data, $PrestaDetails->getAll()); | 149 | //~ $data = array_merge($data, $PrestaDetails->getAll()); |
151 | 150 | ||
152 | $latex = makeLatex($type, $data, $Date); // injection des variables | 151 | //~ $latex = makeLatex($type, $data, $Date); // injection des variables |
153 | $file_name = $Presta->getCodePresta() . '.tex'; | 152 | //~ $file_name = $Presta->getCodePresta() . '.tex'; |
154 | makeFolder($latex_year_path); | 153 | //~ makeFolder($latex_year_path); |
155 | makeFile($latex_year_path, $file_name, $latex); | 154 | //~ makeFile($latex_year_path, $file_name, $latex); |
156 | 155 | ||
157 | makeFolder($pdf_year_path); | 156 | //~ makeFolder($pdf_year_path); |
158 | latexToPdf($latex_year_path, $file_name, $pdf_year_path); | 157 | //~ latexToPdf($latex_year_path, $file_name, $pdf_year_path); |
159 | } | 158 | //~ } |
160 | elseif($type === 'cesu' || $type === 'non_vendue') | 159 | //~ elseif($type === 'cesu' || $type === 'non_vendue') |
161 | {} // pas de document | 160 | //~ {} // pas de document |
162 | else | 161 | //~ else |
163 | { | 162 | //~ { |
164 | echo "debug: erreur génération latex, type de prestation \n"; | 163 | //~ echo "debug: erreur génération latex, type de prestation \n"; |
165 | return 0; | 164 | //~ return 0; |
166 | } | 165 | //~ } |
167 | } | 166 | //~ } |
168 | } | 167 | //~ } |
169 | } | 168 | //~ } |
170 | 169 | ||
171 | function makeLatex(string $type, array $data = [], Dates $Date = null) | 170 | //~ function makeLatex(string $type, array $data = [], Dates $Date = null) |
172 | { | 171 | //~ { |
173 | $date = ''; | 172 | //~ $date = ''; |
174 | if($Date != null) | 173 | //~ if($Date != null) |
175 | { | 174 | //~ { |
176 | $date = $Date->getDate(); | 175 | //~ $date = $Date->getDate(); |
177 | $date = preg_replace('#\D#', '/', $date); // date avec des slashs / parce que j'aime bien | 176 | //~ $date = preg_replace('#\D#', '/', $date); // date avec des slashs / parce que j'aime bien |
178 | } | 177 | //~ } |
179 | 178 | ||
180 | // on obtient la variable $latex avec ob_get_clean() | 179 | //~ // on obtient la variable $latex avec ob_get_clean() |
181 | // le include() ici, c'est du génie ou c'est moche ou les deux? | 180 | //~ // le include() ici, c'est du génie ou c'est moche ou les deux? |
182 | // un nouveau fichier php est inséré à chaque itération | 181 | //~ // un nouveau fichier php est inséré à chaque itération |
183 | include('latex_templates/' . $type . '.php'); | 182 | //~ include('latex_templates/' . $type . '.php'); |
184 | 183 | ||
185 | // on retourne le buffer | 184 | //~ // on retourne le buffer |
186 | // normallement le code PHP inséré avec include est nettoyé en quittant la fonction | 185 | //~ // normallement le code PHP inséré avec include est nettoyé en quittant la fonction |
187 | return($latex); | 186 | //~ return($latex); |
188 | } | 187 | //~ } |