<?php
/*################################################
@author: Code Tecnologia
@date: 25/03/2019
@version: 1.00
@purpose: Classe responsavel por autenticacao de contabilidades

Resposta esperada:
{ 
"erro": false,
"mensagem":"",
"token":"AZ923M39",
"usuario": {
        "id":1,
        "nome":"Code Tecnologia",
        "email":"fabio@codecrm.com.br",
        "banco":"001",
        "agencia":"001",
		"tipoconta":"corrente",
		"favorecido":"Fabio Gomes"
		"documento":"123.123.123-12"
        "conta":"98798",
        "telefone":"(11)98888-9999",
        "aceitouTermo":true
   }
}
*/
  
################################################*/


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
    $login = isset($_SERVER["HTTP_LOGIN"]) ? trim($_SERVER["HTTP_LOGIN"]) : '';//pegando o login do header 
    $senha = isset($_SERVER["HTTP_SENHA"]) ? trim($_SERVER["HTTP_SENHA"]) : '';//pegando a senha do header
    

/*Checando dados obrigatórios*/  
    if(empty($login) || empty($senha)){
      $status = array(
				'erro' => true,
				'mensagem' => 'Campos obrigatórios não preenchidos');
      //$json = json_encode($status);
      //enviarCurl($url,$json);
	  exibir_json($status);
      
    }else{
        //$senha = md5($senha); ja faco isso na query abaixo
        //Aceitou o TERMO deve ser tratado. Substituir o "1" pelo tratamento correto.
        $consulta_login = "select  cust.customer_id id,
                                   cust.language_id,
                                   cust.firstname,
                                   cust.lastname,
                                   cust.email,
                                   cust.telephone,
                                   addr.address_1,
                                   addr.address_2,
                                   addr.city,
                                   oc_zone_name.name estado,
                                   addr.postcode,
                                   oc_zone_name.zone_id,
                                   cust.st_termo,
                                   cust.photobase64
                              from oc_customer cust inner join oc_address addr
                                on cust.customer_id = addr.customer_id
                                                    inner join oc_zone_name
                                on addr.zone_id = oc_zone_name.zone_id
                               and cust.language_id = oc_zone_name.language_id
                             where cust.email = '$login' 
                               and (cust.password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('$senha'))))) 
                                    or cust.password = md5('$senha'))";
                              


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

        $usuario = array(
                'id'            => '',
                'firstname'     => '',
                'lastname'      => '',
                'email'         => '',
                'telephone'     => '',
                'address_1'     => '',
				        'address_2'     => '',
				        'city'          => '',
                'estado'        => '',
                'postcode'      => '',
				        'zone_id'       => '',
                'aceitouTermo'  => '',
                'photo'         => ''
            );             
        $result = mysqli_query($conexao, $consulta_login) or die(mysqli_error($conexao));
        if(mysqli_num_rows($result)>0){
            while($row = mysqli_fetch_assoc($result)){
                $usuario['id'] 			        = $row['id'];
                $usuario['firstname'] 	    = $row['firstname'];
                $usuario['lastname'] 	      = $row['lastname'];
                $usuario['email'] 		      = $row['email'];
                $usuario['telephone'] 	    = $row['telephone'];
                $usuario['address_1'] 	    = $row['address_1'];
				        $usuario['address_2'] 	    = $row['address_2'];
				        $usuario['city'] 		        = $row['city'];
				        $usuario['estado'] 		      = $row['estado'];
                $usuario['postcode'] 	      = $row['postcode'];
                $usuario['zone_id']         = $row['zone_id'];
                $usuario['aceitouTermo']    = ($row['st_termo']==1) ? 'true' : 'false';
                $usuario['photo']           = $row['photobase64'];
                
				
				//Preparando o token
				$token = base64_encode($usuario['id']);
				header("token: $token");
				
				/*
                $status = array( 'erro' => 'false'
    				    ,'mensagem' => ''
    				    ,'usuario' => $usuario
    				    ,'token' => $token
    				    );
                //$json = json_encode($status);
				
            	exibir_json($status);
                exit(0);
                */
                
                
                
                  $status = array( 'erro'     => false
                      				    ,'mensagem' => ''
                      				    ,'usuario'  => $usuario
                      				    ,'token'    => $token
                      				    );

                $json = json_encode($status);
				
            	echo $json;
                exit(0);
                
            }
        }else{
            $status = array(
				'erro' => true,
				'mensagem' => 'Usuario ou senha invalidos');
                //$json = json_encode($status);
            	exibir_json($status); 
        }
  
    }
	


?>