<?php

error_reporting(0);
ini_set(“display_errors”, 0);


function limpa_numero($numero)
{
    if (!empty($numero)) {
        // Limpo o numero de telefone e deixo só o ddd e o numero.
        $numero = str_replace('(', '', $numero);
        $numero = str_replace(')', '', $numero);
        $numero = str_replace('-', '', $numero);
        $numero = str_replace(' ', '', $numero);
    } else {
        $numero = '';
    }

    return $numero;
}

function envia_requisicao($hash, $mensagem, $numero)
{

    //Estrutura do json para fazer a requisição.
    $dados['acao'] = 'enviar';
    $dados['hash'] = $hash;
    $dados['mensagem'] = utf8_encode($mensagem);
    $dados['numero'] = $numero;

    $dado[] = json_encode($dados);


    $ch = curl_init("162.144.80.34/~sms/immobsms/routes/sms.php");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $dado);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $server_output = curl_exec($ch);
    $info = curl_getinfo($ch);

    curl_close($ch);
}

function nome_empreendimento($id)
{
    include "conexao.php";

    if (!empty($id)) {
        $query = mysqli_query($db, "SELECT descricao_empreendimento FROM empreendimento_cadastro WHERE idempreendimento_cadastro =  $id");
        if (mysqli_num_rows($query)) {
            $recebe = mysqli_fetch_assoc($query);
            $nome_empreendimento = $recebe['descricao_empreendimento'];
        }
    } else {
        $nome_empreendimento = '';
    }
    return $nome_empreendimento;
}

function nome_quadra($id)
{
    include "conexao.php";

    if (!empty($id)) {
        $query = mysqli_query($db, "SELECT quadra FROM produto WHERE idproduto = $id");

        if (mysqli_num_rows($query)) {
            $recebe = mysqli_fetch_assoc($query);
            $nome_quadra = $recebe['quadra'];
        }
    } else {
        $nome_quadra = '';
    }

    return $nome_quadra;
}

function nome_lote($id)
{
    include "conexao.php";

    if (!empty($id)) {
        $query = mysqli_query($db, "SELECT lote FROM lote WHERE idlote = $id");
        if (mysqli_num_rows($query)) {
            $recebe = mysqli_fetch_assoc($query);
            $nome_lote = $recebe['lote'];
        }
    } else {
        $nome_lote = '';
    }

    return $nome_lote;
}

function parcela($id)
{
    include "conexao.php";

    if (!empty($id)) {
        $query = mysqli_query($db, "SELECT * FROM parcelas WHERE idparcelas = $id ");
        if (mysqli_num_rows($query)) {
            foreach ($query as $value) {
                $data_vencimento = $value['data_vencimento_parcela'];
                $numero_parcela = $value['numero_sequencia'];
                $valor_parcela = $value['valor_parcelas'];
            }

            // Pego a data atual.
            $data_atual = date("d/m/Y");
            // Formato a data para padrão americano e transformo ela em timestamp Unix.
            $data_atual = strtotime(date("Y-m-d", strtotime($data_atual))); //formata para a-m-d

            // Formato a data para padrão americano e transformo ela em timestamp Unix.
            $data_atraso = strtotime(date("Y-m-d", strtotime($data_vencimento))); //formata para a-m-d

            // Subtraio as datas.
            $data_atraso = ($data_atual - $data_atraso) / 86400;

            // Array para o retorno.
            $dados['data_vencimento'] = $data_vencimento;
            $dados['numero_parcela'] = $numero_parcela;
            $dados['valor_parcela'] = $valor_parcela;
            $dados['data_atraso'] = $data_atraso;
        }
    } else {
        $dados['data_vencimento'] = '';
        $dados['numero_parcela'] = '';
        $dados['valor_parcela'] = '';
        $dados['data_atraso'] = '';
    }

    return $dados;
}

function pega_nome($id)
{
    include "conexao.php";

    if (!empty($id)) {
        $query = mysqli_query($db, "SELECT * FROM cliente WHERE idcliente = $id");
        if (mysqli_num_rows($query)) {
            foreach ($query as $value) {
                $nome_cli =  $value['nome_cli'];
            }
        }
    } else {
        $nome_cli = '';
    }

    return $nome_cli;
}

