<?php
/*################################################
@author: Code Tecnologia
@date: 15/04/2019
@version: 1.00
@purpose: Classe responsavel por retornar dados do CEP baseado no CEP e LOCALE

Resposta esperada para locale PT:
{ 
"erro": false,
"mensagem":"",
"endereco": {
        "cep":640941,
        "estado":"Hokkaido",
        "cidade":"Chuo-ku, Sapporo",
        "bairro":"Asahigaoka",
        "zone_id":"1668",
   }
}


Resposta esperada para locale JA:
{ 
"erro": false,
"mensagem":"",
"endereco": {
        "cep":640941,
        "estado":"北海道",
        "cidade":"札幌市中央区",
        "bairro":"旭ケ丘",
        "zone_id":"1668",
   }
}

*/
  
################################################*/


include_once("connect.php");

	mysqli_query($conexao,"SET NAMES 'utf8'");
    mysqli_query($conexao,'SET character_set_connection=utf8');
    mysqli_query($conexao,'SET character_set_client=utf8');
    mysqli_query($conexao,'SET character_set_results=utf8');

//Funcao para exibir o json
function exibir_json($json){
    $echo_json = json_encode($json);
    $json = array_map('utf8_encode', $json);
	echo $echo_json;
}


//Verificando se a mensagem foi transmitida por POST
if(strcasecmp($_SERVER['REQUEST_METHOD'], 'POST') != 0){  
    $status = array(
				'erro' => 'true',
				'mensagem' => 'O formato recebido não é um POST');
    //$json = json_encode($status);
	exibir_json($status);
    exit(0);
}

//Verificando se o Content-type é 'application/json'
/*
$contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"]) : '';
if(strcasecmp($contentType, 'application/json') != 0){
    $status = array(
				'erro' => 'true',
				'mensagem' => 'O tipo da mensagem está incorreto.');
    $json = json_encode($status);
	exibir_json($json);
    exit(0);
}
*/





//recebendo a requisicao
$content = file_get_contents("php://input");
$content = utf8_encode($content); //evita erros



  //obtendo informacoes do Header da mensagem

    $locale = isset($_SERVER["HTTP_LOCALE"]) ? trim($_SERVER["HTTP_LOCALE"]) : '';//pegando o locale (pt ou ja) do header 
    $cep    = isset($_SERVER["HTTP_CEP"])    ? trim($_SERVER["HTTP_CEP"])    : '';//pegando o cep do header
    




/*Checando dados obrigatórios*/  
    if(empty($locale) || empty($cep)){
      $status = array(
				'erro' => 'true',
				'mensagem' => 'Locale ou cep não informados');
      //$json = json_encode($status);
      //enviarCurl($url,$json);
	  exibir_json($status);
      
    }else{
      
        //Aceitou o TERMO deve ser tratado. Substituir o "1" pelo tratamento correto.
        //Verifica o locale
        if (strtoupper($locale) == "PT") {
             $consulta_cep = "select    leg.cep,
                                        leg.estado_pt estado,
                                        leg.cidade_pt cidade,
                                        leg.bairro_pt bairro,
                                        oc_zone_name.zone_id
                                   from leg_cep_jp leg inner join oc_zone_name
                                     on leg.estado = oc_zone_name.name
                                  where leg.cep = replace('$cep','-','')"; 
                                        
        }

        if (strtoupper($locale) == "JA") {
             $consulta_cep = "select    leg.cep,
                                        leg.estado,
                                        leg.cidade,
                                        leg.bairro,
                                        oc_zone_name.zone_id
                                   from leg_cep_jp leg inner join oc_zone_name
                                     on leg.estado = oc_zone_name.name
                                  where leg.cep = replace('$cep','-','')"; 

        }

        //echo $consulta_login . "<br><br>";

        $endereco = array(
                        'cep'       => '',
                        'estado'    => '',
                        'cidade'    => '',
                        'bairro'    => '',
                        'zone_id'   => ''
                    );             

        $result = mysqli_query($conexao, $consulta_cep) or die(mysqli_error($conexao));
        if(mysqli_num_rows($result)>0){
            while($row = mysqli_fetch_assoc($result)){

                $endereco['cep']      = $row['cep'];
                $endereco['estado']   = $row['estado'];
                $endereco['cidade']   = $row['cidade'];
                $endereco['bairro']   = $row['bairro'];
                $endereco['zone_id']  = $row['zone_id'];

				/*
                $status = array( 'erro' => 'false'
    				    ,'mensagem' => ''
    				    ,'usuario' => $usuario
    				    ,'token' => $token
    				    );
                //$json = json_encode($status);
				
            	exibir_json($status);
                exit(0);
                */
                
             
                  $status = array( 'erro' => 'false'
    				    ,'mensagem' => ''
    				    ,'endereco' => $endereco
    				    );
                $json = json_encode($status);
				
            	echo $json;
                exit(0);
                
            }
        }else{
            $status = array(
				'erro' => 'true',
				'mensagem' => 'CEP nao encontrado');
                //$json = json_encode($status);
            	exibir_json($status); 
        }
  
    }
	


?>