Completed
Push — master ( 5eed0e...1596ba )
by Esteban De La Fuente
39s
created
lib/Sii/Dte.php 2 patches
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
                 ]
146 146
             ]);
147 147
             $parent = $this->xml->getElementsByTagName($this->tipo_general)->item(0);
148
-            $this->xml->generate($datos + ['TED' => null], null, $parent);
148
+            $this->xml->generate($datos+['TED' => null], null, $parent);
149 149
             $this->datos = $datos;
150 150
             $this->verificar_datos();
151 151
             return $this->schemaValidate();
@@ -386,7 +386,7 @@  discard block
 block discarded – undo
386 386
         $xml->documentElement->removeAttributeNS('http://www.w3.org/2001/XMLSchema-instance', 'xsi');
387 387
         $xml->documentElement->removeAttributeNS('http://www.sii.cl/SiiDte', '');
388 388
         $TED = $xml->getFlattened('/');
389
-        return mb_detect_encoding($TED, ['UTF-8', 'ISO-8859-1']) != 'ISO-8859-1' ? utf8_decode($TED) : $TED;
389
+        return mb_detect_encoding($TED, ['UTF-8', 'ISO-8859-1'])!='ISO-8859-1' ? utf8_decode($TED) : $TED;
390 390
     }
391 391
 
392 392
     /**
@@ -399,7 +399,7 @@  discard block
 block discarded – undo
399 399
     {
400 400
         $datos = $this->getDatos();
401 401
         $idk = !empty($datos['TED']['DD']['CAF']['DA']['IDK']) ? (int)$datos['TED']['DD']['CAF']['DA']['IDK'] : null;
402
-        return $idk ? $idk === 100 : null;
402
+        return $idk ? $idk===100 : null;
403 403
     }
404 404
 
405 405
     /**
@@ -536,7 +536,7 @@  discard block
 block discarded – undo
536 536
     {
537 537
         $this->getDatos();
538 538
         // generar resumen
539
-        $resumen =  [
539
+        $resumen = [
540 540
             'TpoDoc' => (int)$this->datos['Encabezado']['IdDoc']['TipoDTE'],
541 541
             'NroDoc' => (int)$this->datos['Encabezado']['IdDoc']['Folio'],
542 542
             'TasaImp' => 0,
@@ -581,10 +581,10 @@  discard block
 block discarded – undo
581 581
      */
582 582
     private function calcularNetoIVA($total, $tasa = null)
583 583
     {
584
-        if ($tasa === 0 or $tasa === false) {
584
+        if ($tasa===0 or $tasa===false) {
585 585
             return [0, 0];
586 586
         }
587
-        if ($tasa === null) {
587
+        if ($tasa===null) {
588 588
             $tasa = \sasco\LibreDTE\Sii::getIVA();
589 589
         }
590 590
         // WARNING: el IVA obtenido puede no ser el NETO*(TASA/100)
@@ -592,8 +592,8 @@  discard block
 block discarded – undo
592 592
         // entre el total y el neto, ya que hay casos de borde como:
593 593
         //  - BRUTO:   680 => NETO:   571 e IVA:   108 => TOTAL:   679
594 594
         //  - BRUTO: 86710 => NETO: 72866 e IVA: 13845 => TOTAL: 86711
595
-        $neto = round($total / (1+($tasa/100)));
596
-        $iva = $total - $neto;
595
+        $neto = round($total / (1+($tasa / 100)));
596
+        $iva = $total-$neto;
597 597
         return [$neto, $iva];
598 598
     }
599 599
 
@@ -1420,12 +1420,12 @@  discard block
 block discarded – undo
1420 1420
                     );
1421 1421
                     // aplicar descuento
1422 1422
                     if ($d['DescuentoPct']) {
1423
-                        $d['DescuentoMonto'] = round($d['MontoItem'] * (float)$d['DescuentoPct']/100);
1423
+                        $d['DescuentoMonto'] = round($d['MontoItem'] * (float)$d['DescuentoPct'] / 100);
1424 1424
                     }
1425 1425
                     $d['MontoItem'] -= $d['DescuentoMonto'];
1426 1426
                     // aplicar recargo
1427 1427
                     if ($d['RecargoPct']) {
1428
-                        $d['RecargoMonto'] = round($d['MontoItem'] * (float)$d['RecargoPct']/100);
1428
+                        $d['RecargoMonto'] = round($d['MontoItem'] * (float)$d['RecargoPct'] / 100);
1429 1429
                     }
1430 1430
                     $d['MontoItem'] += $d['RecargoMonto'];
1431 1431
                     // aproximar monto del item
@@ -1511,7 +1511,7 @@  discard block
 block discarded – undo
1511 1511
                 }
