@@ -52,15 +52,18 @@ |
||
52 | 52 | |
53 | 53 | // directorio temporal para guardar los PDF |
54 | 54 | $dir = sys_get_temp_dir().'/dte_'.$Caratula['RutEmisor'].'_'.$Caratula['RutReceptor'].'_'.str_replace(['-', ':', 'T'], '', $Caratula['TmstFirmaEnv']); |
55 | -if (is_dir($dir)) |
|
55 | +if (is_dir($dir)) { |
|
56 | 56 | \sasco\LibreDTE\File::rmdir($dir); |
57 | -if (!mkdir($dir)) |
|
57 | +} |
|
58 | +if (!mkdir($dir)) { |
|
58 | 59 | die('No fue posible crear directorio temporal para DTEs'); |
60 | +} |
|
59 | 61 | |
60 | 62 | // procesar cada DTEs e ir agregándolo al PDF |
61 | 63 | foreach ($Documentos as $DTE) { |
62 | - if (!$DTE->getDatos()) |
|
63 | - die('No se pudieron obtener los datos del DTE'); |
|
64 | + if (!$DTE->getDatos()) { |
|
65 | + die('No se pudieron obtener los datos del DTE'); |
|
66 | + } |
|
64 | 67 | $pdf = new \sasco\LibreDTE\Sii\Dte\PDF\Dte(false); // =false hoja carta, =true papel contínuo (false por defecto si no se pasa) |
65 | 68 | $pdf->setFooterText(); |
66 | 69 | $pdf->setLogo('/home/delaf/www/localhost/dev/pages/sasco/website/webroot/img/logo_mini.png'); // debe ser PNG! |
@@ -63,11 +63,11 @@ discard block |
||
63 | 63 | // validar firma del SII sobre los folios |
64 | 64 | $firma = $this->getFirma(); |
65 | 65 | $idk = $this->getIDK(); |
66 | - if ($firma === false || $idk === false) { |
|
66 | + if ($firma===false || $idk===false) { |
|
67 | 67 | return false; |
68 | 68 | } |
69 | 69 | $pub_key = \sasco\LibreDTE\Sii::cert($idk); |
70 | - if ($pub_key === false || openssl_verify($this->xml->getFlattened('/AUTORIZACION/CAF/DA'), base64_decode($firma), $pub_key)!==1) { |
|
70 | + if ($pub_key===false || openssl_verify($this->xml->getFlattened('/AUTORIZACION/CAF/DA'), base64_decode($firma), $pub_key)!==1) { |
|
71 | 71 | \sasco\LibreDTE\Log::write( |
72 | 72 | \sasco\LibreDTE\Estado::FOLIOS_ERROR_FIRMA, |
73 | 73 | \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::FOLIOS_ERROR_FIRMA) |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | ); |
99 | 99 | return false; |
100 | 100 | } |
101 | - return $plain === $plain_firmado; |
|
101 | + return $plain===$plain_firmado; |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | /** |
@@ -261,7 +261,7 @@ discard block |
||
261 | 261 | public function getCertificacion() |
262 | 262 | { |
263 | 263 | $idk = $this->getIDK(); |
264 | - return $idk ? $idk === 100 : null; |
|
264 | + return $idk ? $idk===100 : null; |
|
265 | 265 | } |
266 | 266 | |
267 | 267 | /** |
@@ -277,14 +277,14 @@ discard block |
||
277 | 277 | } |
278 | 278 | $fecha_autorizacion = $this->getFechaAutorizacion(); |
279 | 279 | $hoy = date('Y-m-d'); |
280 | - if ($fecha_autorizacion < '2018-07-01' and $hoy > '2018-12-31') { |
|
280 | + if ($fecha_autorizacion<'2018-07-01' and $hoy>'2018-12-31') { |
|
281 | 281 | return false; |
282 | 282 | } |
283 | - $vigencia = $fecha_autorizacion >= '2018-07-01' ? 6 : 18; |
|
283 | + $vigencia = $fecha_autorizacion>='2018-07-01' ? 6 : 18; |
|
284 | 284 | $d1 = new \DateTime($fecha_autorizacion); |
285 | 285 | $d2 = new \DateTime($hoy); |
286 | - $meses = $d1->diff($d2)->m + ($d1->diff($d2)->y*12); |
|
287 | - return $meses <= $vigencia; |
|
286 | + $meses = $d1->diff($d2)->m+($d1->diff($d2)->y * 12); |
|
287 | + return $meses<=$vigencia; |
|
288 | 288 | } |
289 | 289 | |
290 | 290 | /** |
@@ -184,11 +184,11 @@ discard block |
||
184 | 184 | { |
185 | 185 | // definir datos que se usarán en el envío |
186 | 186 | list($rutCompany, $dvCompany) = explode('-', str_replace('.', '', $empresa)); |
187 | - if (strpos($dte, '<?xml') === false) { |
|
188 | - $dte = '<?xml version="1.0" encoding="ISO-8859-1"?>' . "\n" . $dte; |
|
187 | + if (strpos($dte, '<?xml')===false) { |
|
188 | + $dte = '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n".$dte; |
|
189 | 189 | } |
190 | 190 | do { |
191 | - $file = sys_get_temp_dir() . '/aec_' . md5(microtime() . $token . $dte) . '.xml'; |
|
191 | + $file = sys_get_temp_dir().'/aec_'.md5(microtime().$token.$dte).'.xml'; |
|
192 | 192 | } while (file_exists($file)); |
193 | 193 | file_put_contents($file, $dte); |
194 | 194 | $data = [ |
@@ -228,17 +228,17 @@ discard block |
||
228 | 228 | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); |
229 | 229 | } |
230 | 230 | // enviar XML al SII |
231 | - for ($i = 0; $i < $retry; $i++) { |
|
231 | + for ($i = 0; $i<$retry; $i++) { |
|
232 | 232 | $response = curl_exec($curl); |
233 | - if ($response and $response != 'Error 500') |
|
233 | + if ($response and $response!='Error 500') |
|
234 | 234 | break; |
235 | 235 | } |
236 | 236 | unlink($file); |
237 | 237 | // verificar respuesta del envío y entregar error en caso que haya uno |
238 | - if (!$response or $response == 'Error 500') { |
|
238 | + if (!$response or $response=='Error 500') { |
|
239 | 239 | if (!$response) |
240 | 240 | \sasco\LibreDTE\Log::write(\sasco\LibreDTE\Estado::ENVIO_ERROR_CURL, \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::ENVIO_ERROR_CURL, curl_error($curl))); |
241 | - if ($response == 'Error 500') |
|
241 | + if ($response=='Error 500') |
|
242 | 242 | \sasco\LibreDTE\Log::write(\sasco\LibreDTE\Estado::ENVIO_ERROR_500, \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::ENVIO_ERROR_500)); |
243 | 243 | return false; |
244 | 244 | } |
@@ -270,7 +270,7 @@ discard block |
||
270 | 270 | 9 => 'Error Interno', |
271 | 271 | 10 => 'Error Interno' |
272 | 272 | ]; |
273 | - if ($xml->STATUS != 0) { |
|
273 | + if ($xml->STATUS!=0) { |
|
274 | 274 | \sasco\LibreDTE\Log::write( |
275 | 275 | $xml->STATUS, |
276 | 276 | $error[(int)$xml->STATUS] |
@@ -87,10 +87,12 @@ discard block |
||
87 | 87 | */ |
88 | 88 | public function generar() |
89 | 89 | { |
90 | - if (!isset($this->cedido) or !isset($this->cesiones[0])) |
|
91 | - return false; |
|
92 | - if (!isset($this->caratula)) |
|
93 | - $this->setCaratula(); |
|
90 | + if (!isset($this->cedido) or !isset($this->cesiones[0])) { |
|
91 | + return false; |
|
92 | + } |
|
93 | + if (!isset($this->caratula)) { |
|
94 | + $this->setCaratula(); |
|
95 | + } |
|
94 | 96 | // genear XML del envío |
95 | 97 | $xmlEnvio = (new \sasco\LibreDTE\XML())->generate([ |
96 | 98 | 'AEC' => [ |
@@ -137,8 +139,9 @@ discard block |
||
137 | 139 | public function enviar($retry = null, $gzip = false) |
138 | 140 | { |
139 | 141 | // generar XML que se enviará |
140 | - if (!$this->xml_data) |
|
141 | - $this->xml_data = $this->generar(); |
|
142 | + if (!$this->xml_data) { |
|
143 | + $this->xml_data = $this->generar(); |
|
144 | + } |
|
142 | 145 | if (!$this->xml_data) { |
143 | 146 | \sasco\LibreDTE\Log::write( |
144 | 147 | \sasco\LibreDTE\Estado::DOCUMENTO_ERROR_GENERAR_XML, |
@@ -150,20 +153,24 @@ discard block |
||
150 | 153 | return false; |
151 | 154 | } |
152 | 155 | // validar schema del documento antes de enviar |
153 | - if (!$this->schemaValidate()) |
|
154 | - return false; |
|
156 | + if (!$this->schemaValidate()) { |
|
157 | + return false; |
|
158 | + } |
|
155 | 159 | // solicitar token |
156 | 160 | $token = \sasco\LibreDTE\Sii\Autenticacion::getToken($this->Firma); |
157 | - if (!$token) |
|
158 | - return false; |
|
161 | + if (!$token) { |
|
162 | + return false; |
|
163 | + } |
|
159 | 164 | // enviar AEC |
160 | 165 | $email = $this->caratula['MailContacto']; |
161 | 166 | $emisor = $this->caratula['RutCedente']; |
162 | 167 | $result = $this->enviarRTC($email, $emisor, $this->xml_data, $token, 10); |
163 | - if ($result===false) |
|
164 | - return false; |
|
165 | - if (!is_numeric((string)$result->TRACKID)) |
|
166 | - return false; |
|
168 | + if ($result===false) { |
|
169 | + return false; |
|
170 | + } |
|
171 | + if (!is_numeric((string)$result->TRACKID)) { |
|
172 | + return false; |
|
173 | + } |
|
167 | 174 | return (int)(string)$result->TRACKID; |
168 | 175 | } |
169 | 176 | |
@@ -230,16 +237,19 @@ discard block |
||
230 | 237 | // enviar XML al SII |
231 | 238 | for ($i = 0; $i < $retry; $i++) { |
232 | 239 | $response = curl_exec($curl); |
233 | - if ($response and $response != 'Error 500') |
|
234 | - break; |
|
240 | + if ($response and $response != 'Error 500') { |
|
241 | + break; |
|
242 | + } |
|
235 | 243 | } |
236 | 244 | unlink($file); |
237 | 245 | // verificar respuesta del envío y entregar error en caso que haya uno |
238 | 246 | if (!$response or $response == 'Error 500') { |
239 | - if (!$response) |
|
240 | - \sasco\LibreDTE\Log::write(\sasco\LibreDTE\Estado::ENVIO_ERROR_CURL, \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::ENVIO_ERROR_CURL, curl_error($curl))); |
|
241 | - if ($response == 'Error 500') |
|
242 | - \sasco\LibreDTE\Log::write(\sasco\LibreDTE\Estado::ENVIO_ERROR_500, \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::ENVIO_ERROR_500)); |
|
247 | + if (!$response) { |
|
248 | + \sasco\LibreDTE\Log::write(\sasco\LibreDTE\Estado::ENVIO_ERROR_CURL, \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::ENVIO_ERROR_CURL, curl_error($curl))); |
|
249 | + } |
|
250 | + if ($response == 'Error 500') { |
|
251 | + \sasco\LibreDTE\Log::write(\sasco\LibreDTE\Estado::ENVIO_ERROR_500, \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::ENVIO_ERROR_500)); |
|
252 | + } |
|
243 | 253 | return false; |
244 | 254 | } |
245 | 255 | // cerrar sesión curl |
@@ -102,13 +102,16 @@ discard block |
||
102 | 102 | $this->Line(0, $this->getY()-1, 290, $this->getY()-2, $style); |
103 | 103 | $this->SetFont('', 'B', 6); |
104 | 104 | if (empty($this->papelContinuo)) { |
105 | - if (!empty($this->footer['left'])) |
|
106 | - $this->Texto($this->footer['left']); |
|
107 | - if (!empty($this->footer['right'])) |
|
108 | - $this->Texto($this->footer['right'], null, null, 'R'); |
|
105 | + if (!empty($this->footer['left'])) { |
|
106 | + $this->Texto($this->footer['left']); |
|
107 | + } |
|
108 | + if (!empty($this->footer['right'])) { |
|
109 | + $this->Texto($this->footer['right'], null, null, 'R'); |
|
110 | + } |
|
109 | 111 | } else { |
110 | - if (!empty($this->footer['left'])) |
|
111 | - $this->Texto($this->footer['left'], null, null, 'C'); |
|
112 | + if (!empty($this->footer['left'])) { |
|
113 | + $this->Texto($this->footer['left'], null, null, 'C'); |
|
114 | + } |
|
112 | 115 | if (!empty($this->footer['right'])) { |
113 | 116 | $this->Ln(); |
114 | 117 | $this->Texto($this->footer['right'], null, null, 'C'); |
@@ -134,8 +137,9 @@ discard block |
||
134 | 137 | ]; |
135 | 138 | } |
136 | 139 | // si no es arreglo se convierte en uno |
137 | - if (!is_array($footer)) |
|
138 | - $footer = ['left'=>$footer]; |
|
140 | + if (!is_array($footer)) { |
|
141 | + $footer = ['left'=>$footer]; |
|
142 | + } |
|
139 | 143 | // asignar footer |
140 | 144 | $this->footer = array_merge(['left'=>'', 'right'=>''], $footer); |
141 | 145 | } else { |
@@ -156,8 +160,7 @@ discard block |
||
156 | 160 | for ($i=0; $i<$cells; ++$i) { |
157 | 161 | $widths[] = $width; |
158 | 162 | } |
159 | - } |
|
160 | - else if (is_array($cells)){ |
|
163 | + } else if (is_array($cells)){ |
|
161 | 164 | $width = floor($total/count($cells)); |
162 | 165 | foreach ($cells as $i) { |
163 | 166 | $widths[$i] = $width; |
@@ -178,8 +181,9 @@ discard block |
||
178 | 181 | foreach ($data as $row) { |
179 | 182 | foreach ($row as $col => $value) { |
180 | 183 | if (empty($value)) { |
181 | - if (!array_key_exists($col, $cols_empty)) |
|
182 | - $cols_empty[$col] = 0; |
|
184 | + if (!array_key_exists($col, $cols_empty)) { |
|
185 | + $cols_empty[$col] = 0; |
|
186 | + } |
|
183 | 187 | $cols_empty[$col]++; |
184 | 188 | } |
185 | 189 | } |
@@ -192,10 +196,12 @@ discard block |
||
192 | 196 | foreach ($data as &$row) { |
193 | 197 | unset($row[$col]); |
194 | 198 | } |
195 | - if (isset($options['width'])) |
|
196 | - unset($options['width'][$titles_keys[$col]]); |
|
197 | - if (isset($options['align'])) |
|
198 | - unset($options['align'][$titles_keys[$col]]); |
|
199 | + if (isset($options['width'])) { |
|
200 | + unset($options['width'][$titles_keys[$col]]); |
|
201 | + } |
|
202 | + if (isset($options['align'])) { |
|
203 | + unset($options['align'][$titles_keys[$col]]); |
|
204 | + } |
|
199 | 205 | } |
200 | 206 | } |
201 | 207 | if (isset($options['width'])) { |
@@ -203,16 +209,18 @@ discard block |
||
203 | 209 | $key_0 = null; |
204 | 210 | $suma = 0; |
205 | 211 | foreach ($options['width'] as $key => $val) { |
206 | - if ($val===0) |
|
207 | - $key_0 = $key; |
|
212 | + if ($val===0) { |
|
213 | + $key_0 = $key; |
|
214 | + } |
|
208 | 215 | $suma += $val; |
209 | 216 | } |
210 | 217 | if ($key_0!==null) { |
211 | 218 | $options['width'][$key_0] = 190 - $suma; |
212 | 219 | } |
213 | 220 | } |
214 | - if (isset($options['align'])) |
|
215 | - $options['align'] = array_slice($options['align'], 0); |
|
221 | + if (isset($options['align'])) { |
|
222 | + $options['align'] = array_slice($options['align'], 0); |
|
223 | + } |
|
216 | 224 | $this->addTable($titles, $data, $options, $html); |
217 | 225 | } |
218 | 226 | |
@@ -440,8 +448,12 @@ discard block |
||
440 | 448 | */ |
441 | 449 | public function Texto($txt, $x=null, $y=null, $align='', $w=0, $link='', $border=0, $fill=false) |
442 | 450 | { |
443 | - if ($x==null) $x = $this->GetX(); |
|
444 | - if ($y==null) $y = $this->GetY(); |
|
451 | + if ($x==null) { |
|
452 | + $x = $this->GetX(); |
|
453 | + } |
|
454 | + if ($y==null) { |
|
455 | + $y = $this->GetY(); |
|
456 | + } |
|
445 | 457 | $textrendermode = $this->textrendermode; |
446 | 458 | $textstrokewidth = $this->textstrokewidth; |
447 | 459 | $this->setTextRenderingMode(0, true, false); |
@@ -461,8 +473,12 @@ discard block |
||
461 | 473 | */ |
462 | 474 | public function MultiTexto($txt, $x=null, $y=null, $align='', $w=0, $border=0, $fill=false) |
463 | 475 | { |
464 | - if ($x==null) $x = $this->GetX(); |
|
465 | - if ($y==null) $y = $this->GetY(); |
|
476 | + if ($x==null) { |
|
477 | + $x = $this->GetX(); |
|
478 | + } |
|
479 | + if ($y==null) { |
|
480 | + $y = $this->GetY(); |
|
481 | + } |
|
466 | 482 | $textrendermode = $this->textrendermode; |
467 | 483 | $textstrokewidth = $this->textstrokewidth; |
468 | 484 | $this->setTextRenderingMode(0, true, false); |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | namespace sasco\LibreDTE; |
25 | 25 | |
26 | 26 | // Directorio para imágenes (no se asume nada) |
27 | -define ('K_PATH_IMAGES', ''); |
|
27 | +define('K_PATH_IMAGES', ''); |
|
28 | 28 | |
29 | 29 | /** |
30 | 30 | * Clase para generar PDFs |
@@ -152,13 +152,13 @@ discard block |
||
152 | 152 | { |
153 | 153 | $widths = []; |
154 | 154 | if (is_int($cells)) { |
155 | - $width = floor($total/$cells); |
|
156 | - for ($i=0; $i<$cells; ++$i) { |
|
155 | + $width = floor($total / $cells); |
|
156 | + for ($i = 0; $i<$cells; ++$i) { |
|
157 | 157 | $widths[] = $width; |
158 | 158 | } |
159 | 159 | } |
160 | - else if (is_array($cells)){ |
|
161 | - $width = floor($total/count($cells)); |
|
160 | + else if (is_array($cells)) { |
|
161 | + $width = floor($total / count($cells)); |
|
162 | 162 | foreach ($cells as $i) { |
163 | 163 | $widths[$i] = $width; |
164 | 164 | } |
@@ -208,7 +208,7 @@ discard block |
||
208 | 208 | $suma += $val; |
209 | 209 | } |
210 | 210 | if ($key_0!==null) { |
211 | - $options['width'][$key_0] = 190 - $suma; |
|
211 | + $options['width'][$key_0] = 190-$suma; |
|
212 | 212 | } |
213 | 213 | } |
214 | 214 | if (isset($options['align'])) |
@@ -243,7 +243,7 @@ discard block |
||
243 | 243 | $a = (isset($options['align']) and is_array($options['align'])) ? $options['align'] : []; |
244 | 244 | $buffer = '<table style="border:1px solid #333;'.$width_table.'">'; |
245 | 245 | // Definir títulos de columnas |
246 | - $thead = isset($options['width']) and is_array($options['width']) and count($options['width']) == count($headers); |
|
246 | + $thead = isset($options['width']) and is_array($options['width']) and count($options['width'])==count($headers); |
|
247 | 247 | if ($thead) { |
248 | 248 | $buffer .= '<thead>'; |
249 | 249 | } |
@@ -307,7 +307,7 @@ discard block |
||
307 | 307 | $options['bordercolor'][2] |
308 | 308 | ); |
309 | 309 | $this->SetLineWidth($options['borderwidth']); |
310 | - $this->SetFont($this->defaultOptions['font']['family'], 'B', $options['fontsize']); |
|
310 | + $this->SetFont($this->defaultOptions['font']['family'], 'B', $options['fontsize']); |
|
311 | 311 | // corregir indices |
312 | 312 | $headers_keys = array_keys($headers); |
313 | 313 | if (is_array($options['width'])) { |
@@ -329,13 +329,13 @@ discard block |
||
329 | 329 | } |
330 | 330 | // Header |
331 | 331 | $x = $this->GetX(); |
332 | - foreach($headers as $i => $header) { |
|
332 | + foreach ($headers as $i => $header) { |
|
333 | 333 | $this->Cell($options['width'][$i], $options['height'], $headers[$i], 1, 0, $options['align'][$i], 1); |
334 | 334 | } |
335 | 335 | $this->Ln(); |
336 | 336 | $y = $this->GetY(); |
337 | 337 | // Color and font restoration |
338 | - $this->SetFillColor ( |
|
338 | + $this->SetFillColor( |
|
339 | 339 | $options['bodybackground'][0], |
340 | 340 | $options['bodybackground'][1], |
341 | 341 | $options['bodybackground'][2] |
@@ -360,7 +360,7 @@ discard block |
||
360 | 360 | $this->SetX($x); |
361 | 361 | $y_0 = $this->GetY(); |
362 | 362 | $y_s = []; |
363 | - foreach($headers as $i => $header) { |
|
363 | + foreach ($headers as $i => $header) { |
|
364 | 364 | $x_0 = $this->GetX(); |
365 | 365 | $this->SetXY($x_0, $y_0); |
366 | 366 | $aux = explode("\n", $row[$i]); |
@@ -370,28 +370,28 @@ discard block |
||
370 | 370 | if ($value2) { |
371 | 371 | $this->Ln(); |
372 | 372 | $this->SetX($x_0); |
373 | - $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']-2); |
|
373 | + $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']-2); |
|
374 | 374 | $y_2 = $this->MultiCell($options['width'][$i], $options['height'], $value2, $options['tdborder'], $options['align'][$i], false, 0); |
375 | - $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']); |
|
376 | - $y_s[] = $y_1 + $y_2*0.9; |
|
375 | + $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']); |
|
376 | + $y_s[] = $y_1+$y_2 * 0.9; |
|
377 | 377 | } else { |
378 | 378 | $y_s[] = $y_1; |
379 | 379 | } |
380 | 380 | } |
381 | - $this->Ln(max($y_s)*5); |
|
381 | + $this->Ln(max($y_s) * 5); |
|
382 | 382 | // si se pasó a página siguiente se hace rollback y se crea nueva página con cabecera nuevamente en la tabla |
383 | - if($num_pages < $this->getNumPages()) { |
|
383 | + if ($num_pages<$this->getNumPages()) { |
|
384 | 384 | $this->rollbackTransaction(true); |
385 | 385 | $this->AddPage(); |
386 | 386 | $this->SetX($x); |
387 | - foreach($headers as $i => $header) { |
|
387 | + foreach ($headers as $i => $header) { |
|
388 | 388 | $this->Cell($options['width'][$i], $options['height'], $headers[$i], 1, 0, $options['align'][$i], 1); |
389 | 389 | } |
390 | 390 | $this->Ln(); |
391 | 391 | $this->SetX($x); |
392 | 392 | $y_0 = $this->GetY(); |
393 | 393 | $y_s = []; |
394 | - foreach($headers as $i => $header) { |
|
394 | + foreach ($headers as $i => $header) { |
|
395 | 395 | $x_0 = $this->GetX(); |
396 | 396 | $this->SetXY($x_0, $y_0); |
397 | 397 | $aux = explode("\n", $row[$i]); |
@@ -401,15 +401,15 @@ discard block |
||
401 | 401 | if ($value2) { |
402 | 402 | $this->Ln(); |
403 | 403 | $this->SetX($x_0); |
404 | - $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']-2); |
|
404 | + $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']-2); |
|
405 | 405 | $y_2 = $this->MultiCell($options['width'][$i], $options['height'], $value2, $options['tdborder'], $options['align'][$i], false, 0); |
406 | - $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']); |
|
407 | - $y_s[] = $y_1 + $y_2*0.9; |
|
406 | + $this->SetFont($this->defaultOptions['font']['family'], '', $options['fontsize']); |
|
407 | + $y_s[] = $y_1+$y_2 * 0.9; |
|
408 | 408 | } else { |
409 | 409 | $y_s[] = $y_1; |
410 | 410 | } |
411 | 411 | } |
412 | - $this->Ln(max($y_s)*5); |
|
412 | + $this->Ln(max($y_s) * 5); |
|
413 | 413 | } else { |
414 | 414 | $this->commitTransaction(); |
415 | 415 | } |
@@ -438,7 +438,7 @@ discard block |
||
438 | 438 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]delaf.cl) |
439 | 439 | * @version 2014-09-20 |
440 | 440 | */ |
441 | - public function Texto($txt, $x=null, $y=null, $align='', $w=0, $link='', $border=0, $fill=false) |
|
441 | + public function Texto($txt, $x = null, $y = null, $align = '', $w = 0, $link = '', $border = 0, $fill = false) |
|
442 | 442 | { |
443 | 443 | if ($x==null) $x = $this->GetX(); |
444 | 444 | if ($y==null) $y = $this->GetY(); |
@@ -459,7 +459,7 @@ discard block |
||
459 | 459 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]delaf.cl) |
460 | 460 | * @version 2014-09-20 |
461 | 461 | */ |
462 | - public function MultiTexto($txt, $x=null, $y=null, $align='', $w=0, $border=0, $fill=false) |
|
462 | + public function MultiTexto($txt, $x = null, $y = null, $align = '', $w = 0, $border = 0, $fill = false) |
|
463 | 463 | { |
464 | 464 | if ($x==null) $x = $this->GetX(); |
465 | 465 | if ($y==null) $y = $this->GetY(); |
@@ -536,7 +536,7 @@ discard block |
||
536 | 536 | \sasco\LibreDTE\Log::write(Estado::REQUEST_ERROR_SOAP, Estado::get(Estado::REQUEST_ERROR_SOAP, $msg)); |
537 | 537 | return false; |
538 | 538 | } |
539 | - for ($i=0; $i<$retry; $i++) { |
|
539 | + for ($i = 0; $i<$retry; $i++) { |
|
540 | 540 | try { |
541 | 541 | if ($args) { |
542 | 542 | $body = call_user_func_array([$soap, $request], $args); |
@@ -605,7 +605,7 @@ discard block |
||
605 | 605 | $dte = '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n".$dte; |
606 | 606 | } |
607 | 607 | do { |
608 | - $file = sys_get_temp_dir().'/dte_'.md5(microtime().$token.$dte).'.'.($gzip?'gz':'xml'); |
|
608 | + $file = sys_get_temp_dir().'/dte_'.md5(microtime().$token.$dte).'.'.($gzip ? 'gz' : 'xml'); |
|
609 | 609 | } while (file_exists($file)); |
610 | 610 | if ($gzip) { |
611 | 611 | $dte = gzencode($dte); |
@@ -654,7 +654,7 @@ discard block |
||
654 | 654 | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); |
655 | 655 | } |
656 | 656 | // enviar XML al SII |
657 | - for ($i=0; $i<$retry; $i++) { |
|
657 | + for ($i = 0; $i<$retry; $i++) { |
|
658 | 658 | $response = curl_exec($curl); |
659 | 659 | if ($response and $response!='Error 500') { |
660 | 660 | break; |
@@ -683,7 +683,7 @@ discard block |
||
683 | 683 | if ($xml->STATUS!=0) { |
684 | 684 | \sasco\LibreDTE\Log::write( |
685 | 685 | $xml->STATUS, |
686 | - Estado::get($xml->STATUS).(isset($xml->DETAIL)?'. '.implode("\n", (array)$xml->DETAIL->ERROR):'') |
|
686 | + Estado::get($xml->STATUS).(isset($xml->DETAIL) ? '. '.implode("\n", (array)$xml->DETAIL->ERROR) : '') |
|
687 | 687 | ); |
688 | 688 | } |
689 | 689 | return $xml; |
@@ -476,8 +476,9 @@ discard block |
||
476 | 476 | // entregar WSDL local (modificados para ambiente de certificación) |
477 | 477 | if ($ambiente==self::CERTIFICACION) { |
478 | 478 | $wsdl = dirname(dirname(__FILE__)).'/wsdl/'.self::$config['servidor'][$ambiente].'/'.$servicio.'.jws'; |
479 | - if (is_readable($wsdl)) |
|
480 | - return $wsdl; |
|
479 | + if (is_readable($wsdl)) { |
|
480 | + return $wsdl; |
|
481 | + } |
|
481 | 482 | } |
482 | 483 | // entregar WSDL oficial desde SII |
483 | 484 | $location = isset(self::$config['wsdl'][$servicio]) ? self::$config['wsdl'][$servicio] : self::$config['wsdl']['*']; |
@@ -748,10 +749,11 @@ discard block |
||
748 | 749 | public static function getAmbiente($ambiente = null) |
749 | 750 | { |
750 | 751 | if ($ambiente===null) { |
751 | - if (defined('_LibreDTE_CERTIFICACION_')) |
|
752 | - $ambiente = (int)_LibreDTE_CERTIFICACION_; |
|
753 | - else |
|
754 | - $ambiente = self::$ambiente; |
|
752 | + if (defined('_LibreDTE_CERTIFICACION_')) { |
|
753 | + $ambiente = (int)_LibreDTE_CERTIFICACION_; |
|
754 | + } else { |
|
755 | + $ambiente = self::$ambiente; |
|
756 | + } |
|
755 | 757 | } |
756 | 758 | return $ambiente; |
757 | 759 | } |
@@ -135,8 +135,9 @@ discard block |
||
135 | 135 | public function generar() |
136 | 136 | { |
137 | 137 | // si ya se había generado se entrega directamente |
138 | - if ($this->xml_data) |
|
139 | - return $this->xml_data; |
|
138 | + if ($this->xml_data) { |
|
139 | + return $this->xml_data; |
|
140 | + } |
|
140 | 141 | // si no hay DTEs para generar entregar falso |
141 | 142 | if (!isset($this->dtes[0])) { |
142 | 143 | \sasco\LibreDTE\Log::write( |
@@ -185,8 +186,9 @@ discard block |
||
185 | 186 | $SubTotDTE = []; |
186 | 187 | $subtotales = []; |
187 | 188 | foreach ($this->dtes as &$DTE) { |
188 | - if (!isset($subtotales[$DTE->getTipo()])) |
|
189 | - $subtotales[$DTE->getTipo()] = 0; |
|
189 | + if (!isset($subtotales[$DTE->getTipo()])) { |
|
190 | + $subtotales[$DTE->getTipo()] = 0; |
|
191 | + } |
|
190 | 192 | $subtotales[$DTE->getTipo()]++; |
191 | 193 | } |
192 | 194 | foreach ($subtotales as $tipo => $subtotal) { |
@@ -301,8 +303,9 @@ discard block |
||
301 | 303 | { |
302 | 304 | $fecha = '9999-12-31'; |
303 | 305 | foreach ($this->getDocumentos() as $Dte) { |
304 | - if ($Dte->getFechaEmision() < $fecha) |
|
305 | - $fecha = $Dte->getFechaEmision(); |
|
306 | + if ($Dte->getFechaEmision() < $fecha) { |
|
307 | + $fecha = $Dte->getFechaEmision(); |
|
308 | + } |
|
306 | 309 | } |
307 | 310 | return $fecha; |
308 | 311 | } |
@@ -316,8 +319,9 @@ discard block |
||
316 | 319 | { |
317 | 320 | $fecha = '0000-01-01'; |
318 | 321 | foreach ($this->getDocumentos() as $Dte) { |
319 | - if ($Dte->getFechaEmision() > $fecha) |
|
320 | - $fecha = $Dte->getFechaEmision(); |
|
322 | + if ($Dte->getFechaEmision() > $fecha) { |
|
323 | + $fecha = $Dte->getFechaEmision(); |
|
324 | + } |
|
321 | 325 | } |
322 | 326 | return $fecha; |
323 | 327 | } |
@@ -371,8 +375,9 @@ discard block |
||
371 | 375 | $DTEs = $this->xml->getElementsByTagName('DTE'); |
372 | 376 | foreach ($DTEs as $nodo_dte) { |
373 | 377 | $e = $nodo_dte->getElementsByTagName('RUTEmisor')->item(0)->nodeValue; |
374 | - if (is_numeric($emisor)) |
|
375 | - $e = substr($e, 0, -2); |
|
378 | + if (is_numeric($emisor)) { |
|
379 | + $e = substr($e, 0, -2); |
|
380 | + } |
|
376 | 381 | $d = (int)$nodo_dte->getElementsByTagName('TipoDTE')->item(0)->nodeValue; |
377 | 382 | $f = (int)$nodo_dte->getElementsByTagName('Folio')->item(0)->nodeValue; |
378 | 383 | if ($folio == $f and $dte == $d and $emisor == $e) { |
@@ -32,7 +32,7 @@ discard block |
||
32 | 32 | { |
33 | 33 | |
34 | 34 | private $dtes = []; ///< Objetos con los DTE que se enviarán |
35 | - private $config = [ // 0: DTE, 1: boleta |
|
35 | + private $config = [// 0: DTE, 1: boleta |
|
36 | 36 | 'SubTotDTE_max' => [20, 2], ///< máxima cantidad de tipos de documentos en el envío |
37 | 37 | 'DTE_max' => [2000, 1000], ///< máxima cantidad de DTE en un envío |
38 | 38 | 'tipos' => ['EnvioDTE', 'EnvioBOLETA'], ///< Tag para el envío, según si son Boletas o no |
@@ -50,11 +50,11 @@ discard block |
||
50 | 50 | public function agregar(Dte $DTE) |
51 | 51 | { |
52 | 52 | // determinar el tipo del envío (DTE o boleta) |
53 | - if ($this->tipo === null) { |
|
53 | + if ($this->tipo===null) { |
|
54 | 54 | $this->tipo = (int)$DTE->esBoleta(); |
55 | 55 | } |
56 | 56 | // validar que el tipo de documento sea del tipo que se espera |
57 | - else if ((int)$DTE->esBoleta() != $this->tipo) { |
|
57 | + else if ((int)$DTE->esBoleta()!=$this->tipo) { |
|
58 | 58 | return false; |
59 | 59 | } |
60 | 60 | // |
@@ -239,7 +239,7 @@ discard block |
||
239 | 239 | 'RutEnvia' => $Dte->getEmisor(), |
240 | 240 | 'RutReceptor' => $Dte->getReceptor(), |
241 | 241 | 'FchResol' => date('Y-m-d'), |
242 | - 'NroResol' => ($Dte->getCertificacion()?'0':'').'9999', |
|
242 | + 'NroResol' => ($Dte->getCertificacion() ? '0' : '').'9999', |
|
243 | 243 | ]); |
244 | 244 | // cargar nuevo XML con datos completos |
245 | 245 | if (!parent::loadXML($this->generar())) { |
@@ -320,7 +320,7 @@ discard block |
||
320 | 320 | { |
321 | 321 | $fecha = '9999-12-31'; |
322 | 322 | foreach ($this->getDocumentos() as $Dte) { |
323 | - if ($Dte->getFechaEmision() < $fecha) |
|
323 | + if ($Dte->getFechaEmision()<$fecha) |
|
324 | 324 | $fecha = $Dte->getFechaEmision(); |
325 | 325 | } |
326 | 326 | return $fecha; |
@@ -335,7 +335,7 @@ discard block |
||
335 | 335 | { |
336 | 336 | $fecha = '0000-01-01'; |
337 | 337 | foreach ($this->getDocumentos() as $Dte) { |
338 | - if ($Dte->getFechaEmision() > $fecha) |
|
338 | + if ($Dte->getFechaEmision()>$fecha) |
|
339 | 339 | $fecha = $Dte->getFechaEmision(); |
340 | 340 | } |
341 | 341 | return $fecha; |
@@ -394,7 +394,7 @@ discard block |
||
394 | 394 | $e = substr($e, 0, -2); |
395 | 395 | $d = (int)$nodo_dte->getElementsByTagName('TipoDTE')->item(0)->nodeValue; |
396 | 396 | $f = (int)$nodo_dte->getElementsByTagName('Folio')->item(0)->nodeValue; |
397 | - if ($folio == $f and $dte == $d and $emisor == $e) { |
|
397 | + if ($folio==$f and $dte==$d and $emisor==$e) { |
|
398 | 398 | return new Dte($nodo_dte->C14N(), false); // cargar DTE sin normalizar |
399 | 399 | } |
400 | 400 | } |
@@ -452,7 +452,7 @@ discard block |
||
452 | 452 | $SignatureValue = trim(str_replace(["\n", ' ', "\t"], '', $Signatures->item($Signatures->length-1)->getElementsByTagName('SignatureValue')->item(0)->nodeValue)); |
453 | 453 | $X509Certificate = trim(str_replace(["\n", ' ', "\t"], '', $Signatures->item($Signatures->length-1)->getElementsByTagName('X509Certificate')->item(0)->nodeValue)); |
454 | 454 | $X509Certificate = '-----BEGIN CERTIFICATE-----'."\n".wordwrap($X509Certificate, 64, "\n", true)."\n".'-----END CERTIFICATE-----'; |
455 | - $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate) === 1 ? true : false; |
|
455 | + $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate)===1 ? true : false; |
|
456 | 456 | return $valid and $DigestValue===base64_encode(sha1($SetDTE, true)); |
457 | 457 | } |
458 | 458 |
@@ -197,7 +197,7 @@ discard block |
||
197 | 197 | */ |
198 | 198 | private function utf2iso($string) |
199 | 199 | { |
200 | - return mb_detect_encoding($string, ['UTF-8', 'ISO-8859-1']) != 'ISO-8859-1' ? utf8_decode($string) : $string; |
|
200 | + return mb_detect_encoding($string, ['UTF-8', 'ISO-8859-1'])!='ISO-8859-1' ? utf8_decode($string) : $string; |
|
201 | 201 | } |
202 | 202 | |
203 | 203 | /** |
@@ -240,7 +240,7 @@ discard block |
||
240 | 240 | } |
241 | 241 | // si existen nodos hijos se agregan |
242 | 242 | if ($dom->hasChildNodes()) { |
243 | - foreach($dom->childNodes as $child) { |
|
243 | + foreach ($dom->childNodes as $child) { |
|
244 | 244 | if ($child instanceof \DOMText) { |
245 | 245 | $textContent = trim($child->textContent); |
246 | 246 | if ($textContent!="") { |
@@ -372,7 +372,7 @@ discard block |
||
372 | 372 | $newXML = ''; |
373 | 373 | $n_letras = strlen($xml); |
374 | 374 | $convertir = false; |
375 | - for ($i=0; $i<$n_letras; ++$i) { |
|
375 | + for ($i = 0; $i<$n_letras; ++$i) { |
|
376 | 376 | if ($xml[$i]=='>') |
377 | 377 | $convertir = true; |
378 | 378 | if ($xml[$i]=='<') |
@@ -120,8 +120,9 @@ discard block |
||
120 | 120 | private function sanitize($txt) |
121 | 121 | { |
122 | 122 | // si no se paso un texto o bien es un número no se hace nada |
123 | - if (!$txt or is_numeric($txt)) |
|
124 | - return $txt; |
|
123 | + if (!$txt or is_numeric($txt)) { |
|
124 | + return $txt; |
|
125 | + } |
|
125 | 126 | // convertir "predefined entities" de XML |
126 | 127 | $txt = str_replace( |
127 | 128 | ['&', '&', '<', '<', '>', '>', '"', '"', ''', '''], |
@@ -174,8 +175,9 @@ discard block |
||
174 | 175 | { |
175 | 176 | if ($xpath) { |
176 | 177 | $node = $this->xpath($xpath)->item(0); |
177 | - if (!$node) |
|
178 | - return false; |
|
178 | + if (!$node) { |
|
179 | + return false; |
|
180 | + } |
|
179 | 181 | $xml = $this->utf2iso($node->C14N()); |
180 | 182 | $xml = $this->fixEntities($xml); |
181 | 183 | } else { |
@@ -250,8 +252,7 @@ discard block |
||
250 | 252 | $array[$dom->tagName]['@value'] = $textContent; |
251 | 253 | } |
252 | 254 | } |
253 | - } |
|
254 | - else if ($child instanceof \DOMElement) { |
|
255 | + } else if ($child instanceof \DOMElement) { |
|
255 | 256 | $nodos_gemelos = $this->countTwins($dom, $child->tagName); |
256 | 257 | // agregar nodo hijo directamente, ya que es el único nodo hijo con el mismo nombre de tag |
257 | 258 | if ($nodos_gemelos==1) { |
@@ -307,8 +308,9 @@ discard block |
||
307 | 308 | public function getErrors() |
308 | 309 | { |
309 | 310 | $errors = []; |
310 | - foreach (libxml_get_errors() as $e) |
|
311 | - $errors[] = $e->message; |
|
311 | + foreach (libxml_get_errors() as $e) { |
|
312 | + $errors[] = $e->message; |
|
313 | + } |
|
312 | 314 | return $errors; |
313 | 315 | } |
314 | 316 | |
@@ -331,8 +333,9 @@ discard block |
||
331 | 333 | public function getSchema() |
332 | 334 | { |
333 | 335 | $schemaLocation = $this->documentElement->getAttribute('xsi:schemaLocation'); |
334 | - if (!$schemaLocation or strpos($schemaLocation, ' ')===false) |
|
335 | - return false; |
|
336 | + if (!$schemaLocation or strpos($schemaLocation, ' ')===false) { |
|
337 | + return false; |
|
338 | + } |
|
336 | 339 | list($uri, $xsd) = explode(' ', $schemaLocation); |
337 | 340 | return $xsd; |
338 | 341 | } |
@@ -373,10 +376,12 @@ discard block |
||
373 | 376 | $n_letras = strlen($xml); |
374 | 377 | $convertir = false; |
375 | 378 | for ($i=0; $i<$n_letras; ++$i) { |
376 | - if ($xml[$i]=='>') |
|
377 | - $convertir = true; |
|
378 | - if ($xml[$i]=='<') |
|
379 | - $convertir = false; |
|
379 | + if ($xml[$i]=='>') { |
|
380 | + $convertir = true; |
|
381 | + } |
|
382 | + if ($xml[$i]=='<') { |
|
383 | + $convertir = false; |
|
384 | + } |
|
380 | 385 | if ($convertir) { |
381 | 386 | $l = $xml[$i]=='\'' ? ''' : ($xml[$i]=='"' ? '"' : $xml[$i]); |
382 | 387 | } else { |
@@ -852,8 +852,7 @@ |
||
852 | 852 | $valor = $codigo['CantBultos'].' '.$valor; |
853 | 853 | if (!empty($codigo['IdContainer'])) { |
854 | 854 | $valor .= ' ('.$codigo['IdContainer'].' / '.$codigo['Sello'].' / '.$codigo['EmisorSello'].')'; |
855 | - } |
|
856 | - else if (!empty($codigo['Marcas'])) { |
|
855 | + } else if (!empty($codigo['Marcas'])) { |
|
857 | 856 | $valor .= ' ('.$codigo['Marcas'].')'; |
858 | 857 | } |
859 | 858 | } else { |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | { |
127 | 127 | $fecha = '9999-12-31'; |
128 | 128 | foreach ($this->detalles as &$d) { |
129 | - if ($d['FchDoc'] < $fecha) { |
|
129 | + if ($d['FchDoc']<$fecha) { |
|
130 | 130 | $fecha = $d['FchDoc']; |
131 | 131 | } |
132 | 132 | } |
@@ -143,7 +143,7 @@ discard block |
||
143 | 143 | { |
144 | 144 | $fecha = '0000-01-01'; |
145 | 145 | foreach ($this->detalles as &$d) { |
146 | - if ($d['FchDoc'] > $fecha) { |
|
146 | + if ($d['FchDoc']>$fecha) { |
|
147 | 147 | $fecha = $d['FchDoc']; |
148 | 148 | } |
149 | 149 | } |
@@ -202,7 +202,7 @@ discard block |
||
202 | 202 | // ajustes post agregar detalles |
203 | 203 | foreach ($Resumen as &$r) { |
204 | 204 | // obtener folios utilizados = emitidos + anulados |
205 | - $r['FoliosUtilizados'] = $r['FoliosEmitidos'] + $r['FoliosAnulados']; |
|
205 | + $r['FoliosUtilizados'] = $r['FoliosEmitidos']+$r['FoliosAnulados']; |
|
206 | 206 | $r['RangoUtilizados'] = $this->getRangos($RangoUtilizados[$r['TipoDocumento']]); |
207 | 207 | } |
208 | 208 | // completar con los resumenes que no se colocaron |
@@ -234,7 +234,7 @@ discard block |
||
234 | 234 | $aux = []; |
235 | 235 | $inicial = $folios[0]; |
236 | 236 | $i = $inicial; |
237 | - foreach($folios as $f) { |
|
237 | + foreach ($folios as $f) { |
|
238 | 238 | if ($i!=$f) { |
239 | 239 | $inicial = $f; |
240 | 240 | $i = $inicial; |