Skip to content

Instantly share code, notes, and snippets.

@deniscsz
Created October 9, 2017 14:05
Show Gist options
  • Select an option

  • Save deniscsz/352e227f7023fa9c0065f5541409e33c to your computer and use it in GitHub Desktop.

Select an option

Save deniscsz/352e227f7023fa9c0065f5541409e33c to your computer and use it in GitHub Desktop.
Alteração no script buscacep para correção do autocomplete
<?php
require_once 'app/Mage.php';
/*
* Initialize Magento. Older versions may require Mage::app() instead.
*/
Mage::init();
if( isset( $_POST['cep'] ) ) {
$cep = $_POST['cep'];
} elseif( isset( $_GET['cep'] ) ) {
$cep = $_GET['cep'];
}
$cep = preg_replace('/[^\d]/', '', $cep);
$soapArgs = array(
'cep' => $cep,
'encoding' => 'UTF-8',
'exceptions' => 0
);
$opts = array('http'=> array(
'protocol_version'=>'1.0',
'header' => 'Connection: Close'
));
$params = array ('stream_context' => stream_context_create($opts) );
$return = '';
try {
$clientSoap = new SoapClient( "https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl", $params );
$result = $clientSoap->consultaCep($soapArgs);
$dadosRaw = $result->return;
if (!is_soap_fault($result)) {
$dados = array(
'logradouro'=> trim($dadosRaw->end),
'bairro'=> trim($dadosRaw->bairro),
'cidade'=> trim($dadosRaw->cidade),
'uf' => $dadosRaw->uf,
'cep'=> $cep
);
}
} catch (SoapFault $e) {
$texto = false;
Mage::logException($e);
echo $texto;
return;
} catch (Exception $e) {
$texto = false;
Mage::logException($e);
echo $texto;
return;
}
///////////////////////////////////////////////////
//var_dump($dados); //para testar
///////////////////////////////////////////////////
if ( isset($dados) ) {
///////////////////////////////////////////////////
//MONTA SWITC PARA SELECIONAR NO COMBO DO MAGENTO
///////////////////////////////////////////////////
switch ( $dados['uf'] ){
case "AC": $uf = 'Acre'; $estado = 1; $num = 485; break;
case "AL": $uf = 'Alagoas'; $estado = 2; $num = 486; break;
case "AP": $uf = 'Amapa'; $estado = 3; $num = 487; break;
case "AM": $uf = 'Amazonas'; $estado = 4; $num = 488; break;
case "BA": $uf = 'Bahia'; $estado = 5; $num = 489; break;
case "CE": $uf = 'Ceara'; $estado = 6; $num = 490; break;
case "ES": $uf = 'Espirito Santo'; $estado = 8; $num = 491; break;
case "GO": $uf = 'Goias'; $estado = 9; $num = 492; break;
case "MA": $uf = 'Maranhao'; $estado = 10; $num = 493; break;
case "MT": $uf = 'Mato Grosso'; $estado = 12; $num = 494; break;
case "MS": $uf = 'Mato Grosso do Sul'; $estado = 12; $num = 495; break;
case "MG": $uf = 'Minas Gerais'; $estado = 13; $num = 496; break;
case "PA": $uf = 'Para'; $estado = 14; $num = 497; break;
case "PB": $uf = 'Paraiba'; $estado = 15; $num = 498; break;
case "PR": $uf = 'Parana'; $estado = 16; $num = 499; break;
case "PE": $uf = 'Pernambuco'; $estado = 17; $num = 500; break;
case "PI": $uf = 'Piaui'; $estado = 18; $num = 501; break;
case "RJ": $uf = 'Rio de Janeiro'; $estado = 19; $num = 502; break;
case "RN": $uf = 'Rio Grande do Norte';$estado = 20; $num = 503; break;
case "RS": $uf = 'Rio Grande do Sul'; $estado = 21; $num = 504; break;
case "RO": $uf = 'Rondonia'; $estado = 22; $num = 505; break;
case "RR": $uf = 'Roraima'; $estado = 23; $num = 506; break;
case "SC": $uf = 'Santa Catarina'; $estado = 24; $num = 507; break;
case "SP": $uf = 'Sao Paulo'; $estado = 25; $num = 508; break;
case "SE": $uf = 'Sergipe'; $estado = 26; $num = 509; break;
case "TO": $uf = 'Tocantins'; $estado = 27; $num = 510; break;
case "DF": $uf = 'Distrito Federal'; $estado = 7; $num = 511; break;
}
/*
('BR', 'AC', 'Acre'),
('BR', 'AL', 'Alagoas'),
('BR', 'AP', 'Amapa'),
('BR', 'AM', 'Amazonas'),
('BR', 'BA', 'Bahia'),
('BR', 'CE', 'Ceara'),
('BR', 'ES', 'Espirito Santo'),
('BR', 'GO', 'Goias'),
('BR', 'MA', 'Maranhao'),
('BR', 'MT', 'Mato Grosso'),
('BR', 'MS', 'Mato Grosso do Sul'),
('BR', 'MG', 'Minas Gerais'),
('BR', 'PA', 'Para'),
('BR', 'PB', 'Paraiba'),
('BR', 'PR', 'Parana'),
('BR', 'PE', 'Pernambuco'),
('BR', 'PI', 'Piaui'),
('BR', 'RJ', 'Rio de Janeiro'),
('BR', 'RN', 'Rio Grande do Norte'),
('BR', 'RS', 'Rio Grande do Sul'),
('BR', 'RO', 'Rondonia'),
('BR', 'RR', 'Roraima'),
('BR', 'SC', 'Santa Catarina'),
('BR', 'SP', 'Sao Paulo'),
('BR', 'SE', 'Sergipe'),
('BR', 'TO', 'Tocantins'),
('BR', 'DF', 'Distrito Federal');
*/
//$texto = $dados['logradouro'].":".$dados['bairro'].":".$dados['cidade'].":".$uf.":".$num.":".$estado.";";
$dados['codigo'] = $num;
$dados['indice'] = $estado;
$dados['uf_extenso'] = $uf;
echo json_encode($dados);
}else {
$texto = false;
echo $texto;
};
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment