Example #1
0
 public function test_request_returns_a_valid_object()
 {
     $cep = new Cep();
     $req = $cep->get(66085090);
     $this->assertEquals($req->cep, 66085090);
     $this->assertEquals($req->tipoDeLogradouro, 'Conjunto');
     $this->assertEquals($req->logradouro, 'Crispim de Almeida');
     $this->assertEquals($req->bairro, 'Pedreira');
     $this->assertEquals($req->cidade, 'Belém');
 }
Example #2
0
 /**
  * @return array
  */
 public function ufPorCepProvider()
 {
     $out = [];
     foreach (Cep::getIntervalosDeCep() as $uf => $intervalosCep) {
         foreach ($intervalosCep as $intervalo) {
             foreach ($intervalo as $cep) {
                 $out[] = array_merge([$uf], [$cep]);
             }
         }
     }
     return $out;
 }
Example #3
0
 /**
  * Método para buscar o endereço de acordo com o cep informado
  * @access public
  * @param void
  * @return void
  */
 public function cepAction()
 {
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     // recebe o cep sem máscara vindo via ajax
     $get = Zend_Registry::get('get');
     $cep = Mascara::delMaskCEP(Seguranca::tratarVarAjaxUFT8($get->cep));
     /*
     		$resultado = Cep::buscar($cep); // busca o cep no web service
     
     		switch($resultado['resultado'])
     		{
     			// cidades com cep único
     			case '2':
     				$_end         = "";
     				$_complemento = "";
     				$_bairro      = "";
     				$_cidade      = $resultado['cidade'];
     				$_uf          = $resultado['uf'];
     			break;
     
     			// demais cidades
     			case '1': 
     				$_end         = $resultado['logradouro'];
     				$_complemento = $resultado['tipo_logradouro'];
     				$_bairro      = $resultado['bairro'];
     				$_cidade      = $resultado['cidade'];
     				$_uf          = $resultado['uf'];
     			break;
     
     			default:
     				$_end         = "";
     				$_complemento = "";
     				$_bairro      = "";
     				$_cidade      = "";
     				$_uf          = "";
     			break;
     		} // fecha switch
     
     		if ($_cidade == "" && $_uf == "")
     		{
     			$buscarCEP = "";
     		}
     		else
     		{
     			$buscarCEP = $_end . ":" . $_complemento . ":" . $_bairro . ":" . $_cidade . ":" . $_uf . ";";
     		} */
     $resultado = Cep::buscarCepDB($cep);
     // busca o cep no banco de dados
     if ($resultado) {
         $_end = $resultado['logradouro'];
         $_complemento = $resultado['tipo_logradouro'];
         $_bairro = $resultado['bairro'];
         $_uf = $resultado['uf'];
         // atribuição da cidade
         if (empty($resultado['idCidadeMunicipios']) || empty($resultado['dsCidadeMunicipios'])) {
             // caso a cidade não exista na tabela de municipios (tabela associada aos agentes)
             // pega a primeira cidade do estado
             $_cod_cidade = $resultado['idCidadeUF'];
             $_cidade = $resultado['dsCidadeUF'];
         } else {
             // caso a cidade exista na tabela de municipios (tabela associada aos agentes)
             // pega a cidade da tabela de municipios
             $_cod_cidade = $resultado['idCidadeMunicipios'];
             $_cidade = $resultado['dsCidadeMunicipios'];
         }
         $buscarCEP = $_end . ":" . $_complemento . ":" . $_bairro . ":" . $_cod_cidade . ":" . $_cidade . ":" . $_uf . ";";
     } else {
         $buscarCEP = "";
     }
     $this->view->cep = $buscarCEP;
 }
Example #4
0
 public function getInformacoesPorCep()
 {
     if (!empty($_POST)) {
         $cep = new Cep();
         $ceps = $cep->listar("cep LIKE '" . $_POST['cep'] . "'");
         if (!empty($ceps)) {
             $cep = $ceps[0];
             $objeto = new StdClass();
             $objeto->logradouro = $cep->endereco;
             $objeto->bairro = $cep->bairro;
             $objeto->cidade = $cep->cidade;
             $objeto->estado = $cep->estado;
             $objeto->cep = $cep->cep;
             $objeto->resposta = true;
         } else {
             $objeto->resposta = false;
         }
         echo json_encode($objeto);
     }
 }
Example #5
0
 /**
  * @param $cep
  * @return string
  * @throws EnderecoInvalidoException
  */
 public static function getUfPorCep($cep)
 {
     foreach (Cep::getIntervalosDeCep() as $uf => $intervalos) {
         foreach ($intervalos as $ceps) {
             $prefixoCep = substr($cep, 0, 3);
             $prefixoInicial = substr($ceps[0], 0, 3);
             $prefixoFinal = substr($ceps[1], 0, 3);
             if ($prefixoCep >= $prefixoInicial && $prefixoCep <= $prefixoFinal) {
                 return $uf;
             }
         }
     }
     throw new EnderecoInvalidoException('O CEP ' . $cep . ' não pertence a nenhum estado.');
 }