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

    $token = isset($_POST["TOKEN"]) ? trim($_POST["TOKEN"]) : '';
    $token_decoded = base64_decode($token);

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

/*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_code_listar_produtos.product_id
                                  ,replace(product,'&quot;','''') product
                                  ,concat('https://jp.saudeesabor.co.jp/image/', product_image) as product_image
                                  ,vw_code_listar_produtos.preco_calculado valor
                                  ,vw_code_listar_produtos.points
                                  ,vw_code_listar_produtos.quantity
                                  -- replace(category,'&quot;','''') category,
                                  -- vw_code_listar_produtos.category_id
                                  ,oc_order.date_added
                             from vw_code_listar_produtos inner join oc_order_product
                 on vw_code_listar_produtos.product_id = oc_order_product.product_id
                              inner join oc_order
                 on oc_order_product.order_id = oc_order.order_id
                  
                            where product_image <> ''
                              -- and category_id = 63
                              -- and oc_order.order_id = 55921
                              and oc_order.customer_id = $token_decoded
                              and vw_code_listar_produtos.language_id = (select language_id from oc_language where locale like concat('%','$locale','%'))"; 
                              
                             
                             // 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'];
                $produto['quantity']        = $row['quantity'];
                $produto['date']            = $row['date_added'];
                $produto['valor'] = number_format($produto['valor'], 2, ',', '');
                

                $produtos_list[] = $produto;
            }
                $status = array( 'erro'     => 'false'
                                ,'mensagem' => ''
                                ,'produtos'  => $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 foi informado');
                //$json = json_encode($status);
            	exibir_json($status); 
        }
  
    
	


?>