<?php
/*################################################
@author: Code Tecnologia
@date: 29/03/2019
@version: 1.00
@purpose: Classe responsavel por devolver as informacoes da lista de mensagens

Resposta esperada:
{ 
"erro": false,
"mensagem":"",
"listaMensagens":[
     {
            "id":1,
            "titulo":"Você recebeu saldo",
            "conteudo":"Olá, você recebeu saldo",
            "link":"http://www.google.com"
     }
]
}
*/
  
################################################*/
include_once("connect.php");

//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'], 'GET') != 0){  
    $status = array(
				'erro' => 'true',
				'mensagem' => 'O formato transmitido nao e um GET');
    //$json = json_encode($status);
	exibir_json($status);
    exit(0);
}else{

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

/*Checando dados obrigatórios*/  
    if(empty($token)){
      $status = array(
				'erro' => 'true',
				'mensagem' => 'Token nao informado');
      //$json = json_encode($status);
      //enviarCurl($url,$json);
	  exibir_json($status);
      
    }else{
        //Query Lista de indicados pelo parceiro
        $consulta_mensagens_parceiro = "select clientes.id
											 , clientes.ds_razao_social
											 , status_clientes.id as id_status
											 , status_clientes.ds_status
											 , status_clientes_mobile.id as id_mobile
											 , status_clientes_mobile.ds_status as status_mobile
											 , clientes.id_status_reportado
                                             , reportado.id as reportado_id
											 , reportado.ds_status as ds_reportado
											 , rmobile.id as id_repo_mobile
											 , rmobile.ds_status as ds_repo_mobile
                                             , contabilidades.vl_premio
									from clientes inner join status_clientes
										on clientes.id_status = status_clientes.id
														 inner join (select id, ds_status, id_status_mobile from status_clientes) reportado
										on clientes.id_status_reportado = reportado.id
														 inner join status_clientes_mobile
										on status_clientes.id_status_mobile = status_clientes_mobile.id
														 inner join (select id, ds_status from status_clientes_mobile) rmobile
										on reportado.id_status_mobile = rmobile.id
														 inner join contabilidades
									    on clientes.id_contabilidade = contabilidades.id
										where clientes.id_contabilidade = $token_decoded"; 
     
        //echo $consulta_mensagens_parceiro;
		//exit(0);
		
		
		//Array de mensagens a serem listados no json
		$mensagens = array(
                'id' => '',
                'titulo' => '',
                'conteudo' => '',
                'link' => ''
            );             
			
        $result = mysqli_query($conexao, $consulta_mensagens_parceiro) or die(mysqli_error($conexao));
        if(mysqli_num_rows($result)>0){
            while($row = mysqli_fetch_assoc($result)){
				
				$id_indicado	= $row['id'];
				$id_original	= $row['id_mobile'];
				$id_reportado	= $row['id_repo_mobile'];
				$ds_nome		= $row['ds_razao_social'];
				$vl_premio		= $row['vl_premio'];
				
				
				
				
				/*
				echo "id_original: "  . $id_original  . "</br>";
				echo "id_reportado: " . $id_reportado . "</br>";
				echo "id_indicado: "  . $id_indicado  . "</br>";
				echo "ds_nome: " 	  . $ds_nome	  . "</br>";
				
				exit(0);
				*/
				
				/*
					1 - Negociacao;
					2 - Nao aceitam / Ja possuem
					3 - Contratados
					4 - Indicados
				*/	
				
				if ($id_original != $id_reportado) {
					
					//Campos comuns para qualquer mensagem
					$mensagens['id'] 		= $id_indicado;  
				
					if ($id_original == 2){
					// 2 - 4 (Não aceita)
						$mensagens['titulo'] 			= "Que pena";
						$mensagens['conteudo'] 			= "Seu indicado $ds_nome nao fechou negocio, continue indicando que diversos estabelecimentos ainda precisam dessa solucao";
						$mensagens['link'] 				= "";
					}
					
					if ($id_original == 3){
					// 3 - 4 (Contratado)
						$mensagens['titulo'] 			= "Parabens!";
						$mensagens['conteudo'] 			= "Seu indicado $ds_nome contratou nossa solucao. Seu premio de R$ $vl_premio ja esta agendado para ser depositado em sua conta";
						$mensagens['link'] 				= "";
					}
					
					if ($id_original == 1){
					// 1 - 4 (Negociacao)
						$mensagens['titulo'] 			= "Boa noticia!";
						$mensagens['conteudo'] 			= "Seu indicado $ds_nome esta conversando conosco. Assim que a negociacao avancar te avisaremos.";
						$mensagens['link'] 				= "";
					}
					
					//Adicionar apenas se houver
					$mensagens_list[] = $mensagens;
					
					//UPDATE
					$atualizar_reportado = "update clientes set id_status_reportado = id_status
					                         where id=$id_indicado";
					
					mysqli_query($conexao, $atualizar_reportado) or die ($conexao);
					
					//UPDATE
					
				}
				
				
			}
                $status = array( 'erro' => 'false'
    				    ,'mensagem' => ''
    				    ,'listaMensagens' => $mensagens_list 
    				    );
                //$json = json_encode($status); //, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
				
				
				//Preparando o token
				/*
				$token = base64_encode($usuario['id']);
				header("token: $token");
				*/
				
            	exibir_json($status);
                exit(0);
			//}   
		}    
	}        
}
?>