get_variable('URA', true); $codCli = $agi->get_variable('CODCLI', true); $result = recuperaFaturas($codCli); $fatura1 = is_date($result[0]['data_baixa']); $fatura2 = is_date($result[1]['data_baixa']); __logStr("Recupera Boleto", "Faturas: ". print_r($result,true), $script, true); if (empty($ura)) { $agi->exec_goto(GetUra('ENVIO_FATURA_ERRO')); } if ($fatura1 == false && $fatura2 == false) { $agi->set_variable('ULTIMAFATURA', $result[1]['codfat']); $agi->set_variable('PENULTIMAFATURA', $result[0]['codfat']); $agi->set_variable('VENCPENULTIMA', $result[0]['data_ven']); $agi->set_variable('VENCULTIMA', $result[1]['data_ven']); $agi->set_variable('VALORPENULTIMA', $result[0]['valor_fatura']); $agi->set_variable('VALORULTIMA', $result[1]['valor_fatura']); $agi->exec_goto(GetUra('URA_ENVIA_SEGUNDA_VIA')); } elseif ($fatura1 == true && $fatura2 == false) { $agi->set_variable('ULTIMAFATURA', $result[1]['codfat']); $agi->set_variable('VENCULTIMA', $result[1]['data_ven']); $agi->set_variable('VALORULTIMA', $result[1]['valor_fatura']); $agi->exec_goto(GetUra('URA_ENVIA_SEGUNDA_VIA')); } elseif ($fatura1 == false && $fatura2 == true) { $agi->set_variable('PENULTIMAFATURA', $result[0]['codfat']); $agi->set_variable('VENCPENULTIMA', $result[0]['data_ven']); $agi->set_variable('VALORPENULTIMA', $result[0]['valor_fatura']); $agi->exec_goto(GetUra('URA_ENVIA_SEGUNDA_VIA')); }else{ $agi->exec_goto(GetUra('ENVIO_FATURA_ERRO')); } } catch (Exception $ex) { $reg_msg = $ex->getMessage(); $reg_status_exec = 'Er'; __logStr("Recupera Boleto", $reg_msg . " Codigo do cliente: $codCli", $script, true); } @AtualizaIntegracao($uid, $reg_retorno, $reg_msg, $reg_status_exec, $retorno_cliente); if (!$dadosIntegra) { @grava_dadosIntegra($reg_retorno); } function recuperaFaturas($param) { try { $url = 'http://45.236.204.25/server.php'; $_user = rawurlencode('AMIGALINK'); $_passwd = rawurlencode('SIMPLESIP'); $_consulta = '01FATURAS1'; $_formato_padrao = 'X'; $xml = '' . "\n"; $xml .= "\n"; $xml .= "view.execute\n"; $xml .= "\n"; $xml .= '' . "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= '' . "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= '' . "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= '' . "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= '' . "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= "\n"; $xml .= ""; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: text/xml; charset=utf-8', 'Content-Length: ' . strlen($xml))); $result = curl_exec($ch); $curlError = curl_error($ch); if (!empty($curlError)) { curl_close($ch); throw new Exception("HTTP error ocurred: $curlError"); } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode != 200) { throw new Exception("HTTP error ocurred, number: $httpCode"); } if ($result == '') { throw new Exception("Void Response"); } $xml = simplexml_load_string($result); $arDados = $xml->params->param[1]->value->DOMElement->result->row; foreach ($arDados as $arInfo) { $contas[] = objectToArray($arInfo); } $mesAtu = date("m"); foreach ($contas as $values) { list($dia, $mes, $ano) = explode("/", $values['data_ven']); if (($mes > $mesAtu)) { continue; } if ($mes == $mesAtu && is_date($values['data_baixa'])) { continue; } $datas[] = array( "data_ven" => "$dia/$mes/$ano", "codfat" => $values['codfat'][0], "data_baixa" => $values['data_baixa'], "valor_fatura" => $values['valor'] ); } return array_reverse($datas); } catch (Exception $ex) { $msg = $ex->getMessage(); return $msg; } } function objectToArray($d) { if (is_object($d)) { $d = get_object_vars($d); } if (is_array($d)) { return array_map(__FUNCTION__, $d); } else { return $d; } }