1512 1512
                 $valor =
1513 1513
                     $dr['TpoValor']=='%'
1514
-                    ? $this->round(($dr['ValorDR']/100)*$datos['Encabezado']['Totales'][$monto], $datos['Encabezado']['Totales']['TpoMoneda'])
1514
+                    ? $this->round(($dr['ValorDR'] / 100) * $datos['Encabezado']['Totales'][$monto], $datos['Encabezado']['Totales']['TpoMoneda'])
1515 1515
                     : $dr['ValorDR']
1516 1516
                 ;
1517 1517
                 // aplicar descuento
@@ -1584,7 +1584,7 @@  discard block
 block discarded – undo
1584 1584
             // si el monto no existe se asigna
1585 1585
             if ($datos['Encabezado']['Totales']['ImptoReten'][$i]['MontoImp']===null) {
1586 1586
                 $datos['Encabezado']['Totales']['ImptoReten'][$i]['MontoImp'] = round(
1587
-                    $neto * $datos['Encabezado']['Totales']['ImptoReten'][$i]['TasaImp']/100
1587
+                    $neto * $datos['Encabezado']['Totales']['ImptoReten'][$i]['TasaImp'] / 100
1588 1588
                 );
1589 1589
             }
1590 1590
         }
@@ -1592,7 +1592,7 @@  discard block
 block discarded – undo