function troca_mensagem($mensagem, $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome, $nome_cli)
{
    $variaveis = array("@nome", "@sobrenome", "@empreendimento", "@quadra", "@lote",  "@data_vencimento", "@numero_parcela", "@valor_parcela", "@tempo_atraso", "@telefone", "@lead_nome", "@cliente_nome");
    $valores   = array("$primeiro_nome", "$segundo_nome", "$nome_empreendimento", "$nome_quadra", "$nome_lote", "$data_vencimento", "$numero_parcela", "$valor_parcela", "$tempo_atraso", "$numero_lead", "$crm_nome", "$nome_cli");

    // Aqui faço a troca das variaveis pelos valores.
    $mensagem = str_replace($variaveis, $valores, $mensagem);

    return $mensagem;
}

function envia_sms($id_empreendimento, $id_imobiliaria, $id_corretor, $id_cliente, $id_quadra, $id_lote, $id_parcela, $rotina, $numero_lead, $crm_nome)
{

    include "conexao.php";
    $query =  mysqli_query($db, "SELECT hash FROM usuario_sms WHERE status = 1");
    if (mysqli_num_rows($query)) {
        $query = mysqli_fetch_assoc($query);
        $hash = $query['hash'];
        $query = mysqli_query($db, "SELECT * FROM modelo_msg_sms WHERE id_empreendimento =  $id_empreendimento  AND rotina = '$rotina'");
        // Retorno das linhas da consulta.
        if (mysqli_num_rows($query)) {
            foreach ($query as $value) {
                // Verifico se a rotina está ativada.
                if ($value['ativado_desativado'] == 1) {
                    // Verifico se é uma administrador.
                    if ($value['grupo_acesso']  == 5) {
                        // Pego ID dos administrador.
                        $query_id = mysqli_query($db, "SELECT * FROM cliente WHERE idgrupo = 5 ");
                        if (mysqli_num_rows($query_id)) {
                            foreach ($query_id as $recebe) {
                                // Pego o telefone de cada administrador pelo seu ID
                                $cliente = $recebe['idcliente'];
                                $nome = $recebe['nome_cli'];
                                $query_tel = mysqli_query($db, "SELECT celular FROM telefone_cli WHERE id_cliente = $cliente");
                                if (mysqli_num_rows($query_tel)) {
                                    foreach ($query_tel as $celular) {

                                        // Separo o nome e o sobre nome;
                                        $partes = explode(" ", $nome);
                                        $primeiro_nome  = $partes[0];
                                        $segundo_nome   = $partes[1];

                                        // Chamo função para formatar numero;
                                        $numero = limpa_numero($celular['celular']);

                                        // Chamo a função para pegar o nome do empreendimento.
                                        $nome_empreendimento = nome_empreendimento($id_empreendimento);

                                        // Chamo a função para pegar o nome da quadra.
                                        $nome_quadra = nome_quadra($id_quadra);

                                        // Chama a função para pegar o nome do lote.
                                        $nome_lote = nome_lote($id_lote);

                                        // Chamo a função para pegar os dados da parcela.
                                        $dados = parcela($id_parcela);
                                        if (!empty($dados)) {
                                            foreach ($dados as $parcela) {
                                                $data_vencimento = $parcela['data_vencimento'];
                                                $numero_parcela = $parcela['numero_parcela'];
                                                $valor_parcela = $parcela['valor_parcela'];
                                                $tempo_atraso = $parcela['data_atraso'];
                                            }
                                        }

                                        // Pego o nome do cliente
                                        $nome_cli  = pega_nome($id_cliente);

                                        $mensagem = troca_mensagem($value['modelo_msg'], $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome, $nome_cli);

                                        // Chamo a função que efetua a requisição.
                                        envia_requisicao($hash, $mensagem, $numero);
                                    }
                                }
                            }
                        }
                    }
                    // Verifico se é Corretor.
                    elseif ($value['grupo_acesso'] == 7) {
                        $query = mysqli_query($db, "SELECT celular FROM telefone_cli WHERE id_cliente = $id_corretor");
                        if (mysqli_num_rows($query)) {
                            foreach ($query as $numero_corretor) {

                                // Chamo função para formatar numero.
                                $numero = limpa_numero($numero_corretor['celular']);

                                // Pego o nome do corretor.
                                $nome = pega_nome($id_corretor);

                                // Separo o nome e o sobre nome;
                                $partes = explode(" ", $nome);
                                $primeiro_nome  = $partes[0];
                                $segundo_nome   = $partes[1];

                                // Chamo a função para pegar o nome do empreendimento.
                                $nome_empreendimento = nome_empreendimento($id_empreendimento);

                                // Chamo a função para pegar o nome da quadra.
                                $nome_quadra = nome_quadra($id_quadra);

                                // Chama a função para pegar o nome do lote.
                                $nome_lote = nome_lote($id_lote);

                                // Chamo a função para pegar os dados da parcela.
                                $dados = parcela($id_parcela);
                                if (!empty($dados)) {
                                    foreach ($dados as $parcela) {
                                        $data_vencimento = $parcela['data_vencimento'];
                                        $numero_parcela = $parcela['numero_parcela'];
                                        $valor_parcela = $parcela['valor_parcela'];
                                        $tempo_atraso = $parcela['data_atraso'];
                                    }
                                }

                                // Pego o nome do cliente
                                $nome_cli  = pega_nome($id_cliente);

                                $mensagem = troca_mensagem($value['modelo_msg'], $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome,  $nome_cli);

                                // Chamo a função que efetua a requisição.
                                envia_requisicao($hash, $mensagem, $numero);
                            }
                        }
                    }
                    // Verifico se é Imobiliaria.
                    elseif ($value['grupo_acesso'] == 6) {
                        $query = mysqli_query($db, "SELECT celular FROM telefone_cli WHERE id_cliente = $id_imobiliaria");
                        if (mysqli_num_rows($query)) {
                            foreach ($query as $numero_imobiliaria) {

                                // Chamo função para formatar numero;
                                $numero = limpa_numero($numero_imobiliaria['celular']);

                                // Pego o nome do corretor.
                                $nome = pega_nome($id_imobiliaria);

                                // Separo o nome e o sobre nome;
                                $partes = explode(" ", $nome);
                                $primeiro_nome  = $partes[0];
                                $segundo_nome   = $partes[1];

                                // Chamo a função para pegar o nome do empreendimento.
                                $nome_empreendimento = nome_empreendimento($id_empreendimento);

                                // Chamo a função para pegar o nome da quadra.
                                $nome_quadra = nome_quadra($id_quadra);

                                // Chama a função para pegar o nome do lote.
                                $nome_lote = nome_lote($id_lote);

                                // Chamo a função para pegar os dados da parcela.
                                $dados = parcela($id_parcela);
                                if (!empty($dados)) {
                                    foreach ($dados as $parcela) {
                                        $data_vencimento = $parcela['data_vencimento'];
                                        $numero_parcela = $parcela['numero_parcela'];
                                        $valor_parcela = $parcela['valor_parcela'];
                                        $tempo_atraso = $parcela['data_atraso'];
                                    }
                                }

                                // Pego o nome do cliente
                                $nome_cli  = pega_nome($id_cliente);

                                $mensagem = troca_mensagem($value['modelo_msg'], $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome,  $nome_cli);

                                // Chamo a função que efetua a requisição.
                                envia_requisicao($hash, $mensagem, $numero);
                            }
                        }
                    }
                    // Verifico se é Cliente.
                    elseif ($value['grupo_acesso'] == 8) {
                        $query = mysqli_query($db, "SELECT celular FROM telefone_cli WHERE id_cliente = $id_cliente");
                        if (mysqli_num_rows($query)) {
                            foreach ($query as $numero_cliente) {

                                // Chamo função para formatar numero;
                                $numero = limpa_numero($numero_cliente['celular']);

                                // Pego o nome do corretor.
                                $nome = pega_nome($id_cliente);

                                // Separo o nome e o sobre nome;
                                $partes = explode(" ", $nome);
                                $primeiro_nome  = $partes[0];
                                $segundo_nome   = $partes[1];

                                // Chamo a função para pegar o nome do empreendimento.
                                $nome_empreendimento = nome_empreendimento($id_empreendimento);

                                // Chamo a função para pegar o nome da quadra.
                                $nome_quadra = nome_quadra($id_quadra);

                                // Chama a função para pegar o nome do lote.
                                $nome_lote = nome_lote($id_lote);

                                // Chamo a função para pegar os dados da parcela.
                                $dados = parcela($id_parcela);
                                if (!empty($dados)) {
                                    foreach ($dados as $parcela) {
                                        $data_vencimento = $parcela['data_vencimento'];
                                        $numero_parcela = $parcela['numero_parcela'];
                                        $valor_parcela = $parcela['valor_parcela'];
                                        $tempo_atraso = $parcela['data_atraso'];
                                    }
                                }

                                // Pego o nome do cliente
                                $nome_cli  = pega_nome($id_cliente);

                                $mensagem = troca_mensagem($value['modelo_msg'], $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome,  $nome_cli);

                                // Chamo a função que efetua a requisição.
                                envia_requisicao($hash, $mensagem, $numero);
                            }
                        }
                    }
                }
            }
        }
    }
}

