@@ -153,8 +153,8 @@ discard block |
||
| 153 | 153 | |
| 154 | 154 | /** |
| 155 | 155 | * Método para realizar una solicitud al servicio web del SII |
| 156 | - * @param wsdl Nombre del WSDL que se usará |
|
| 157 | - * @param request Nombre de la función que se ejecutará en el servicio web |
|
| 156 | + * @param wsdl string del WSDL que se usará |
|
| 157 | + * @param request string de la función que se ejecutará en el servicio web |
|
| 158 | 158 | * @param args Argumentos que se pasarán al servicio web |
| 159 | 159 | * @param retry Intentos que se realizarán como máximo para obtener respuesta |
| 160 | 160 | * @return Objeto SimpleXMLElement con la espuesta del servicio web consultado |
@@ -248,7 +248,7 @@ discard block |
||
| 248 | 248 | * @param usuario RUN del usuario que envía el DTE |
| 249 | 249 | * @param empresa RUT de la empresa emisora del DTE |
| 250 | 250 | * @param dte Documento XML con el DTE que se desea enviar a SII |
| 251 | - * @param token Token de autenticación automática ante el SII |
|
| 251 | + * @param token string de autenticación automática ante el SII |
|
| 252 | 252 | * @param retry Intentos que se realizarán como máximo para obtener respuesta |
| 253 | 253 | * @return Respuesta XML desde SII o bien null si no se pudo obtener respuesta |
| 254 | 254 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
@@ -344,7 +344,7 @@ discard block |
||
| 344 | 344 | * \endcode |
| 345 | 345 | * |
| 346 | 346 | * @param idk IDK de la clave pública del SII. Si no se indica se tratará de determinar con el ambiente que se esté usando |
| 347 | - * @return Contenido del certificado |
|
| 347 | + * @return string|false del certificado |
|
| 348 | 348 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
| 349 | 349 | * @version 2015-09-16 |
| 350 | 350 | */ |
@@ -369,7 +369,7 @@ discard block |
||
| 369 | 369 | /** |
| 370 | 370 | * Método que asigna el ambiente que se usará por defecto (si no está |
| 371 | 371 | * asignado con la constante _LibreDTE_CERTIFICACION_) |
| 372 | - * @param ambiente Ambiente a usar: Sii::PRODUCCION o Sii::CERTIFICACION |
|
| 372 | + * @param ambiente integer a usar: Sii::PRODUCCION o Sii::CERTIFICACION |
|
| 373 | 373 | * @warning No se está verificando SSL en ambiente de certificación |
| 374 | 374 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
| 375 | 375 | * @version 2016-08-28 |
@@ -404,7 +404,7 @@ discard block |
||
| 404 | 404 | |
| 405 | 405 | /** |
| 406 | 406 | * Método que entrega la tasa de IVA vigente |
| 407 | - * @return Tasa de IVA vigente |
|
| 407 | + * @return integer de IVA vigente |
|
| 408 | 408 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
| 409 | 409 | * @version 2015-09-03 |
| 410 | 410 | */ |
@@ -481,7 +481,7 @@ discard block |
||
| 481 | 481 | /** |
| 482 | 482 | * Método que entrega un arreglo con todas los documentos tributarios electrónicos |
| 483 | 483 | * recepcionados en el SII |
| 484 | - * @param Firma digital del certificado |
|
| 484 | + * @param Firma FirmaElectronica del certificado |
|
| 485 | 485 | * @param Ambiente de prueba |
| 486 | 486 | * @param Rut empresa a consultar |
| 487 | 487 | * @param Desde fecha a consultar. Formato d-m-Y |
@@ -579,7 +579,7 @@ discard block |
||
| 579 | 579 | /** |
| 580 | 580 | * Método que entrega la dirección regional según la comuna que se esté |
| 581 | 581 | * consultando |
| 582 | - * @param comuna de la sucursal del emior o bien código de la sucursal del SII |
|
| 582 | + * @param comuna Sii\PDF\Código|null la sucursal del emior o bien código de la sucursal del SII |
|
| 583 | 583 | * @return Dirección regional del SII |
| 584 | 584 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
| 585 | 585 | * @version 2016-06-03 |
@@ -196,7 +196,7 @@ discard block |
||
| 196 | 196 | \sasco\LibreDTE\Log::write(Estado::REQUEST_ERROR_SOAP, Estado::get(Estado::REQUEST_ERROR_SOAP, $msg)); |
| 197 | 197 | return false; |
| 198 | 198 | } |
| 199 | - for ($i=0; $i<$retry; $i++) { |
|
| 199 | + for ($i = 0; $i<$retry; $i++) { |
|
| 200 | 200 | try { |
| 201 | 201 | if ($args) { |
| 202 | 202 | $body = call_user_func_array([$soap, $request], $args); |
@@ -304,7 +304,7 @@ discard block |
||
| 304 | 304 | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); |
| 305 | 305 | } |
| 306 | 306 | // enviar XML al SII |
| 307 | - for ($i=0; $i<$retry; $i++) { |
|
| 307 | + for ($i = 0; $i<$retry; $i++) { |
|
| 308 | 308 | $response = curl_exec($curl); |
| 309 | 309 | if ($response and $response!='Error 500') |
| 310 | 310 | break; |
@@ -330,7 +330,7 @@ discard block |
||
| 330 | 330 | if ($xml->STATUS!=0) { |
| 331 | 331 | \sasco\LibreDTE\Log::write( |
| 332 | 332 | $xml->STATUS, |
| 333 | - Estado::get($xml->STATUS).(isset($xml->DETAIL)?'. '.implode("\n", (array)$xml->DETAIL->ERROR):'') |
|
| 333 | + Estado::get($xml->STATUS).(isset($xml->DETAIL) ? '. '.implode("\n", (array)$xml->DETAIL->ERROR) : '') |
|
| 334 | 334 | ); |
| 335 | 335 | } |
| 336 | 336 | return $xml; |
@@ -462,12 +462,12 @@ discard block |
||
| 462 | 462 | $lines = explode("\n", $response); |
| 463 | 463 | $n_lines = count($lines); |
| 464 | 464 | $data = []; |
| 465 | - for ($i=1; $i<$n_lines; $i++) { |
|
| 465 | + for ($i = 1; $i<$n_lines; $i++) { |
|
| 466 | 466 | $row = str_getcsv($lines[$i], ';', ''); |
| 467 | 467 | unset($lines[$i]); |
| 468 | 468 | if (!isset($row[5])) |
| 469 | 469 | continue; |
| 470 | - for ($j=0; $j<6; $j++) |
|
| 470 | + for ($j = 0; $j<6; $j++) |
|
| 471 | 471 | $row[$j] = trim($row[$j]); |
| 472 | 472 | $row[1] = utf8_decode($row[1]); |
| 473 | 473 | $row[4] = strtolower($row[4]); |
@@ -517,12 +517,12 @@ discard block |
||
| 517 | 517 | $curl = curl_init(); |
| 518 | 518 | $header = [ |
| 519 | 519 | 'User-Agent: User-Agent: Mozilla/4.0 (compatible; PROG 1.0; LibreDTE)', |
| 520 | - 'Referer: https://' . $servidor . '.sii.cl', |
|
| 521 | - 'Cookie: TOKEN=' . $token . '; RUT_NS='.$rut_ns.'; DV_NS='.$dv_ns, |
|
| 520 | + 'Referer: https://'.$servidor.'.sii.cl', |
|
| 521 | + 'Cookie: TOKEN='.$token.'; RUT_NS='.$rut_ns.'; DV_NS='.$dv_ns, |
|
| 522 | 522 | 'Accept-Encoding' => 'gzip, deflate, sdch', |
| 523 | 523 | ]; |
| 524 | - $desde = $desde === null ? date('01-m-Y', strtotime('-60 days')) : $desde; // Consulto últimos 2 meses |
|
| 525 | - $hasta = $hasta === null ? date('d-m-Y') : $hasta; //Hasta fecha actual |
|
| 524 | + $desde = $desde===null ? date('01-m-Y', strtotime('-60 days')) : $desde; // Consulto últimos 2 meses |
|
| 525 | + $hasta = $hasta===null ? date('d-m-Y') : $hasta; //Hasta fecha actual |
|
| 526 | 526 | |
| 527 | 527 | $fields = [ |
| 528 | 528 | 'DESDE' => urlencode($desde), |
@@ -531,7 +531,7 @@ discard block |
||
| 531 | 531 | 'TIPO_CONSULTA' => '' // En blancopara que genere un CSV |
| 532 | 532 | ]; |
| 533 | 533 | |
| 534 | - $url = 'https://' . $servidor . '.sii.cl/cgi_dte/consultaDTE/wsDTEConsRecCont.sh'; |
|
| 534 | + $url = 'https://'.$servidor.'.sii.cl/cgi_dte/consultaDTE/wsDTEConsRecCont.sh'; |
|
| 535 | 535 | curl_setopt($curl, CURLOPT_HTTPHEADER, $header); |
| 536 | 536 | curl_setopt($curl, CURLOPT_URL, $url); |
| 537 | 537 | curl_setopt($curl, CURLOPT_POST, 1); |
@@ -544,7 +544,7 @@ discard block |
||
| 544 | 544 | // se está en el ambiente de producción y no se verifica SSL se |
| 545 | 545 | // generará un error de nivel E_USER_NOTICE |
| 546 | 546 | if (!self::$verificar_ssl) { |
| 547 | - if ($ambiente == self::PRODUCCION) { |
|
| 547 | + if ($ambiente==self::PRODUCCION) { |
|
| 548 | 548 | $msg = Estado::get(Estado::ENVIO_SSL_SIN_VERIFICAR); |
| 549 | 549 | \sasco\LibreDTE\Log::write(Estado::ENVIO_SSL_SIN_VERIFICAR, $msg, LOG_WARNING); |
| 550 | 550 | } |
@@ -562,10 +562,10 @@ discard block |
||
| 562 | 562 | $lines = explode("\n", $response); |
| 563 | 563 | $n_lines = count($lines); |
| 564 | 564 | $data = []; |
| 565 | - for ($i = 1; $i < $n_lines; $i++) { |
|
| 565 | + for ($i = 1; $i<$n_lines; $i++) { |
|
| 566 | 566 | $row = str_getcsv($lines[$i], ';', ''); |
| 567 | 567 | unset($lines[$i]); |
| 568 | - for ($j = 0; $j < 6; $j++) |
|
| 568 | + for ($j = 0; $j<6; $j++) |
|
| 569 | 569 | $row[$j] = trim($row[$j]); |
| 570 | 570 | $row[1] = utf8_decode($row[1]); |
| 571 | 571 | $row[2] = utf8_decode($row[2]); |
@@ -137,8 +137,9 @@ discard block |
||
| 137 | 137 | // entregar WSDL local (modificados para ambiente de certificación) |
| 138 | 138 | if ($ambiente==self::CERTIFICACION) { |
| 139 | 139 | $wsdl = dirname(dirname(__FILE__)).'/wsdl/'.self::$config['servidor'][$ambiente].'/'.$servicio.'.jws'; |
| 140 | - if (is_readable($wsdl)) |
|
| 141 | - return $wsdl; |
|
| 140 | + if (is_readable($wsdl)) { |
|
| 141 | + return $wsdl; |
|
| 142 | + } |
|
| 142 | 143 | } |
| 143 | 144 | // entregar WSDL oficial desde SII |
| 144 | 145 | $location = isset(self::$config['wsdl'][$servicio]) ? self::$config['wsdl'][$servicio] : self::$config['wsdl']['*']; |
@@ -167,10 +168,12 @@ discard block |
||
| 167 | 168 | $retry = (int)$args; |
| 168 | 169 | $args = null; |
| 169 | 170 | } |
| 170 | - if (!$retry) |
|
| 171 | - $retry = self::$retry; |
|
| 172 | - if ($args and !is_array($args)) |
|
| 173 | - $args = [$args]; |
|
| 171 | + if (!$retry) { |
|
| 172 | + $retry = self::$retry; |
|
| 173 | + } |
|
| 174 | + if ($args and !is_array($args)) { |
|
| 175 | + $args = [$args]; |
|
| 176 | + } |
|
| 174 | 177 | if (!self::$verificar_ssl) { |
| 175 | 178 | if (self::getAmbiente()==self::PRODUCCION) { |
| 176 | 179 | $msg = Estado::get(Estado::ENVIO_SSL_SIN_VERIFICAR); |
@@ -278,8 +281,9 @@ discard block |
||
| 278 | 281 | ), |
| 279 | 282 | ]; |
| 280 | 283 | // definir reintentos si no se pasaron |
| 281 | - if (!$retry) |
|
| 282 | - $retry = self::$retry; |
|
| 284 | + if (!$retry) { |
|
| 285 | + $retry = self::$retry; |
|
| 286 | + } |
|
| 283 | 287 | // crear sesión curl con sus opciones |
| 284 | 288 | $curl = curl_init(); |
| 285 | 289 | $header = [ |
@@ -306,16 +310,19 @@ discard block |
||
| 306 | 310 | // enviar XML al SII |
| 307 | 311 | for ($i=0; $i<$retry; $i++) { |
| 308 | 312 | $response = curl_exec($curl); |
| 309 | - if ($response and $response!='Error 500') |
|
| 310 | - break; |
|
| 313 | + if ($response and $response!='Error 500') { |
|
| 314 | + break; |
|
| 315 | + } |
|
| 311 | 316 | } |
| 312 | 317 | unlink($file); |
| 313 | 318 | // verificar respuesta del envío y entregar error en caso que haya uno |
| 314 | 319 | if (!$response or $response=='Error 500') { |
| 315 | - if (!$response) |
|
| 316 | - \sasco\LibreDTE\Log::write(Estado::ENVIO_ERROR_CURL, Estado::get(Estado::ENVIO_ERROR_CURL, curl_error($curl))); |
|
| 317 | - if ($response=='Error 500') |
|
| 318 | - \sasco\LibreDTE\Log::write(Estado::ENVIO_ERROR_500, Estado::get(Estado::ENVIO_ERROR_500)); |
|
| 320 | + if (!$response) { |
|
| 321 | + \sasco\LibreDTE\Log::write(Estado::ENVIO_ERROR_CURL, Estado::get(Estado::ENVIO_ERROR_CURL, curl_error($curl))); |
|
| 322 | + } |
|
| 323 | + if ($response=='Error 500') { |
|
| 324 | + \sasco\LibreDTE\Log::write(Estado::ENVIO_ERROR_500, Estado::get(Estado::ENVIO_ERROR_500)); |
|
| 325 | + } |
|
| 319 | 326 | return false; |
| 320 | 327 | } |
| 321 | 328 | // cerrar sesión curl |
@@ -353,8 +360,9 @@ discard block |
||
| 353 | 360 | // si se pasó un idk y existe el archivo asociado se entrega |
| 354 | 361 | if ($idk) { |
| 355 | 362 | $cert = dirname(dirname(__FILE__)).'/certs/'.$idk.'.cer'; |
| 356 | - if (is_readable($cert)) |
|
| 357 | - return file_get_contents($cert); |
|
| 363 | + if (is_readable($cert)) { |
|
| 364 | + return file_get_contents($cert); |
|
| 365 | + } |
|
| 358 | 366 | } |
| 359 | 367 | // buscar certificado y entregar si existe o =false si no |
| 360 | 368 | $ambiente = self::getAmbiente(); |
@@ -394,10 +402,11 @@ discard block |
||
| 394 | 402 | public static function getAmbiente($ambiente = null) |
| 395 | 403 | { |
| 396 | 404 | if ($ambiente===null) { |
| 397 | - if (defined('_LibreDTE_CERTIFICACION_')) |
|
| 398 | - $ambiente = (int)_LibreDTE_CERTIFICACION_; |
|
| 399 | - else |
|
| 400 | - $ambiente = self::$ambiente; |
|
| 405 | + if (defined('_LibreDTE_CERTIFICACION_')) { |
|
| 406 | + $ambiente = (int)_LibreDTE_CERTIFICACION_; |
|
| 407 | + } else { |
|
| 408 | + $ambiente = self::$ambiente; |
|
| 409 | + } |
|
| 401 | 410 | } |
| 402 | 411 | return $ambiente; |
| 403 | 412 | } |
@@ -423,8 +432,9 @@ discard block |
||
| 423 | 432 | { |
| 424 | 433 | // solicitar token |
| 425 | 434 | $token = \sasco\LibreDTE\Sii\Autenticacion::getToken($Firma); |
| 426 | - if (!$token) |
|
| 427 | - return false; |
|
| 435 | + if (!$token) { |
|
| 436 | + return false; |
|
| 437 | + } |
|
| 428 | 438 | // definir ambiente y servidor |
| 429 | 439 | $ambiente = self::getAmbiente($ambiente); |
| 430 | 440 | $servidor = self::$config['servidor'][$ambiente]; |
@@ -453,8 +463,9 @@ discard block |
||
| 453 | 463 | } |
| 454 | 464 | // realizar consulta curl |
| 455 | 465 | $response = curl_exec($curl); |
| 456 | - if (!$response) |
|
| 457 | - return false; |
|
| 466 | + if (!$response) { |
|
| 467 | + return false; |
|
| 468 | + } |
|
| 458 | 469 | // cerrar sesión curl |
| 459 | 470 | curl_close($curl); |
| 460 | 471 | // entregar datos del archivo CSV |
@@ -465,10 +476,12 @@ discard block |
||
| 465 | 476 | for ($i=1; $i<$n_lines; $i++) { |
| 466 | 477 | $row = str_getcsv($lines[$i], ';', ''); |
| 467 | 478 | unset($lines[$i]); |
| 468 | - if (!isset($row[5])) |
|
| 469 | - continue; |
|
| 470 | - for ($j=0; $j<6; $j++) |
|
| 471 | - $row[$j] = trim($row[$j]); |
|
| 479 | + if (!isset($row[5])) { |
|
| 480 | + continue; |
|
| 481 | + } |
|
| 482 | + for ($j=0; $j<6; $j++) { |
|
| 483 | + $row[$j] = trim($row[$j]); |
|
| 484 | + } |
|
| 472 | 485 | $row[1] = utf8_decode($row[1]); |
| 473 | 486 | $row[4] = strtolower($row[4]); |
| 474 | 487 | $row[5] = strtolower($row[5]); |
@@ -503,8 +516,9 @@ discard block |
||
| 503 | 516 | { |
| 504 | 517 | // solicitar token |
| 505 | 518 | $token = \sasco\LibreDTE\Sii\Autenticacion::getToken($Firma); |
| 506 | - if (!$token) |
|
| 507 | - return false; |
|
| 519 | + if (!$token) { |
|
| 520 | + return false; |
|
| 521 | + } |
|
| 508 | 522 | |
| 509 | 523 | // RUT_NS Y DV_NS |
| 510 | 524 | list($rut_ns, $dv_ns) = explode('-', $rut); |
@@ -553,8 +567,9 @@ discard block |
||
| 553 | 567 | |
| 554 | 568 | // realizar consulta curl |
| 555 | 569 | $response = curl_exec($curl); |
| 556 | - if (!$response) |
|
| 557 | - return false; |
|
| 570 | + if (!$response) { |
|
| 571 | + return false; |
|
| 572 | + } |
|
| 558 | 573 | // cerrar sesión curl |
| 559 | 574 | curl_close($curl); |
| 560 | 575 | // entregar datos del archivo CSV |
@@ -565,8 +580,9 @@ discard block |
||
| 565 | 580 | for ($i = 1; $i < $n_lines; $i++) { |
| 566 | 581 | $row = str_getcsv($lines[$i], ';', ''); |
| 567 | 582 | unset($lines[$i]); |
| 568 | - for ($j = 0; $j < 6; $j++) |
|
| 569 | - $row[$j] = trim($row[$j]); |
|
| 583 | + for ($j = 0; $j < 6; $j++) { |
|
| 584 | + $row[$j] = trim($row[$j]); |
|
| 585 | + } |
|
| 570 | 586 | $row[1] = utf8_decode($row[1]); |
| 571 | 587 | $row[2] = utf8_decode($row[2]); |
| 572 | 588 | $row[3] = utf8_decode($row[3]); |