1592 1592
         if (isset($datos['Encabezado']['Totales']['ImptoReten']) and is_array($datos['Encabezado']['Totales']['ImptoReten'])) {
1593 1593
             $codigos = array_keys($montos);
1594 1594
             $n_impuestos = count($datos['Encabezado']['Totales']['ImptoReten']);
1595
-            for ($i=0; $i<$n_impuestos; $i++) {
1595
+            for ($i = 0; $i<$n_impuestos; $i++) {
1596 1596
                 if (!in_array($datos['Encabezado']['Totales']['ImptoReten'][$i]['TipoImp'], $codigos)) {
1597 1597
                     unset($datos['Encabezado']['Totales']['ImptoReten'][$i]);
1598 1598
                 }
@@ -1617,7 +1617,7 @@  discard block
 block discarded – undo
1617 1617
         // valor IndMntNeto = 2 indica que los montosde las líneas on netos en cuyo caso no aplica el cálculo
1618 1618
         // de neto e iva a partir del total y deberá venir informado de otra forma (aun no definido)
1619 1619
         if ($this->esBoleta() and (empty($datos['Encabezado']['IdDoc']['IndMntNeto']) or $datos['Encabezado']['IdDoc']['IndMntNeto']!=2)) {
1620
-            $total = (int)$datos['Encabezado']['Totales']['MntTotal'] - (int)$datos['Encabezado']['Totales']['MntExe'];
1620
+            $total = (int)$datos['Encabezado']['Totales']['MntTotal']-(int)$datos['Encabezado']['Totales']['MntExe'];
1621 1621
             if ($total and (empty($datos['Encabezado']['Totales']['MntNeto']) or empty($datos['Encabezado']['Totales']['IVA']))) {
1622 1622
                 list($datos['Encabezado']['Totales']['MntNeto'], $datos['Encabezado']['Totales']['IVA']) = $this->calcularNetoIVA($total);
1623 1623
             }
@@ -1632,7 +1632,7 @@  discard block
 block discarded – undo
1632 1632
             } else {
1633 1633
                 if (empty($datos['Encabezado']['Totales']['IVA']) and !empty($datos['Encabezado']['Totales']['TasaIVA'])) {
1634 1634
                     $datos['Encabezado']['Totales']['IVA'] = round(
1635
-                        $datos['Encabezado']['Totales']['MntNeto']*($datos['Encabezado']['Totales']['TasaIVA']/100)
1635
+                        $datos['Encabezado']['Totales']['MntNeto'] * ($datos['Encabezado']['Totales']['TasaIVA'] / 100)
1636 1636
                     );
1637 1637
                 }
1638 1638
             }
@@ -1658,7 +1658,7 @@  discard block
 block discarded – undo
1658 1658
                 if (ImpuestosAdicionales::getTipo($ImptoReten['TipoImp'])=='R') {
1659 1659
                     $datos['Encabezado']['Totales']['MntTotal'] -= $ImptoReten['MontoImp'];
1660 1660
                     if ($ImptoReten['MontoImp']!=$datos['Encabezado']['Totales']['IVA']) {
1661
-                        $datos['Encabezado']['Totales']['IVANoRet'] = $datos['Encabezado']['Totales']['IVA'] - $ImptoReten['MontoImp'];
1661
+                        $datos['Encabezado']['Totales']['IVANoRet'] = $datos['Encabezado']['Totales']['IVA']-$ImptoReten['MontoImp'];
1662 1662
                     }
1663 1663
                 }
1664 1664
                 // si es adicional se suma al total
@@ -1884,7 +1884,7 @@  discard block
 block discarded – undo
1884 1884
         $SignatureValue = trim(str_replace(["\n", ' ', "\t"], '', $Signature->getElementsByTagName('SignatureValue')->item(0)->nodeValue));
1885 1885
         $X509Certificate = trim(str_replace(["\n", ' ', "\t"], '', $Signature->getElementsByTagName('X509Certificate')->item(0)->nodeValue));
1886 1886
         $X509Certificate = '-----BEGIN CERTIFICATE-----'."\n".wordwrap($X509Certificate, 64, "\n", true)."\n".'-----END CERTIFICATE----- ';
1887
-        $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate) === 1 ? true : false;
1887
+        $valid = openssl_verify($SignedInfo->C14N(), base64_decode($SignatureValue), $X509Certificate)===1 ? true : false;
1888 1888
         return $valid;
1889 1889
         //return $valid and $DigestValue===base64_encode(sha1($Documento->C14N(), true));
1890 1890
     }
Please login to merge, or discard this patch.
Braces   +54 added lines, -36 removed lines patch added patch discarded remove patch
@@ -203,8 +203,9 @@  discard block
 block discarded – undo
203 203
      */
204 204
     public function getJSON()
205 205
     {
206
-        if (!$this->getDatos())
207
-            return false;
206
+        if (!$this->getDatos()) {
207
+                    return false;
208
+        }
208 209
         return json_encode($this->datos, JSON_PRETTY_PRINT);
209 210
     }
210 211
 
@@ -229,9 +230,10 @@  discard block
 block discarded – undo
229 230
      */
230 231
     private function getTipoGeneral($dte)
231 232
     {
232
-        foreach ($this->tipos as $tipo => $codigos)
233
-            if (in_array($dte, $codigos))
233
+        foreach ($this->tipos as $tipo => $codigos) {
234
+                    if (in_array($dte, $codigos))
234 235
                 return $tipo;
236
+        }
235 237
         \sasco\LibreDTE\Log::write(
236 238
             \sasco\LibreDTE\Estado::DTE_ERROR_TIPO,
237 239
             \sasco\LibreDTE\Estado::get(\sasco\LibreDTE\Estado::DTE_ERROR_TIPO, $dte)
@@ -270,10 +272,12 @@  discard block
 block discarded – undo
270 272
     public function getEmisor()
271 273
     {
272 274
         $nodo = $this->xml->xpath('/DTE/'.$this->tipo_general.'/Encabezado/Emisor/RUTEmisor')->item(0);
273
-        if ($nodo)
274
-            return $nodo->nodeValue;
275
-        if (!$this->getDatos())
276
-            return false;
275
+        if ($nodo) {
276
+                    return $nodo->nodeValue;
277
+        }
278
+        if (!$this->getDatos()) {
279
+                    return false;
280
+        }
277 281
         return $this->datos['Encabezado']['Emisor']['RUTEmisor'];
278 282
     }
279 283
 
@@ -286,10 +290,12 @@  discard block
 block discarded – undo
286 290
     public function getReceptor()
287 291
     {
288 292
         $nodo = $this->xml->xpath('/DTE/'.$this->tipo_general.'/Encabezado/Receptor/RUTRecep')->item(0);
289
-        if ($nodo)
290
-            return $nodo->nodeValue;
291
-        if (!$this->getDatos())
292
-            return false;
293
+        if ($nodo) {
294
+                    return $nodo->nodeValue;
295
+        }
296
+        if (!$this->getDatos()) {
297
+                    return false;
298
+        }
293 299
         return $this->datos['Encabezado']['Receptor']['RUTRecep'];
294 300
     }
295 301
 
@@ -302,10 +308,12 @@  discard block
 block discarded – undo
302 308
     public function getFechaEmision()
303 309
     {
304 310
         $nodo = $this->xml->xpath('/DTE/'.$this->tipo_general.'/Encabezado/IdDoc/FchEmis')->item(0);
305
-        if ($nodo)
306
-            return $nodo->nodeValue;
307
-        if (!$this->getDatos())
308
-            return false;
311
+        if ($nodo) {
312
+                    return $nodo->nodeValue;
313
+        }
314
+        if (!$this->getDatos()) {
315
+                    return false;
316
+        }
309 317
         return $this->datos['Encabezado']['IdDoc']['FchEmis'];
310 318
     }
311 319
 
@@ -318,10 +326,12 @@  discard block
 block discarded – undo
318 326
     public function getMontoTotal()
319 327
     {
320 328
         $nodo = $this->xml->xpath('/DTE/'.$this->tipo_general.'/Encabezado/Totales/MntTotal')->item(0);
321
-        if ($nodo)
322
-            return $nodo->nodeValue;
323
-        if (!$this->getDatos())
324
-            return false;
329
+        if ($nodo) {
330
+                    return $nodo->nodeValue;
331
+        }
332
+        if (!$this->getDatos()) {
333
+                    return false;
334
+        }
325 335
         return $this->datos['Encabezado']['Totales']['MntTotal'];
326 336
     }
327 337
 
@@ -334,10 +344,12 @@  discard block
 block discarded – undo
334 344
     public function getMoneda()
335 345
     {
336 346
         $nodo = $this->xml->xpath('/DTE/'.$this->tipo_general.'/Encabezado/Totales/TpoMoneda')->item(0);
337
-        if ($nodo)
338
-            return $nodo->nodeValue;
339
-        if (!$this->getDatos())
340
-            return false;
347
+        if ($nodo) {
348
+                    return $nodo->nodeValue;
349
+        }
350
+        if (!$this->getDatos()) {
351
+                    return false;
352
+        }
341 353
         return $this->datos['Encabezado']['Totales']['TpoMoneda'];
342 354
     }
343 355
 
@@ -380,8 +392,9 @@  discard block
 block discarded – undo
380 392
             return false;*/
381 393
         $xml = new \sasco\LibreDTE\XML();
382 394
         $TED = $this->xml->getElementsByTagName('TED')->item(0);
383
-        if (!$TED)
384
-            return '<TED/>';
395
+        if (!$TED) {
396
+                    return '<TED/>';
397
+        }
385 398
         $xml->loadXML($TED->C14N());
386 399
         $xml->documentElement->removeAttributeNS('http://www.w3.org/2001/XMLSchema-instance', 'xsi');
387 400
         $xml->documentElement->removeAttributeNS('http://www.sii.cl/SiiDte', '');
@@ -680,8 +693,9 @@  discard block
 block discarded – undo
680 693
         ], $datos);
681 694
         // si existe descuento o recargo global se normalizan
682 695
         if (!empty($datos['DscRcgGlobal'])) {
683
-            if (!isset($datos['DscRcgGlobal'][0]))
684
-                $datos['DscRcgGlobal'] = [$datos['DscRcgGlobal']];
696
+            if (!isset($datos['DscRcgGlobal'][0])) {
697
+                            $datos['DscRcgGlobal'] = [$datos['DscRcgGlobal']];
698
+            }
685 699
             $NroLinDR = 1;
686 700
             foreach ($datos['DscRcgGlobal'] as &$dr) {
687 701
                 $dr = array_merge([
@@ -1348,8 +1362,9 @@  discard block
 block discarded – undo
1348 1362
      */
1349 1363
     private function normalizar_detalle(array &$datos)
1350 1364
     {
1351
-        if (!isset($datos['Detalle'][0]))
1352
-            $datos['Detalle'] = [$datos['Detalle']];
1365
+        if (!isset($datos['Detalle'][0])) {
1366
+                    $datos['Detalle'] = [$datos['Detalle']];
1367
+        }
1353 1368
         $item = 1;
1354 1369
         foreach ($datos['Detalle'] as &$d) {
1355 1370
             $d = array_merge([
@@ -1411,8 +1426,9 @@  discard block
 block discarded – undo
1411 1426
                 ];
1412 1427
             }
1413 1428
             if ($d['PrcItem']) {
1414
-                if (!$d['QtyItem'])
1415
-                    $d['QtyItem'] = 1;
1429
+                if (!$d['QtyItem']) {
1430
+                                    $d['QtyItem'] = 1;
1431
+                }
1416 1432
                 if (empty($d['MontoItem'])) {
1417 1433
                     $d['MontoItem'] = $this->round(
1418 1434
                         (float)$d['QtyItem'] * (float)$d['PrcItem'],
@@ -1478,8 +1494,9 @@  discard block
 block discarded – undo
1478 1494
     private function normalizar_aplicar_descuentos_recargos(array &$datos)
1479 1495
     {
1480 1496
         if (!empty($datos['DscRcgGlobal'])) {
1481
-            if (!isset($datos['DscRcgGlobal'][0]))
1482
-                $datos['DscRcgGlobal'] = [$datos['DscRcgGlobal']];
1497
+            if (!isset($datos['DscRcgGlobal'][0])) {
1498
+                            $datos['DscRcgGlobal'] = [$datos['DscRcgGlobal']];
1499
+            }
1483 1500
             foreach ($datos['DscRcgGlobal'] as &$dr) {
1484 1501
                 $dr = array_merge([
1485 1502
                     'NroLinDR' => false,
@@ -1546,8 +1563,9 @@  discard block
 block discarded – undo
1546 1563
         $montos = [];
1547 1564
         foreach ($datos['Detalle'] as &$d) {
1548 1565
             if (!empty($d['CodImpAdic'])) {
1549
-                if (!isset($montos[$d['CodImpAdic']]))
1550
-                    $montos[$d['CodImpAdic']] = 0;
1566
+                if (!isset($montos[$d['CodImpAdic']])) {
1567
+                                    $montos[$d['CodImpAdic']] = 0;
1568
+                }
1551 1569
                 $montos[$d['CodImpAdic']] += $d['MontoItem'];
1552 1570
             }
1553 1571
         }
Please login to merge, or discard this patch.