function envia_sms2($id_empreendimento, $id_imobiliaria, $id_corretor, $id_cliente, $id_quadra, $id_lote, $id_parcela, $rotina, $numero_lead, $crm_nome)
{
    include "conexao.php";

    $query =  mysqli_query($db, "SELECT hash FROM usuario_sms WHERE status = 1");
    if (mysqli_num_rows($query)) {
        $query = mysqli_fetch_assoc($query);
        $hash = $query['hash'];
        $query = mysqli_query($db, "SELECT * FROM modelo_msg_sms WHERE id_empreendimento =  $id_empreendimento  AND rotina = '$rotina'");
        // Retorno das linhas da consulta.
        if (mysqli_num_rows($query)) {
            foreach ($query as $value) {
                // Verifico se a rotina está ativada.
                if ($value['ativado_desativado'] == 1) {
                    // Verifico se é Corretor.
                    if ($value['grupo_acesso'] == 7) {
                        foreach ($id_corretor as $corretor_id) {
                            $query = mysqli_query($db, "SELECT celular FROM telefone_cli WHERE id_cliente = $corretor_id");
                            if (mysqli_num_rows($query)) {
                                foreach ($query as $numero_corretor) {

                                    // Chamo função para formatar numero.
                                    $numero = limpa_numero($numero_corretor['celular']);

                                    // Pego o nome do corretor.
                                    $nome = pega_nome($corretor_id);

                                    // Separo o nome e o sobre nome;
                                    $partes = explode(" ", $nome);
                                    $primeiro_nome  = $partes[0];
                                    $segundo_nome   = $partes[1];

                                    // Chamo a função para pegar o nome do empreendimento.
                                    $nome_empreendimento = nome_empreendimento($id_empreendimento);

                                    // Chamo a função para pegar o nome da quadra.
                                    $nome_quadra = nome_quadra($id_quadra);

                                    // Chama a função para pegar o nome do lote.
                                    $nome_lote = nome_lote($id_lote);

                                    // Chamo a função para pegar os dados da parcela.
                                    $dados = parcela($id_parcela);
                                    if (!empty($dados)) {
                                        foreach ($dados as $parcela) {
                                            $data_vencimento = $parcela['data_vencimento'];
                                            $numero_parcela = $parcela['numero_parcela'];
                                            $valor_parcela = $parcela['valor_parcela'];
                                            $tempo_atraso = $parcela['data_atraso'];
                                        }
                                    }

                                    // Pego o nome do cliente
                                    $nome_cli  = pega_nome($id_cliente);

                                    $mensagem = troca_mensagem($value['modelo_msg'], $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome,  $nome_cli);

                                    // Chamo a função que efetua a requisição.
                                    envia_requisicao($hash, $mensagem, $numero);
                                }
                            }
                        }
                    }
                    // Verifico se é Imobiliaria.
                    elseif ($value['grupo_acesso'] == 6) {
                        foreach ($id_imobiliaria as $imobiliaria_id) {
                            $query = mysqli_query($db, "SELECT celular FROM telefone_cli WHERE id_cliente = $imobiliaria_id");
                            if (mysqli_num_rows($query)) {
                                foreach ($query as $numero_imobiliaria) {

                                    // Chamo função para formatar numero;
                                    $numero = limpa_numero($numero_imobiliaria['celular']);

                                    // Pego o nome do corretor.
                                    $nome = pega_nome($imobiliaria_id);

                                    // Separo o nome e o sobre nome;
                                    $partes = explode(" ", $nome);
                                    $primeiro_nome  = $partes[0];
                                    $segundo_nome   = $partes[1];

                                    // Chamo a função para pegar o nome do empreendimento.
                                    $nome_empreendimento = nome_empreendimento($id_empreendimento);

                                    // Chamo a função para pegar o nome da quadra.
                                    $nome_quadra = nome_quadra($id_quadra);

                                    // Chama a função para pegar o nome do lote.
                                    $nome_lote = nome_lote($id_lote);

                                    // Chamo a função para pegar os dados da parcela.
                                    $dados = parcela($id_parcela);
                                    if (!empty($dados)) {
                                        foreach ($dados as $parcela) {
                                            $data_vencimento = $parcela['data_vencimento'];
                                            $numero_parcela = $parcela['numero_parcela'];
                                            $valor_parcela = $parcela['valor_parcela'];
                                            $tempo_atraso = $parcela['data_atraso'];
                                        }
                                    }

                                    // Pego o nome do cliente
                                    $nome_cli  = pega_nome($id_cliente);

                                    $mensagem = troca_mensagem($value['modelo_msg'], $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome,  $nome_cli);

                                    // Chamo a função que efetua a requisição.
                                    envia_requisicao($hash, $mensagem, $numero);
                                }
                            }
                        }
                    }
                    // Verifico se é Cliente.
                    elseif ($value['grupo_acesso'] == 8) {
                        foreach ($id_cliente as $cliente_id) {
                            $query = mysqli_query($db, "SELECT celular FROM telefone_cli WHERE id_cliente = $cliente_id");
                            if (mysqli_num_rows($query)) {
                                foreach ($query as $numero_cliente) {

                                    // Chamo função para formatar numero;
                                    $numero = limpa_numero($numero_cliente['celular']);

                                    // Pego o nome do corretor.
                                    $nome = pega_nome($cliente_id);

                                    // Separo o nome e o sobre nome;
                                    $partes = explode(" ", $nome);
                                    $primeiro_nome  = $partes[0];
                                    $segundo_nome   = $partes[1];

                                    // Chamo a função para pegar o nome do empreendimento.
                                    $nome_empreendimento = nome_empreendimento($id_empreendimento);

                                    // Chamo a função para pegar o nome da quadra.
                                    $nome_quadra = nome_quadra($id_quadra);

                                    // Chama a função para pegar o nome do lote.
                                    $nome_lote = nome_lote($id_lote);

                                    // Chamo a função para pegar os dados da parcela.
                                    $dados = parcela($id_parcela);
                                    if (!empty($dados)) {
                                        foreach ($dados as $parcela) {
                                            $data_vencimento = $parcela['data_vencimento'];
                                            $numero_parcela = $parcela['numero_parcela'];
                                            $valor_parcela = $parcela['valor_parcela'];
                                            $tempo_atraso = $parcela['data_atraso'];
                                        }
                                    }

                                    // Pego o nome do cliente
                                    $nome_cli  = pega_nome($id_cliente);

                                    $mensagem = troca_mensagem($value['modelo_msg'], $primeiro_nome, $segundo_nome, $nome_empreendimento, $nome_quadra, $nome_lote, $data_vencimento, $numero_parcela, $valor_parcela, $tempo_atraso, $numero_lead, $crm_nome,  $nome_cli);

                                    // Chamo a função que efetua a requisição.
                                    envia_requisicao($hash, $mensagem, $numero);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
