<?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 
    $estado = isset($_SERVER["HTTP_ESTADO"]) ? trim($_SERVER["HTTP_ESTADO"])    : '';//pegando o cep do header
*/

    //$v_customer_id      = isset($_POST["v_customer_id"])    ? trim($_POST["v_customer_id"])      : 0;
    $locale = isset($_POST["LOCALE"]) ? trim($_POST["LOCALE"])    : '';//pegando o locale (pt ou ja) do header 
    $cidade = isset($_POST["CIDADE"]) ? trim($_POST["CIDADE"])    : '';//pegando o cep do header    
    

/*Checando dados obrigatórios*/  
    if(empty($locale) || empty($cidade)){
      $status = array(
				'erro' => 'true',
				'mensagem' => 'Locale ou Cidade 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_bairros =  "select distinct(leg.bairro_pt) bairro
                                    from leg_cep_jp leg inner join oc_zone_name
                                      on leg.estado_pt like CONCAT('%', oc_zone_name.name, '%')
                                   where lower(leg.cidade_pt) like lower('%$cidade%')";
        
        }
        
      

        if (strtoupper($locale) == "JA") {
            $consulta_bairros =  "select distinct(leg.bairro) bairro
                                    from leg_cep_jp leg inner join oc_zone_name
                                      on leg.estado like CONCAT('%', oc_zone_name.name, '%')
                                   where lower(leg.cidade) like lower('%$cidade%')";
        
        }

        
//echo $consulta_bairros;
//exit;


        $bairro = array(
                        'bairro'    => ''
                    );             

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

                $bairros['bairro'] = $row['bairro'];

                $bairros_list[] = $bairros;
            }
                $status = array( 'erro'     => 'false'
                                ,'mensagem' => ''
                                ,'bairros'  => $bairros_list 
                                );

                $json = json_encode($status);
				
            	echo $json;
                exit(0);
                
            
        }else{
            $status = array(
				'erro' => 'true',
				'mensagem' => 'Bairros nao localizados, verifique se a Cidade foi informada');
                //$json = json_encode($status);
            	exibir_json($status); 
        }
  
    }
	


?>