<?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",
   }
}

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

$url = "https://jp.saudeesabor.co.jp/image/";

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 
    $token       = isset($_POST["TOKEN"])       ? trim($_POST["TOKEN"])    : '';//pegando o cep do header    
    $token_decoded = base64_decode($token);
    

/*Checando dados obrigatórios*/  
    if(empty($locale) || empty($token)){
      $status = array(
        'erro' => 'true',
        'mensagem' => 'Locale nãoooooo informado');
      //$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
        


    $consulta_produtos =  "select distinct 
                                      vw.product_id,
                                      replace(vw.product,'&quot;','''') product,
                                      concat('$url', vw.product_image) as product_image,
                                      vw.preco_calculado valor,
                                      vw.points
                                      --  replace(vw.category,'&quot;','''') category,
                                      --  vw.category_id
                                   from vw_code_listar_produtos vw inner join code_favoritos fav
                                     on vw.product_id = fav.product_id
                                  where 1=1
                                       and product_image <> ''
                                    and language_id = (select language_id from oc_language where locale like concat('%','$locale','%'))
                                     and fav.customer_id = $token_decoded"; 

                            //  echo $consulta_produtos;
                            //  exit;

        
        }

        
/*
echo $consulta_categorias;
exit;
*/


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

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

                $produto['product_id']      = $row['product_id'];
                $produto['product']         = $row['product'];
                $produto['product_image']   = $row['product_image'];
                $produto['valor']           = $row['valor'];
                $produto['points']          = $row['points'];
                

                $produtos_list[] = $produto;
            }
                $status = array( 'erro'       => 'false'
                                ,'mensagem'   => ''
                                ,'favoritos'  => $produtos_list 
                                );

                $json = json_encode($status);
        
              echo $json;
                exit(0);
                
            
        }else{
            $status = array(
        'erro' => 'true',
        'mensagem' => 'Produtos não localizados, verifique se o Locale ou Token foram informado');
                //$json = json_encode($status);
              exibir_json($status); 
        }
  
    
  


?>