<?php

///api integração
require '../../ad/admin/config/_conecta.php';
require '../../ad/admin/config/_funcoes.php';
require '../../ad/admin/config/_globais.php';
require '../../ad/admin/config/_funcoes_nextbilling.php';

//exibe erros = 1 #não exibe = 0
ini_set('display_errors', 1);
error_reporting(1);

//cabeçalho de codificação json
header('Content-Type: application/json; charset=utf8');

//trata
$key = secure($_POST['key']);
$op = secure($_POST['op']);
$name = secure($_POST['name']);
$email_id = secure($_POST['email_id']);
$username = secure($_POST['sipusername']);
$sippassword = secure($_POST['sippassword']);
$password = secure($_POST['password']);
$code = secure($_POST['code']);
$cellphone = secure($_POST['cellphone']);
$cpf = secure($_POST['cpf']);
$price = secure($_POST['price']);
$id_charge = secure($_POST['id_charge']);

//autentica
if (empty($key) && empty($op) && KEYAPI != $key) {
  $array = ['status' => 'ERROR', 'message' => 'autenticacao requerida'];
  $resultado = json_encode($array, JSON_PRETTY_PRINT);
  echo $resultado;
  exit;
}
if (empty($key)) {
  $array = ['status' => 'ERROR', 'message' => 'insira a chave'];
  $resultado = json_encode($array, JSON_PRETTY_PRINT);
  echo $resultado;
  exit;
}
if (empty($op)) {
  $array = ['status' => 'ERROR', 'message' => 'digite o nome da API'];
  $resultado = json_encode($array, JSON_PRETTY_PRINT);
  echo $resultado;
  exit;
}
if (KEYAPI != $key) {
  $array = ['status' => 'ERROR', 'message' => 'falha na autenticação da API'];
  $resultado = json_encode($array, JSON_PRETTY_PRINT);
  echo $resultado;
  exit;
}
///////////////////////////////

/////////////////////////////////
switch ($op) {
    //api de registro de novo usuario
  case 'register':
    //$error = '0'; //SEM ERRO

    //trata posts
    $email = trim($email_id);
    $email = str_replace('*', '', $email);
    $email = str_replace(' ', '', $email);
    $nome = trim($name);
    $nome_separado = explode(" ", $nome);
    if (empty($nome_separado[1])) $nome_composto = false;
    else $nome_composto = true;
    $cpf = str_replace('.', '', $cpf);
    $cpf = str_replace('-', '', $cpf);
    $cpf = str_replace('/', '', $cpf);
    // if (empty($cpf)) {
    //   $cpf = '00000000000';
    // }
    $rg = $cpf;
    $cep = '00000000';
    $endereco = 'CADASTRO APP';
    $cidade = 'CADASTRO APP';
    $code = str_replace('+', '', $code);
    $code = str_replace(' ', '', $code);
    $telefone = str_replace('(', '', $cellphone);
    $telefone = str_replace(')', '', $telefone);
    $telefone = str_replace('-', '', $telefone);
    $telefone = str_replace('.', '', $telefone);
    $telefone = str_replace(' ', '', $telefone);
    $ddd_local = substr($telefone, 0, 2);

    if ('55' != $code) {
      $doc = 'valido';
    }
    //verifica documento
    elseif ($cpf > 12) {
      ///validar cpf
      $validate = new validar();
      if ($validate->cpf($cpf)) {
        $doc = 'valido';
      } else {
        $doc = 'invalido';
      }
    } else {
      ///validar cnpj
      $validate = new validar();
      if ($validate->cnpj($cpf)) {
        $doc = 'valido';
      } else {
        $doc = 'invalido';
      }
    }

    // Trata os acentos 
    $comAcentos = array('à', 'á', 'â', 'ã', 'ä', 'å', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ü', 'ú', 'ÿ', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'O', 'Ù', 'Ü', 'Ú');

    $semAcentos = array('a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'y', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U');


    // Trata o nome para verificar
    $verificaNome = $nome;
    $verificaNome = str_replace($comAcentos, $semAcentos, $verificaNome);
    $verificaNome = strtoupper($verificaNome);

    $cpf = str_replace('-', '', $cpf);
    $cpf = str_replace('.', '', $cpf);
    $cpf = str_replace('/', '', $cpf);

    // link para consulta 
    // https://api.exato.digital/receita-federal/cpf-sem-nascimento?token=3b66eda5902c4fc78605402bbeac55e6&cpf=31619243806&format=json

    // Função para consultar o cpf/cnpj
    $curl = curl_init();

    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://api.exato.digital/receita-federal/cpf-sem-nascimento?token=3b66eda5902c4fc78605402bbeac55e6&cpf=' . $cpf . '&format=json',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_CONNECTTIMEOUT => 0,
      CURLOPT_TIMEOUT => 100,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
    ));

    $response = curl_exec($curl);
    $obj = json_decode($response);
    $retorno = json_decode(json_encode($obj), true);

    print_r($obj);



    curl_close($curl);
    $consultaCpf = $retorno['Result']['SituacaoCadastral'];
    $consultaNome = $retorno['Result']['NomePessoaFisica'];
    $consultaErro = $retorno['TransactionResultType'];


    //verifica se dominio do email está na blacklist
    $email_dominio = explode('@', $email_id);
    $email_dominio = $email_dominio[1];
    $blacklist = mysql_num_rows(mysql_query("SELECT codigo FROM blacklist_dominios WHERE dominio='$email_dominio' "));

    //verifica se já tem cadastrado email ou usuario no sistema
    $resultx = mysql_query("SELECT codigo FROM clientes WHERE (email='$email_id' OR cpf='$cpf')");
    $totx = mysql_num_rows($resultx);

    if (empty($name) || empty($email_id) || empty($password) || empty($cellphone) || empty($cpf)) { //campos em branco
      $error = 1; //campos vazios
      $message = 'campos nao preenchidos'; //mensagem de erro
    } //FIM //campos em branco
    // if ($consultaCpf != 'REGULAR' && $consultaErro != 'InsufficientBalance') {
    //   $error = 7; //tentativa de injection
    //   $message = 'cpf invalido'; //mensagem de erro
    // } else if ($verificaNome != $consultaNome && $consultaErro != 'InsufficientBalance') {
    //   $error = 8; //tentativa de injection
    //   $message = 'NOME e CPF divergentes, por favor verifique e tente novamente.'; //mensagem de erro
    // } elseif (validatxt($email_id) || validatxt($password)) { //injection
    //   $error = 2; //tentativa de injection
    //   $message = 'dados negados'; //mensagem de erro
    // } //FIM //injection
    // elseif ($blacklist > '0') { //lista negra dominios
    //   $error = 11; //dominio do email está na lista negra
    //   $message = 'email invalido'; //mensagem de erro
    // } //FIM //lista negra dominios
    elseif ('invalido' == $doc) { //checa documento
      $error = 5; //documentos invalidos
      $message = 'documento invalido'; //mensagem de erro
    } //FIM //checa documento
    elseif ($nome_composto == false) { //checa nome
      $error = 6; //nome invalido
      $message = 'nome invalido'; //mensagem de erro
    } //FIM //checa nome
    elseif ($totx > 0) { //dados já existem no sistema
      $error = 3; //dados já cadastrados no sistema
      $message = 'estes dados ja existem no sistema'; //mensagem de erro
    }
    // elseif (valida_email($email) == '0') {
    //   $error = 4; //email invalido
    //   $message = 'entre com um email valido'; //mensagem de erro
    // } //FIM //dados já existem no sistema
    // elseif (verificaemail2($email) == '1') { //checa email
    //   $error = 4; //email invalido
    //   $message = 'entre com um email valido'; //mensagem de erro
    // } //FIM //checa email
    else { //email não liberado para cadastro
      $error = 0; //email liberado para cadastro
    } //FIM //email não liberado para cadastro
    // $error = 0;
    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite o cadastro
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite o cadastro

    else { //permite cadastro com sucesso

      $plano = '399'; //Plano APP - 3
      //pega dados do plano
      $sqlPlano = mysql_query("SELECT * FROM planos WHERE codigo='$plano' LIMIT 1");
      $rowPlano = mysql_fetch_array($sqlPlano);

      //pega dados da subrevenda q o plano é vinculado
      $sqlSub = mysql_query("SELECT servidor_revenda, usuario_revenda, senha_revenda, api_token, api_key, sip FROM subrevendas WHERE codigo='" . $rowPlano['subrevenda'] . "' ");
      $rowSub = mysql_fetch_array($sqlSub);

      //Gera um usuario
      $login = geraSenha(8, true, true);
      $senha = $password;
      $senhaSQL = base64_encode($senha);

      $dados = [
        'id_hie' => $rowPlano['cod_revenda'], //ID da Revenda dona do Cliente
        'id_origem' => '1', //ID do Tipo de Origem do Cliente
        'id_vinculo' => '1', //ID do Vinculo do Cliente
        'id_vendedor' => '1', //ID do Vendedor #1 = vendedor padrão
        'nome_fantasia' => $nome, //Nome do Assinante
        'razao_social' => $nome, //Razão Social / Nome do Assinante
        'cpf' => $cpf, //CNPJ / CPF
        'rg' => $rg, //Inscrição Estadual / RG
        'cep' => $cep, //CEP do Endereço
        'endereco' => $endereco,
        'bairro' => $complemento,
        'cidade' => $cidade,
        'uf' => $estado,
        'telefone' => $code . $telefone,
        'contato' => $nome,
        'email' => $email, //Email principal
        'moeda' => '1', //ID da Moeda utilizada pelo Assinante
        'tem_ramal' => '0', //Permite que o Assinante gerencie Linhas e Ramais
        'tem_did' => '0', //Permite que o Assinante gerencie Números Entrantes
        'tem_sms' => '0', //Permite que o Assinante gerencie Envio de SMS
        'tem_gravacao' => '0', //Permite que o Assinante ative/desative gravação de Ligações
        'tem_sigame' => '1', //Permite que o Assinante gerencie Siga-ME
        'tem_fila' => '0', //Permite que o Assinante gerencie Filas de Atendimento
        'tem_ura' => '0', //Permite que o Assinante gerencie Menus de URA
        'tem_portal' => '0', //Permite que o Assinante gerencie Portal de Voz
        'tem_callingcard' => '0', //Permite que o Assinante gerencie CallingCards
        'tem_grupo_captura' => '0', //Permite que o Assinante gerencie Grupos de Captura
        'tem_grupo_chamada' => '0', //Permite que o Assinante gerencie Grupos de Chamada
        'tem_conferencia' => '0', //Permite que o Assinante gerencie Salas de Conferencia
        'tem_campanha_sms' => '0', //Permite que o Assinante gerencie Campanhas de SMS
        'tem_campanha_voz' => '0', //Permite que o Assinante gerencie Campanhas de Voz
        'tem_provisionamento' => '0', //Permite que o Assinante gerencie Provisionamento de Equipamentos
        'tem_escuta' => '0', //Permite que o Assinante realize Escuta de Ligações
        'tem_ip_global' => '1', //Permite que o Assinante realize ligações para outros Ramais da Plataforma
        'user' => [
          'username' => $login, //Nome de Usuário do Painel
          'password' => $senha, //Senha de Acesso do Painel
        ],
        'finance' => [
          'tipo_tar' => '0', //Tipo de Tarifação / 0 - PRE-PAGO | 1 - POS-PAGO | 2 - FRANQUIA
          'alerta_status' => '0', //Ativa / Desativa o Alerta de Saldo Baixo
          'id_plano' => $rowPlano['cod_promo'], //ID do Plano de Prefixos
          'id_perfil' => '1', //ID do Perfil Financeiro
          'simultaneas' => $rowPlano['txtSIMULTANEAS'], //ligações simultaneas / 0 para ilimitado

          'ini_f' => $rowPlano['txtINIF'], //Tarifação Mínima para Fixo
          'inc_f' => $rowPlano['txtINCF'], //Incremento para Fixo
          'tmp_f' => $rowPlano['txtTMPF'], //Tolerância para Fixo

          'ini_c' => $rowPlano['txtINIC'], //Tarifação Mínima para Móvel
          'inc_c' => $rowPlano['txtINCC'], //Incremento para Móvel
          'tmp_c' => $rowPlano['txtTMPC'], //Tolerância para Móvel

          'ini_f_ddi' => $rowPlano['txtINII'], //Tarifação Mínima para Fixo DDI
          'inc_f_ddi' => $rowPlano['txtINCI'], //Incremento para Fixo DDI
          'tmp_f_ddi' => $rowPlano['txtTMPI'], //Tolerância para Fixo DDI

          'ini_c_ddi' => $rowPlano['txtINII'], //Tarifação Mínima para Móvel DDI
          'inc_c_ddi' => $rowPlano['txtINCI'], //Incremento para Móvel DDI
          'tmp_c_ddi' => $rowPlano['txtTMPI'], //Tolerância para Móvel DDI

          'disk_space' => '250', //Espaço em Disco em MB (0 - Ilimitado)
        ],
      ];
      $api = 'manageCustomers';
      $resposta = nextput($api, $dados, $rowSub['sip'], $rowSub['api_token'], $rowSub['api_key']);
      //FIM //API criação de assinante
      // print_r($resposta);
      // exit;

      if ('1' == $resposta['error']) { //erro ao criar o cadastro na plataforma
        //grava log
        log_cliente('', '', '', $name, 'NOVO CLIENTE: Erro ao criar cadastro no next - Mob APP', $ip, $data, $hora, $resposta['message']);

        $error = '5'; //cadastro não criado no siptek
        $message = 'erro ao criar o cliente na plataforma [' . $resposta['message'] . ']'; //mensagem de erro
        //ERRO
        $array = ['status' => 'fail', 'message' => $message];
      } //FIM //erro ao criar o cadastro na plataforma

      else { //pega os dados gerados pela plataforma voip
        $linha_ip = mt_rand(1000000, 9999999);
        $username = $linha_ip;
        //$password = geraSenha(12, true, true);

        $login_site = trim($login);
        $senha_site = trim($password);

        $login_soft = trim($username);
        $senha_soft = trim($password);

        $chave = md5($email_id);

        $auth = '0';
        $tech = 'SIP';

        $volume_rx = '-21';
        $volume_tx = '-21';
        $rtp_symmetric = '0';
        $codecs = 'g729; ulaw; alaw';

        $funcionalidade = '0';
        $allow_transfer = '0';
        $allow_record_fixo = '0';
        $allow_record_movel = '0';
        $reproduzir_erros = '0';
        $voicemail_status = '0';
        $cadeado_status = '0';

        $sigame_always_st = '0';
        $sigame_busy_st = '0';
        $sigame_noanswer_st = '0';
        $sigame_offline_st = '0';

        $ddd_local_cliente = $code . $ddd_local;
        $simultaneas = '0';
        $max_ringtime = '45';
        $max_ringtime_voip = '20';
        $max_calltime = '7200';

        $id_plataforma = $resposta['new_id'];

        $numero_bina = '1133224455'; //fixo

        //retorno de id da plataforma
        if ($id_plataforma > '0') {
          //API criação de ramais
          $dados2 = [
            'customer_id' => $resposta['new_id'], //ID do Cliente dono da Linha (Tokens de Nível Assinante não precisam enviar esse campo)

            'auth' => $auth, //Tipo de Autentição da Linha //0 - Usuário e Senha //1 - IP + Techprefix
            'tech' => $tech, //Tecnologia da Linha (SIP)
            'linha_ip' => $linha_ip, //Número da Linha IP de 2 a 7 digitos (inteiro, de 10 a 999999)
            'username' => $username, //Login/Usuário da Linha (caso auth = 0)
            'password' => $password, //Senha da Linha (caso auth = 0)
            'tipo_tar' => '1', //Tipo de Tarifação: 0 - Saldo da Linha | 1 - Saldo do Cliente
            'callerid' => $numero_bina, //Número a ser binado em ligações externas

            'volume_rx' => $volume_rx,
            'volume_tx' => $volume_tx,
            'rtp_symmetric' => $rtp_symmetric,
            'codecs' => $codecs, //Lista de Codecs liberados para essa Linha, separados por ponto-e-vírgula

            'funcionalidade' => $funcionalidade, //Tipo de Funcionalidade da Linha //0 - Linha IP / Ramal //1 - Portal de Voz //2 - Central CallingCard //3 - Menu de URA //4 - Fila de Atendimento //5 - Cabine Telefônica
            'funcionalidade_id' => '', //ID da Funcionalidade, caso necessário (URA ou Fila de Atendimento)
            'allow_transfer' => $allow_transfer, //Ativar / Desativar transferência de Ligações
            'allow_record_fixo' => $allow_record_fixo,
            'allow_record_movel' => $allow_record_movel,
            'reproduzir_erros' => $reproduzir_erros, //Ativar / Desativar reprodução de erros na Linha
            'voicemail_status' => $voicemail_status,
            'cadeado_status' => $cadeado_status,

            'sigame_always_st' => $sigame_always_st,
            'sigame_busy_st' => $sigame_busy_st,
            'sigame_noanswer_st' => $sigame_noanswer_st,
            'sigame_offline_st' => $sigame_offline_st,

            'voip' => $rowPlano['txtVOIP'], //Ativar / Desativar ligações de Ramal para Ramal
            'fixo_local' => $rowPlano['txtFIXO'], //Ativar / Desativar ligações para Fixo Local
            'fixo_ldn' => $rowPlano['txtFIXO'], //Ativar / Desativar ligações para Fixo Longa Distância
            'movel_local' => $rowPlano['txtMOVEL'], //Ativar / Desativar ligações para Móvel Local
            'movel_ldn' => $rowPlano['txtMOVEL'], //Ativar / Desativar ligações para Móvel Longa Distância
            'fixo_ddi' => $rowPlano['txtDDI'], //Ativar / Desativar ligações para Fixo DDI
            'movel_ddi' => $rowPlano['txtDDI'], //Ativar / Desativar ligações para Móvel DDI

            'ddd_local' => $ddd_local_cliente, //Código do País + DDD para definir ligações locais da Linha
            'simultaneas' => $simultaneas,
            'max_ringtime' => $max_ringtime,
            'max_ringtime_voip' => $max_ringtime_voip,
            'max_calltime' => $max_calltime,
          ];
          $api2 = 'manageDevices';

          $resposta2 = nextput($api2, $dados2, $rowSub['sip'], $rowSub['api_token'], $rowSub['api_key']);
          //FIM //API criação de ramais

          if ('1' == $resposta2['error']) {
            //grava log
            log_cliente('', '', '', $name, 'NOVO CLIENTE: Erro ao criar ramal no next - Mob APP', $ip, $data, $hora, $resposta2['message']);

            $error = '6'; //ramail não criado
            $message = 'erro ao criar ramal na plataforma [' . $resposta2['message'] . ']'; //mensagem de erro
            //ERRO
            $array = ['status' => 'fail', 'message' => $message];
          } //erro ao criar conta voip na plataforma
          else { //conta voip criada na plataforma
            //grava dados do cliente no sistema
            $sql_conta = "nome='$nome', subrevenda='" . $rowPlano['subrevenda'] . "', plano='$plano', email='$email', cpf='$cpf', senha='$senhaSQL', id_plataforma='$id_plataforma', cadastrogratis='1', cliente_cadastro='2', ativa='S', numero='$login', telefone_cel_codigo='$code', telefone='$telefone', login_softphone='$login_soft', senha_softphone='" . base64_encode($senha_soft) . "' ";

            $sql = "INSERT INTO clientes SET $sql_conta, dat_cad='$data', hor_cad='$hora', ip='$ip', chave='$chave' ";
            mysql_query($sql) or exit('Erro ao gravar dados! Consulte o desenvolvedor ');
            $codigoCli = mysql_insert_id(); //pega código do cliente
            $cod_cli = $codigoCli;

            //grava conta voip no banco de dados
            mysql_query("INSERT INTO ramais_linhas SET cod_cli='$codigoCli', id_plataforma='" . $resposta2['new_record'] . "', username='$username', numero='$linha_ip', senha='" . base64_encode($password) . "', dat_cad='$data', hor_cad='$hora', voip='" . $rowPlano['txtVOIP'] . "', fixo_local='" . $rowPlano['txtFIXO'] . "', fixo_ldn='" . $rowPlano['txtFIXO'] . "', movel_local='" . $rowPlano['txtMOVEL'] . "', movel_ldn='" . $rowPlano['txtMOVEL'] . "', fixo_ddi='" . $rowPlano['txtDDI'] . "', movel_ddi='" . $rowPlano['txtDDI'] . "', auth='$auth', tech='$tech', volume_rx='$volume_rx', volume_tx='$volume_tx', rtp_symmetric='$rtp_symmetric', codecs='$codecs', funcionalidade='$funcionalidade', allow_transfer='$allow_transfer', gravacao='$allow_record_fixo', allow_record_movel='$allow_record_movel', reproduzir_erros='$volureproduzir_errosme_tx', correio_voz='$voicemail_status', cadeado_status='$cadeado_status', sigame_always_st='$sigame_always_st', sigame_busy_st='$sigame_busy_st', sigame_noanswer_st='$sigame_noanswer_st', sigame_offline_st='$sigame_offline_st', ddd_local='$ddd_local_cliente', simultaneas='$simultaneas', max_ringtime='$max_ringtime', max_ringtime_voip='$max_ringtime_voip', max_calltime='$max_calltime', numero_bina='$numero_bina' ") or exit('Erro ao inserir conta voip!');

            //SUCESSO
            $array = ['status' => 'success', 'message' => 'usuario autenticado com sucesso', 'sipusername' => $login_soft, 'sippassword' => $senha_soft, 'sip' => '' . $rowSub['sip'] . ':5060'];

            //grava log
            log_cliente('', '', $codigoCli, $name, 'NOVO CLIENTE: cadastrado no next - Mob APP', $ip, $data, $hora, '');

            //integração rd station
            $dados = array(
              "identificador" => "Cadastro via Mob APP",
              "email" => $email,
              "nome" => $nome,
              "token_rdstation" => "2c2780e6883187831316dbd4d90ae212"
            );
            $apiRD = leadRD($dados);
            //FIM //integração rd station


            //#lançar creditos gratis
            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

            //liberação automatica de creditos
            if ('1' == $rowMeta['credito_automatico'] && $rowPlano['valor_creditos_gratis'] > '0.00') {
              $valor_lancado = $rowPlano['valor_creditos_gratis'];

              $dados = [
                'type' => 'customer', //device: Gerenciar saldo de uma Linha //customer: Gerenciar saldo de um Cliente
                'record_id' => $id_plataforma, //ID do Cliente ou da Linha IP
                'amount' => $valor_lancado, //Valor da Operação (Ex: 15.50)
                'operation' => 'credit', //Tipo de Operação//debit: Realizar uma retirada de valor no Saldo//credit: Realizar uma adição de valor no Saldo//set: Setar um valor exato ao Saldo
                'is_hidden' => 0, //0 - Histórico visível para o Cliente | 1 - Histórico não fica visível para o Cliente
              ];
              $api = 'manageCredit';
              $resposta = nextpost($api, $dados, $rowSub['sip'], $rowSub['api_token'], $rowSub['api_key']);
            } //FIM //liberação automatica de creditos

            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            //#FIM ##lançar creditos gratis

            //DISPARA EMAILS #############################################################
            $sip_plano = $rowSub['sip'];

            //dados de acesso ao site
            if (!empty($email) && !empty($password)) {
              $dadosLogin = '
							Dados de acesso ao site<br><br>
							<b>Usuário:</b> ' . $login_site . ' <br>
							<b>Senha:</b> ' . $senha_site . ' <br><br>
							';
            }
            //dados para autenticação sofphone
            if (!empty($login_soft) && !empty($senha_soft)) {
              $dadosLogin_soft = '
							Dados para autenticação do App Mobile, Softphone e demais dispositivos SIP<br><br>
							<b>Usuário:</b> ' . $login_soft . ' <br>
							<b>Senha:</b> ' . $senha_soft . " <br><br>

							<b>Servidor SIP/proxy:</b> $sip_plano<br>
							<b>Porta:</b> 5090 <br><br>

							<a href=\"$link_softphone\">Clique aqui</a> e faça o download do nosso Softphone VBPhone.
							<br><br>
							";
            }

            //CRIA MENSAGEM PARA O ADMIN

            //assunto
            $subject = 'Abertura e ativação de conta pelo Mob APP';

            //mensagem
            $message = "
						<html>
						<font face='verdana' size='2'>

						Cliente criado pelo Mob APP.<br><br>
						A conta do cliente foi criada e já está liberada para uso.<br><br>

						------------------------------------------------------------<br><br>
						<B>DADOS DA CONTA</B><BR><BR>
						------------------------------------------------------------<br><br>

						<b>Plano:</b> " . $rowPlano['titulo'] . " <br><br>

						$dadosLogin
						$dadosLogin_soft

						------------------------------------------------------------<br><br>
						<B>DADOS CADASTRAIS RESUMIDOS</B><BR><BR>
						------------------------------------------------------------<br><br>

						<b>Nome ou Razão Social:</b> " . $nome . ' <br><br>
						<b>Email:</b> ' . $email . '<br><br>

						-----------------------------------------------------------<br><br>

						Essa é uma mensagem automática do sistema. Não é necessário respondê-la.<br><br>

						' . NOMEDOSITE . '<br>
						www.' . URLPADRAO . '

						</font>
						</html>
						';

            //cabeçalho
            $headers = "MIME-Version: 1.0\n";
            $headers .= "Content-type: text/html; charset=utf-8\n";
            $headers .= 'From: ' . NOMEDOSITE . ' <' . EMAILPADRAO . ">\r\n";

            //DISPARA ALERTAS

            //admin
            $email_alerta = $rowMeta['email_cadastro'];
            //$email_alerta = "andre@tream.com.br";
            $destinatarios = explode(';', $email_alerta);
            foreach ($destinatarios as $to) { //foreach emails alerta
              $to = trim($to);

              //dispara email para admin
              mail($to, $subject, $message, $headers);
            } //FIM //foreach emails alerta

            //CRIA MENSAGEM PARA O followup

            //assunto
            $subject2 = "Primeiro contato - ($name)";

            //mensagem
            $message2 = "
						<html>
						<font face='verdana' size='2'>

						Nova solicitação de abertura de conta recebida.<br><br>
						Recebido em <b>$dataBra</b> às <b>$hora</b>, pelo ip <b>$ip</b><br><br>

						------------------------------------------------------------<br><br>
						<B>DADOS DA CONTA</B><BR><BR>
						------------------------------------------------------------<br><br>

						<b>Plano:</b> " . $rowPlano['titulo'] . " <br><br>

						$dadosLogin

						------------------------------------------------------------<br><br>
						<B>DADOS CADASTRAIS RESUMIDOS</B><BR><BR>
						------------------------------------------------------------<br><br>

						<b>Tipo de cadstro:</b> $tipo_cadastro <br><br>
						<b>Nome ou Razão Social:</b> $nome <br><br>
						<b>CPF ou CNPJ:</b> $cpf <br><br>
						<b>Responsável pela conta:</b> $contato<br><br>
						<b>Data de nascimento:</b> " . sql2date($data_nascimento) . "<br><br>
						<b>Email:</b> $email<br><br>
						<b>CEP:</b> $cep<br><br>
						<b>Endereço:</b> $endereco<br><br>
						<b>Número:</b> $numero_casa<br><br>
						<b>Bairro:</b> $bairro<br><br>
						<b>Cidade:</b> $cidade<br><br>
						<b>Estado:</b> $estado<br><br>
						<b>Telefone:</b> $telefone <br><br>
						<b>Celular:</b> $telefone_cel <br><br>

						-----------------------------------------------------------<br><br>

						Essa é uma mensagem automática do sistema. Não é necessário respondê-la.<br><br>

						" . NOMEDOSITE . '<br>
						www.' . URLPADRAO . '

						</font>
						</html>
						';

            //cabeçalho
            $headers = "MIME-Version: 1.0\n";
            $headers .= "Content-type: text/html; charset=utf-8\n";
            $headers .= 'From: ' . NOMEDOSITE . ' <' . EMAILPADRAO . ">\r\n";

            //DISPARA ALERTAS

            //admin
            $email_alerta = 'followup@voipdobrasil.com.br';
            //$email_alerta = "andre@tream.com.br";
            $destinatarios = explode(';', $email_alerta);
            foreach ($destinatarios as $to) { //foreach emails alerta
              $to = trim($to);

              //dispara email para admin
              mail($to, $subject2, $message2, $headers, '-r' . EMAILPADRAO);
            } //FIM //foreach emails alerta

            //assunto para cliente
            $subject_cli = 'Seja bem-vindo(a) - Conta ativada';

            //mensagem para cliente
            $message_cli = '
						<html>
						<head>
						<meta charset="utf-8">
						<!-- Loading Bootstrap -->
						<link href="https://www.voipdobrasil.com.br/css/bootstrap.css" rel="stylesheet">
						</head>
						<body style="background-color: #F6F7F8; font-family: Gotham, Helvetica Neue, Helvetica, Arial, sans-serif">
							<div style="width: 90%; text-align: center; margin: auto;">
								<p style="margin-top: 20px;">Esta é uma mensagem automática.</p>
								<div style="position: relative; margin-bottom: 30px; background-color: #fff; border: 1px solid #ddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
									<div style="margin:20px;"><img src="https://www.voipdobrasil.com.br/images/home/logo.png" alt="Voip do Brasil" width="135" height="49" /></div>
									<div style="background-color: #00599D; font-size: 36px; padding: 40px; color: #ECCC40; line-height: normal;">CONTA&nbsp;&nbsp;ATIVADA</div>
									<div style="padding: 20px 40px;">
										<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility;"><span style="color: #00599D;">Olá,</span> ' . $nome . '</h3><br>
										<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Sua conta foi criada com <span style="color: #00599D;">R$ ' . decimal($valor_lancado) . '</span> de saldo.<br>
										Siga os passos abaixo para colocar mais créditos em sua conta</h4>
										<br>

										<div class="row margin-top-100" style="margin-right: 0; margin-left: 0;">
											<div class="col-md-4 no-padding text-center" style="margin: 40px 0;">
												<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/num1.png" alt="minha conta">

												<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility; color: #00599D; margin: 20px 0;">
													Acesse o menu ‘Minha conta’
												</h3>

												<div class="row download margin-top-40 margin-bottom-20">
													<div class="app">
														<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/conta-ativada1.png" alt="minha conta">
													</div>
												</div>

											</div>

											<div class="col-md-4 no-padding text-center step-two" style="margin: 40px 0;">
												<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/num2.png" alt="minha conta">

												<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility; color: #00599D; margin: 20px 0;">
													Utilize os dados abaixo para acessar
												</h3>

												<br>

												<span class="data margin-top-20">
													<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Email</h4>
													<h2 style="font-size: 30px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; color: inherit; text-rendering: optimizelegibility; color: #00599D; ">' . $email . '</h2>
												</span>
												<br>
												<span class="data margin-top-20">
													<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Senha</h4>
													<h2 style="font-size: 30px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; color: inherit; text-rendering: optimizelegibility; color: #00599D; ">' . $senha_site . '</h2>
												</span>
											</div>

											<div class="col-md-4 no-padding text-center step-tree" style="margin: 40px 0;">
												<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/num3.png" alt="minha conta">

												<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility; color: #00599D; margin: 20px 0;">
													Em ‘Recargas e pagmentos’ escolha o valor da recarga
												</h3>

												<div class="row download">
													<div class="app">
														<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/conta-ativada2.png" alt="recargas e pagamentos">
													</div>
												</div>
											</div>

										</div>

									</div>
								</div>
								<p>Em caso de dúvidas, acesse nosso portal de <a href="https://www.voipdobrasil.com.br/central-de-relacionamento"><u>Suporte e Ajuda</u></a>.</p>
								<p>Essa é uma mensagem automática do sistema. Não é necessário respondê-la.</p>
								<p><strong>Voip do Brasil ' . date('Y') . '</strong></p>
							</div>
						</body>
						</html>
						';

            //CLIENTE
            //se stmp estiver ativado
            if (1 == $rowMeta['ativar_smtp']) {
              //dispara email para admin
              if (enviarcomsmtp($rowMeta['servidor_smtp'], $rowMeta['porta_smtp'], $rowMeta['senha_smtp'], $rowMeta['usuario_smtp'], $rowMeta['origem_smtp'], $rowMeta['origem_smtp'], NOMEDOSITE, $email, $nome, $subject_cli, $message_cli)) {
                $env = '&enviado=SMTP';
              } else {
                //dispara email para admin
                mail($email, $subject_cli, $message_cli, $headers);
              }
            } //FIM //se stmp estiver ativado

            else { //envio normal
              //dispara email para admin
              mail($email, $subject_cli, $message_cli, $headers);
            } //FIM //envio normal
            //FIM //DISPARA EMAILS #############################################################

            //### Dados de configuração ###################################

            //Gera qrcode para o email
            require '../../ad/qr/phpqrcode/qrlib.php';
            $array = array('status' => 'success', 'message' => 'usuario autenticado com sucesso', 'sipusername' => $login_soft, 'sippassword' => $senha_soft, 'sip' => '' . $sip_plano . ':5060');
            $resultado = json_encode($array, JSON_PRETTY_PRINT);
            //header('Content-type: text/html; charset=UTF-8');
            $novo_arquivo = "imagem_qrcode_$username.png";
            $qrCodeName = "../../ad/upload/imagens/qrcode/$novo_arquivo";
            QRcode::png($resultado, $qrCodeName);
            $img_qrcode = '<img src="https://www.voipdobrasil.com.br/ad/upload/imagens/qrcode/' . $novo_arquivo . '">';
            //FIM //Gera qrcode para o email

            //assunto para cliente
            $subject_cli2 = 'Dados para configuração do App';

            //mensagem para cliente
            $message_cli2 = '
						<html>
						<head>
						<meta charset="utf-8">
						<meta name="viewport" content="width=device-width, initial-scale=1.0">
						<!-- Loading Bootstrap -->
						<link href="https://www.voipdobrasil.com.br/css/bootstrap.css" rel="stylesheet">
						</head>
						<body style="background-color: #F6F7F8; font-family: Gotham, Helvetica Neue, Helvetica, Arial, sans-serif">
							<div style="width: 90%; text-align: center; margin: auto;">
								<p style="margin-top: 20px;">Esta é uma mensagem automática.</p>
								<div style="position: relative; margin-bottom: 30px; background-color: #fff; border: 1px solid #ddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
									<div style="margin:20px;"><img src="https://www.voipdobrasil.com.br/images/home/logo.png" alt="Voip do Brasil" width="135" height="49" /></div>
									<div style="background-color: #00599D; font-size: 36px; padding: 40px; color: #ECCC40; line-height: normal;">DADOS PARA CONFIGURAÇÃO</div>
									<div style="padding: 20px 40px;">
										<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; color: inherit; text-rendering: optimizelegibility;"><span style="color: #00599D;">Olá,</span> ' . $nome . '</h3><br>
										<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Siga os passos abaixo para configurar sua conta Voip</h4>
										<br>

										<div class="row margin-top-100" style="margin-right: 0; margin-left: 0;">
											<div class="col-md-6 no-padding text-center" style="margin: 40px 0;">
												<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/num1.png" alt="minha conta">

												<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility; color: #00599D; margin: 20px 0;">
													Utilize os dados abaixo para configurar
												</h3>

												<div class="row download margin-top-40 margin-bottom-20">
													<div class="col-md-6 no-padding text-center">
														<br>
														<h4 style="color: #00599D; font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">USUÁRIO SIP:</h4>
														<div class="navbar-inner" style="width: 100%; margin: 0 auto 30px; padding: 10px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">' . $login_soft . '</div>

														<h4 style="color: #00599D; font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">SENHA SIP:</h4>
														<div class="navbar-inner" style="width: 100%; margin: 0 auto 30px; padding: 10px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">' . $senha_soft . '</div>

														<h4 style="color: #00599D; font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Código QR:</h4>
														' . $img_qrcode . '

														<br><br><br>

													</div>
													<div class="col-md-6 no-padding text-center">
														<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/conta-ativada3a.png" height="243" width="250" alt="minha conta">
													</div>
												</div>

											</div>

											<div class="col-md-6 no-padding text-center step-two" style="margin: 40px 0;">
												<img src="https://www.voipdobrasil.com.br/mobapp/assets/img/num2.png" alt="minha conta">

												<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility; color: #00599D; margin: 20px 0;">
													Para efetuar chamadas
												</h3>

												<br>

												<h4 style="font-size: 22px; margin: 10px 0; font-family: inherit; font-weight: normal; text-rendering: optimizelegibility;"><span style="color: #00599D;">Para Números 0800 no Brasil, disque o número direto</span> <br>Ex: 0800 123 3597</h4>
												<br>

												<h4 style="font-size: 22px; margin: 10px 0; font-family: inherit; font-weight: normal; text-rendering: optimizelegibility; color: #00599D; ">Para Fixo e Móvel no Brasil</h4>
												<h2 style="font-size: 30px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility; color: #000; ">0 + DDD + Número</h2>
												<h4 style="font-size: 22px; margin: 10px 0; font-family: inherit; font-weight: normal; text-rendering: optimizelegibility; color: #00599D; ">Ex: 0119****9880</h4>
												<br>

												<h4 style="font-size: 22px; margin: 10px 0; font-family: inherit; font-weight: normal; text-rendering: optimizelegibility; color: #00599D; ">Para Fixo e Móvel do exterior</h4>
												<h2 style="font-size: 30px; margin: 10px 0; font-family: inherit; font-weight: normal; color: inherit; text-rendering: optimizelegibility; color: #000; ">00 + DDI + DDD + Número</h2>
												<h4 style="font-size: 22px; margin: 10px 0; font-family: inherit; font-weight: normal; text-rendering: optimizelegibility; color: #00599D; ">Ex: 0034917253900</h4>
												<br>

											</div>

										</div>

										<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Sua conta foi criada com <span style="color: #00599D;">R$ ' . decimal($valor_lancado) . '</span> de saldo, e você já pode ligar!<br>
										Faça uma recarga de créditos e aumente o seu saldo.</h4>
										<br>


									</div>
								</div>
								<p>Em caso de dúvidas, acesse nosso portal de <a href="https://www.voipdobrasil.com.br/central-de-relacionamento"><u>Suporte e Ajuda</u></a>.</p>
								<p>Essa é uma mensagem automática do sistema. Não é necessário respondê-la.</p>
								<p><strong>Voip do Brasil ' . date('Y') . '</strong></p>
							</div>
						</body>
						</html>
						';

            //CLIENTE
            //se stmp estiver ativado
            if (1 == $rowMeta['ativar_smtp']) {
              //dispara email para admin
              if (enviarcomsmtp($rowMeta['servidor_smtp'], $rowMeta['porta_smtp'], $rowMeta['senha_smtp'], $rowMeta['usuario_smtp'], $rowMeta['origem_smtp'], $rowMeta['origem_smtp'], NOMEDOSITE, $email, $nome, $subject_cli2, $message_cli2)) {
                $env = '&enviado=SMTP';
              } else {
                //dispara email para admin
                mail($email, $subject_cli2, $message_cli2, $headers);
              }
            } //FIM //se stmp estiver ativado

            else { //envio normal
              //dispara email para admin
              mail($email, $subject_cli2, $message_cli2, $headers);
            } //FIM //envio normal
            //FIM //DISPARA EMAILS #############################################################
          } //FIM //conta voip criada na plataforma
        }
        //FIM //retorno de id da plataforma
      } //FIM //pega os dados gerados pela plataforma voip
    } //FIM //permite cadastro com sucesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //dados com id de fatura

    //api forgotpassword
  case 'forgotpassword':
    $error = '0'; //SEM ERRO

    //verifica se existe usuario no sistema
    $resultx = mysql_query("SELECT codigo, nome, email, senha, numero FROM clientes WHERE email='$email_id' AND ativa='S' LIMIT 1");
    $totx = mysql_num_rows($resultx);
    $row = mysql_fetch_array($resultx);

    $codigo = $row['codigo'];
    $nome = $row['nome'];
    $email = $row['email'];
    $senha = base64_decode($row['senha']);
    $numero = $row['numero'];

    $usuario = $numero;

    if (empty($email_id)) { //campos em branco
      $error = '1'; //campos vazios
      $message = 'campo não preenchido'; //mensagem de erro
    } //FIM //campos em branco
    elseif (validatxt($email_id)) { //injection
      $error = '2'; //tentativa de injection
      $message = 'dados negados'; //mensagem de erro
    } //FIM //injection
    elseif ($totx > '0') { //usuario e senha validos
      //$error = 0;
    } //FIM //usuario e senha validos
    else { //acesso negado
      $error = '3'; //acesso não permitido
      $message = 'detalhe fornecido é inválido'; //mensagem de erro
    } //FIM //acesso negado

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      //email para cliente
      $assunto = 'Senha de acesso a Minha Conta';

      $mensagem = '
			<html>
			<head>
			<meta charset="utf-8">
			</head>
			<body style="background-color: #F6F7F8; font-family: Gotham, Helvetica Neue, Helvetica, Arial, sans-serif">
				<div style="width: 90%; text-align: center; margin: auto;">
					<p style="margin-top: 20px;">Esta é uma mensagem automática.</p>
					<div style="position: relative; margin-bottom: 30px; background-color: #fff; border: 1px solid #ddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
						<div style="margin:20px;"><img src="https://www.voipdobrasil.com.br/images/home/logo.png" alt="Voip do Brasil" width="135" height="49" /></div>
						<div style="background-color: #00599D; font-size: 36px; padding: 40px; color: #ECCC40; line-height: normal;">SENHA DE ACESSO</div>
						<div style="padding: 20px;">
							<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; color: inherit; text-rendering: optimizelegibility;"><span style="color: #00599D;">Olá,</span> ' . $nome . '</h3>

							<br>
							<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Abaixo estão seus dados de acesso para <a href="https://www.voipdobrasil.com.br/login"><u>acessar sua conta</u></a></h4>
							<br>
							<h4 style="color: #00599D; font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Usuário:</h4>
							<div class="navbar-inner" style="width: 60%; margin: 0 auto 30px; min-height: 40px; padding-right: 20px; padding-left: 20px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
							  <h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">' . $usuario . '</h4>
							</div>
							<h4 style="color: #00599D; font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Senha:</h4>
							<div class="navbar-inner" style="width: 60%; margin: 0 auto 30px; min-height: 40px; padding-right: 20px; padding-left: 20px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
							  <h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">' . $senha . '</h4>
							</div>
							<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Guarde sua senha e jamais a forneça à terceiros.</h4>
							<div class="clearfix">&nbsp;</div>
						</div>
					</div>
					<p>Em caso de dúvidas, acesse nosso portal de <a href="https://www.voipdobrasil.com.br/central-de-relacionamento"><u>Suporte e Ajuda</u></a>.</p>
					<p>Essa é uma mensagem automática do sistema. Não é necessário respondê-la.</p>
					<p><strong>Voip do Brasil ' . date('Y') . '</strong></p>
				</div>
			</body>
			</html>
			';

      $headers = "MIME-Version: 1.0\n";
      $headers .= "Content-type: text/html; charset=utf-8\n";
      $headers .= 'From: ' . NOMEDOSITE . '<' . $email_cobranca . ">\n\n";

      if ('1' == $rowMeta['ativar_smtp']) {
        //dispara email para o cliente
        if (enviarcomsmtp($rowMeta['servidor_smtp'], $rowMeta['porta_smtp'], $rowMeta['senha_smtp'], $rowMeta['usuario_smtp'], $rowMeta['origem_smtp'], $rowMeta['origem_smtp'], NOMEDOSITE, $email, $nome, $assunto, $mensagem)) {
          $env = '&enviado=SMTP';
        } else {
          //envia para clientes
          mail($email, $assunto, $mensagem, $headers);
          $env = '&enviado=mail';
        }
      } else {
        //envia para clientes
        mail($email, $assunto, $mensagem, $headers);
        $env = '&enviado=mail2';
      }

      //SUCESSO
      $array = ['status' => 'success', 'message' => 'senha de recuperação enviada para seu email, verifique e faça o login'];
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //api forgotpassword

    //api balance
  case 'balance':
    $error = '0'; //SEM ERRO

    $sql = mysql_query("
		SELECT A.codigo, A.id_plataforma
		FROM clientes AS A
		INNER JOIN ramais_linhas AS B ON(B.cod_cli = A.codigo)
		WHERE B.username = '$username'
		");
    $totx = mysql_num_rows($sql);
    $row = mysql_fetch_array($sql);

    if (empty($username)) { //campos em branco
      $error = '1'; //campos vazios
      $message = 'campo não preenchido'; //mensagem de erro
    } //FIM //campos em branco
    elseif (validatxt($username)) { //injection
      $error = '2'; //tentativa de injection
      $message = 'dados negados'; //mensagem de erro
    } //FIM //injection
    elseif ('0' == $row['id_plataforma']) { //sem integração
      $error = '4'; //tentativa de injection
      $message = 'saldo não encontrado'; //mensagem de erro
    } //FIM //sem integração
    elseif ($totx > '0') { //usuario e senha validos
      //$error = 0;
    } //FIM //usuario e senha validos
    else { //acesso negado
      $error = '3'; //acesso não permitido
      $message = 'cliente não encontrado'; //mensagem de erro
    } //FIM //acesso negado

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      $sql2 = mysql_query("
			SELECT C.id_plataforma, C.saldo_ilimitado, S.sip, S.api_token, S.api_key
			FROM clientes AS C
			INNER JOIN planos AS P ON(C.plano = P.codigo)
			INNER JOIN subrevendas AS S ON(P.subrevenda = S.codigo)
			WHERE C.codigo = '" . $row['codigo'] . "'
			");
      $row2 = mysql_fetch_array($sql2);

      $resposta = nextsaldo($row2['id_plataforma'], $row2['sip'], $row2['api_token'], $row2['api_key']);

      if ($row2['saldo_ilimitado'] == '1') { //quando for saldo ilimitado
        $saldo_atual = 'ILIMITADO';
      } else { //quando for saldo vindo do next
        if (empty($resposta['error'])) {
          $saldo_atual = 'R$ ' . $resposta['balance'];
        } else {
          $saldo_atual = 'R$ 0,00';
        }
      } //FIM //quando for saldo vindo do next

      //SUCESSO
      $array = ['status' => 'success', 'message' => 'saldo atual do cliente', 'balance' => $saldo_atual];
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //api balance

    //api qrcode
  case 'qrcode':
    require_once 'phpqrcode/qrlib.php';

    $error = '0'; //SEM ERRO

    $sql = mysql_query("
		SELECT A.codigo, A.id_plataforma, S.sip
		FROM clientes AS A
		INNER JOIN ramais_linhas AS B ON(B.cod_cli = A.codigo)
		INNER JOIN planos AS P ON(A.plano = P.codigo)
		INNER JOIN subrevendas AS S ON(P.subrevenda = S.codigo)
		WHERE B.username = '$username' AND B.senha = '" . base64_encode($sippassword) . "'
		");
    $totx = mysql_num_rows($sql);

    if (empty($username) || empty($sippassword)) { //campos em branco
      $error = '1'; //campos vazios
      $message = 'campo nao preenchido'; //mensagem de erro
    } //FIM //campos em branco
    elseif (validatxt($username) || validatxt($sippassword)) { //injection
      $error = '2'; //tentativa de injection
      $message = 'dados negados'; //mensagem de erro
    } //FIM //injection
    elseif ('0' == $row['id_plataforma']) { //sem integração
      $error = '4'; //tentativa de injection
      $message = 'cliente nao localizado'; //mensagem de erro
    } //FIM //sem integração
    elseif ($totx > '0') { //usuario e senha validos
      //$error = 0;
    } //FIM //usuario e senha validos
    else { //acesso negado
      $error = '3'; //acesso não permitido
      $message = 'cliente nao encontrado'; //mensagem de erro
    } //FIM //acesso negado

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      $row = mysql_fetch_array($sql);
      //SUCESSO
      $array = ['status' => 'success', 'message' => 'usuario autenticado com sucesso', 'sipusername' => $username, 'sippassword' => $sippassword, 'sip' => '' . $row['sip'] . ':5060'];
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    //echo $resultado;
    //exit;
    header('Content-type: text/html; charset=UTF-8');
    $qrCodeName = "imagem_qrcode_$username.png";
    QRcode::png($resultado, $qrCodeName);
    echo '<img src="' . $qrCodeName . '">';

    break;
    //FIM //api qrcode

    //api login
  case 'login':
    $error = '0'; //SEM ERRO

    $sql = mysql_query("
		SELECT A.codigo, A.id_plataforma, S.sip
		FROM clientes AS A
		INNER JOIN ramais_linhas AS B ON(B.cod_cli = A.codigo)
		INNER JOIN planos AS P ON(A.plano = P.codigo)
		INNER JOIN subrevendas AS S ON(P.subrevenda = S.codigo)
		WHERE B.username = '$username' AND B.senha = '" . base64_encode($sippassword) . "'
		");
    $totx = mysql_num_rows($sql);

    if (empty($username) || empty($sippassword)) { //campos em branco
      $error = '1'; //campos vazios
      $message = 'campo nao preenchido'; //mensagem de erro
    } //FIM //campos em branco
    elseif (validatxt($username) || validatxt($sippassword)) { //injection
      $error = '2'; //tentativa de injection
      $message = 'dados negados'; //mensagem de erro
    } //FIM //injection
    elseif ('0' == $row['id_plataforma']) { //sem integração
      $error = '4'; //tentativa de injection
      $message = 'cliente nao localizado'; //mensagem de erro
    } //FIM //sem integração
    elseif ($totx > '0') { //usuario e senha validos
      //$error = 0;
    } //FIM //usuario e senha validos
    else { //acesso negado
      $error = '3'; //acesso não permitido
      $message = 'Dados invalidos. Por favor, tente novamente'; //mensagem de erro
    } //FIM //acesso negado

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      $row = mysql_fetch_array($sql);
      //SUCESSO
      $array = ['status' => 'success', 'message' => 'usuario autenticado com sucesso', 'sipusername' => $username, 'sippassword' => $sippassword, 'sip' => '' . $row['sip'] . ':5060'];
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //api login

    //api recharge
  case 'recharge':
    $error = '0'; //SEM ERRO

    $sql = mysql_query("
		SELECT A.codigo, A.id_plataforma, A.nome
		FROM clientes AS A
		INNER JOIN ramais_linhas AS B ON(B.cod_cli = A.codigo)
		WHERE A.ativa='S' AND B.username = '$username'
		");
    $totx = mysql_num_rows($sql);
    $row = mysql_fetch_array($sql);

    if (empty($username)) { //campos em branco
      $error = '1'; //campos vazios
      $message = 'campo nao preenchido'; //mensagem de erro
    } //FIM //campos em branco
    elseif (validatxt($username)) { //injection
      $error = '2'; //tentativa de injection
      $message = 'dados negados'; //mensagem de erro
    } //FIM //injection
    elseif ('0' == $row['id_plataforma']) { //sem integração
      $error = '4'; //tentativa de injection
      $message = 'cliente nao localizado'; //mensagem de erro
    } //FIM //sem integração
    elseif ($totx > '0') { //usuario e senha validos
      //$error = 0;
    } //FIM //usuario e senha validos
    else { //acesso negado
      $error = '3'; //acesso não permitido
      $message = 'cliente nao encontrado'; //mensagem de erro
    } //FIM //acesso negado

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      $vencimento = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + 3, date('Y')));
      $valor = str_replace(',', '.', $price);
      //COB - codigo do cliente - VDB (Voipdobrasil) - data e hora
      $codigo_transacao = 'COB' . $row['codigo'] . 'VDB' . $dataHoraMista;

      $sqlCob = mysql_query("INSERT INTO cobrancas SET dat_cad='$data', hor_cad='$hora', origem='recarga', cod_cli='" . $row['codigo'] . "', nome_cliente='" . $row['nome'] . "', vencimento='$vencimento', valor='$valor', demons1='RECARGA DE CRÉDITOS APP', aberta='N', statuspag='N', envio='N', codigo_transacao='$codigo_transacao', valor_creditos='$valor' ");
      $codCob = mysql_insert_id();

      //////////////enviar mensagem
      $sql = mysql_query("SELECT * FROM cobrancas WHERE codigo='$codCob'");
      $row = mysql_fetch_array($sql);
      $vencimento = sql2date($row['vencimento']);
      $valorRs = decimal($row['valor']);
      $chave = $row['chave'];
      $demons1 = $row['demons1'];
      $cod_cli = $row['cod_cli'];
      $tipo_fatura = $row['tipo_fatura'];
      $codigo_transacao = $row['codigo_transacao'];

      //dispara cobrança para cliente
      $sqlCli = mysql_query("SELECT email, email2, nome FROM clientes WHERE codigo='$cod_cli'");
      $rowCli = mysql_fetch_array($sqlCli);
      $email = $rowCli['email'];
      $email2 = $rowCli['email2'];
      $nome = $rowCli['nome'];

      //para o cliente
      $assunto = "Fatura gerada num. $codCob";

      $mensagem = '
			<html>
			<head>
			<meta charset="utf-8">
			</head>
			<body style="background-color: #F6F7F8; font-family: Gotham, Helvetica Neue, Helvetica, Arial, sans-serif">
				<div style="width: 90%; text-align: center; margin: auto;">
					<p style="margin-top: 20px;">Esta é uma mensagem automática.</p>
					<div style="position: relative; margin-bottom: 30px; background-color: #fff; border: 1px solid #ddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
						<div style="margin:20px;"><img src="https://www.voipdobrasil.com.br/images/home/logo.png" alt="Voip do Brasil" width="135" height="49" /></div>
						<div style="background-color: #00599D; font-size: 36px; padding: 40px; color: #ECCC40; line-height: normal;">NOVO PAGAMENTO GERADO</div>
						<div style="padding: 20px 40px;">
							<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; color: inherit; text-rendering: optimizelegibility;"><span style="color: #00599D;">Olá,</span> ' . $nome . '</h3>
							<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility; text-align: left;">Este é o link para pagamento do(s) serviço(s) descritos abaixo:</h4>
							<br>
							<div style="text-align: left; padding-right: 20px; padding-left: 20px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
							  <h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">
								<p><strong>Código da fatura:</strong> ' . $codCob . '</p>
								<p><strong>Descrição:</strong> ' . $demons1 . '</p>
								<p><strong>Vencimento:</strong> ' . $vencimento . '</p>
								<p><strong>Valor:</strong> R$ ' . $valorRs . '</p>
							  </h4>
							</div>
							<br>
							<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility; text-align: left;">Para realizar o pagamento, clique no link abaixo ou copie e cole no seu navegador:</h4>
							<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility; text-align: left;"><a href="https://www.' . URLPADRAO . '/ad/pagamento/?CT=' . $codigo_transacao . '"><u>https://www.' . URLPADRAO . '/ad/pagamento/?CT=' . $codigo_transacao . '</u></a></h4>
							<br>
							<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility; text-align: left;">Você também pode realizar o pagamento acessando sua conta em nosso site.</h4>
							<div class="clearfix">&nbsp;</div>
						</div>
					</div>
					<p>Em caso de dúvidas, acesse nosso portal de <a href="https://www.voipdobrasil.com.br/central-de-relacionamento"><u>Suporte e Ajuda</u></a>.</p>
					<p>Essa é uma mensagem automática do sistema. Não é necessário respondê-la.</p>
					<p><strong>Voip do Brasil ' . date('Y') . '</strong></p>
				</div>
			</body>
			</html>
			';

      $headers = "MIME-Version: 1.0\n";
      $headers .= "Content-type: text/html; charset=utf-8\n";
      $headers .= 'From: ' . NOMEDOSITE . '<' . $email_cobranca . ">\n\n";

      if (1 == $rowMeta['ativar_smtp']) {
        //dispara email para o cliente
        if (enviarcomsmtp($rowMeta['servidor_smtp'], $rowMeta['porta_smtp'], $rowMeta['senha_smtp'], $rowMeta['usuario_smtp'], $rowMeta['origem_smtp'], $rowMeta['origem_smtp'], NOMEDOSITE, $email, $nome, $assunto, $mensagem)) {
          $env = '&enviado=SMTP';
        } else {
          //envia para clientes
          mail($email, $assunto, $mensagem, $headers);
        }
      } else {
        //envia para clientes
        mail($email, $assunto, $mensagem, $headers);
      }

      //dispara alerta para o cliente #emails adicionais
      envia_emails_adicionais(NOMEDOSITE, $email2, $nome, $assunto, $mensagem, $headers);

      //SUCESSO
      $array = ['status' => 'success', 'message' => 'customer billing id', 'id_charge' => $codCob];
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //api recharge

    //api payment
  case 'payment':
    $error = '0'; //SEM ERRO

    $sql = mysql_query("
		SELECT A.codigo, A.id_plataforma, A.nome
		FROM clientes AS A
		INNER JOIN ramais_linhas AS B ON(B.cod_cli = A.codigo)
		WHERE A.ativa='S' AND B.numero = '$username'
		");
    $totx = mysql_num_rows($sql);
    $row = mysql_fetch_array($sql);

    if (empty($username)) { //campos em branco
      $error = '1'; //campos vazios
      $message = 'campo nao preenchido'; //mensagem de erro
    } //FIM //campos em branco
    elseif (validatxt($username)) { //injection
      $error = '2'; //tentativa de injection
      $message = 'dados negados'; //mensagem de erro
    } //FIM //injection
    elseif ('0' == $row['id_plataforma']) { //sem integração
      $error = '4'; //tentativa de injection
      $message = 'cliente nao localizado'; //mensagem de erro
    } //FIM //sem integração
    elseif ($totx > '0') { //usuario e senha validos
      //$error = 0;
    } //FIM //usuario e senha validos
    else { //acesso negado
      $error = '3'; //acesso não permitido
      $message = 'cliente nao encontrado'; //mensagem de erro
    } //FIM //acesso negado

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      $vencimento = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + 3, date('Y')));
      $valor = str_replace(',', '.', $price);
      //COB - codigo do cliente - VDB (Voipdobrasil) - data e hora
      $codigo_transacao = 'COB' . $row['codigo'] . 'VDB' . $dataHoraMista;

      //verifica valor de bonus
      if ($valor <= '17.00') {
        $valor_bonus = '3.00';
        $valor_creditos = $valor + $valor_bonus;
      } elseif ($valor <= '35.00') {
        $valor_bonus = '5.00';
        $valor_creditos = $valor + $valor_bonus;
      } elseif ($valor <= '50.00') {
        $valor_bonus = '10.00';
        $valor_creditos = $valor + $valor_bonus;
      } elseif ($valor <= '75.00') {
        $valor_bonus = '15.00';
        $valor_creditos = $valor + $valor_bonus;
      } elseif ($valor <= '100.00') {
        $valor_bonus = '20.00';
        $valor_creditos = $valor + $valor_bonus;
      } elseif ($valor <= '250.00') {
        $valor_bonus = '30.00';
        $valor_creditos = $valor + $valor_bonus;
      }

      $demonstrativo = 'RECARGA DE CRÉDITOS APP + ' . decimal($valor_bonus);

      //verifica sistema plataforma do app
      preg_match('((?<=\().*?(?=;))', $_SERVER['HTTP_USER_AGENT'], $matches);
      $plataforma_app = $matches[0];

      if ('iPhone' == $plataforma_app) {
        $tipoPagto = 19;
      } elseif ('Linux' == $plataforma_app) {
        $tipoPagto = 18;
      } else {
        $tipoPagto = 15;
      }

      $sqlCob = mysql_query("INSERT INTO cobrancas SET dat_cad='$data', hor_cad='$hora', origem='recarga', cod_cli='" . $row['codigo'] . "', nome_cliente='" . $row['nome'] . "', vencimento='$vencimento', valor='$valor', demons1='$demonstrativo', aberta='N', envio='N', codigo_transacao='$codigo_transacao', valor_creditos='$valor_creditos', statuspag='S', dat_pag='$data', hor_pag='$hora', tipoPagto='$tipoPagto' ");
      $codCob = mysql_insert_id();

      $sql = mysql_query("SELECT * FROM cobrancas WHERE codigo='$codCob'");
      $rowCob = mysql_fetch_array($sql);

      $codCli = $rowCob['cod_cli'];
      $valorCob = $rowCob['valor'];
      $demonsCob = $rowCob['demons1'];
      $valorRs = decimal($valorCob);
      $valorCreditos = decimal($rowCob['valor_creditos']);
      $valorLiberadoCreditos = $rowCob['valor_creditos'];
      $qtd_sms = $rowCob['sms'];

      //seleciona cliente
      $sqlCli = mysql_query("SELECT * FROM clientes WHERE codigo='$codCli' LIMIT 1");
      $rowCli = mysql_fetch_array($sqlCli);
      $cod_rep = $rowCli['cod_rep'];
      $emailCli = $rowCli['email'];
      $emailCli2 = $rowCli['email2'];
      $nomeCli = $rowCli['nome'];
      $loginCli = $rowCli['numero'];
      $senhaCli = $rowCli['senha'];

      //grava log
      log_cliente($_SESSION['ss_adm']['codigo'], $_SESSION['ss_adm']['nome'], $rowCob['cod_cli'], $rowCli['nome'], 'Cobranca baixada via app ' . $codCob . '', $ip, $data, $hora, '');

      //consulta novo plano
      $id_novo_plano = '403'; //Plano APP - Premium (403)
      $novoPlano = mysql_fetch_array(mysql_query("SELECT * FROM planos WHERE codigo='$id_novo_plano' LIMIT 1"));

      //pega dados da subrevenda q o plano é vinculado
      $rowSub = mysql_fetch_array(mysql_query("SELECT sip, api_token, api_key FROM subrevendas WHERE codigo='" . $novoPlano['subrevenda'] . "' "));

      $dados = [
        'id_hie' => $novoPlano['cod_revenda'], //ID da Revenda dona do Cliente
        'finance' => [
          'id_plano' => $novoPlano['cod_promo'], //ID do Plano de Prefixos
          'tipo_tar' => $novoPlano['tipo_tarifacao'], //Tipo de Tarifação / 0 - PRE-PAGO | 1 - POS-PAGO | 2 - FRANQUIA
          'franquia_fixo_local' => $novoPlano['franquila_fixo'], //ID da Franquia para Fixo Local
          'franquia_movel_local' => $novoPlano['franquila_movel'], //ID da Franquia para Móvel Local
          'franquia_fixo_ldn' => $novoPlano['franquila_fixo'], //ID da Franquia para Fixo Longa Distância
          'franquia_movel_ldn' => $novoPlano['franquila_movel'], //ID da Franquia para Móvel Longa Distância
        ],
      ];
      $api = 'manageCustomers';
      $row_api = nextpostAltera($api, $dados, $rowSub['sip'], $rowSub['api_token'], $rowSub['api_key'], $rowCli['id_plataforma']);

      if ('0' == $row_api['error']) {
        //grava log
        log_cliente($_SESSION['ss_adm']['codigo'], $_SESSION['ss_adm']['nome'], $rowCob['cod_cli'], $rowCli['nome'], 'TROCA DE PLANO APP. Plano novo: ' . $novoPlano['titulo'] . '', $ip, $data, $hora, '');

        //troca plano do cliente
        mysql_query("UPDATE clientes SET plano='" . $novoPlano['codigo'] . "' WHERE codigo='" . $rowCob['cod_cli'] . "' LIMIT 1") or exit('Nao alterou plano');
      } else {
        //grava log
        log_cliente($_SESSION['ss_adm']['codigo'], $_SESSION['ss_adm']['nome'], $rowCob['cod_cli'], $rowCli['nome'], 'TROCA DE PLANO NAO REALIZADA. ' . $row_api['message'] . ' ', $ip, $data, $hora, $row_api['reason']);
      }

      //envia email pro cliente
      $assunto = 'Seu pagamento foi confirmado';

      $mensagem = '
			  <html>
				<head>
				<meta charset="utf-8">
				</head>
				<body style="background-color: #F6F7F8; font-family: Gotham, Helvetica Neue, Helvetica, Arial, sans-serif">
					<div style="width: 90%; text-align: center; margin: auto;">
						<p style="margin-top: 20px;">Esta é uma mensagem automática.</p>
						<div style="position: relative; margin-bottom: 30px; background-color: #fff; border: 1px solid #ddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
							<div style="margin:20px;"><img src="https://www.voipdobrasil.com.br/images/home/logo.png" alt="Voip do Brasil" width="135" height="49" /></div>
							<div style="background-color: #00599D; font-size: 36px; padding: 40px; color: #ECCC40; line-height: normal;">PAGAMENTO CONFIRMADO</div>
							<div style="padding: 20px 40px;">
								<h3 style="font-size: 24px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; color: inherit; text-rendering: optimizelegibility;"><span style="color: #00599D;">Olá,</span> ' . $nomeCli . '</h3>
								<br>
								<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Tudo certo com o Pagamento!</h4>
								<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Confirmamos e demos baixa na sua cobrança referente à:</h4>
								<br>
								<div class="navbar-inner" style="width: 70%; margin: 0 auto 30px; min-height: 40px; padding-right: 20px; padding-left: 20px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
								  <h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">' . $demonsCob . '</h4>
								</div>
								<h4 style="color: #00599D; font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Valor:</h4>
								<div class="navbar-inner" style="width: 30%; margin: 0 auto 30px; min-height: 40px; padding-right: 20px; padding-left: 20px; background-color: #fafafa; background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;">
								  <h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">R$ ' . decimal($valorCob) . '</h4>
								</div>
								<br>
								<h4 style="font-size: 18px; margin: 10px 0; font-family: inherit; font-weight: normal; line-height: 20px; text-rendering: optimizelegibility;">Agradecemos por escolher a Voip do Brasil</h4>
								<div class="clearfix">&nbsp;</div>
							</div>
						</div>
						<p>Em caso de dúvidas, acesse nosso portal de <a href="https://www.voipdobrasil.com.br/central-de-relacionamento"><u>Suporte e Ajuda</u></a>.</p>
						<p>Essa é uma mensagem automática do sistema. Não é necessário respondê-la.</p>
						<p><strong>Voip do Brasil ' . date('Y') . '</strong></p>
					</div>
				</body>
				</html>
			  ';

      $headers = "MIME-Version: 1.0\n";
      $headers .= "Content-type: text/html; charset=utf-8\n";
      $headers .= 'From: ' . NOMEDOSITE . '<' . $email_cobranca . ">\n\n";

      if (1 == $rowMeta['ativar_smtp']) {
        //dispara email para o cliente
        if (enviarcomsmtp($rowMeta['servidor_smtp'], $rowMeta['porta_smtp'], $rowMeta['senha_smtp'], $rowMeta['usuario_smtp'], $rowMeta['origem_smtp'], $rowMeta['origem_smtp'], NOMEDOSITE, $emailCli, $nomeCli, $assunto, $mensagem)) {
          $env = '&enviado=S&smtp=S';
        } else {
          //dispara email para o cliente
          mail($emailCli, $assunto, $mensagem, $headers);
          $env = '&enviado=S';
        }
      } else {
        mail($emailCli, $assunto, $mensagem, $headers);
      }
      //////

      //dispara alerta para o cliente #emails adicionais
      envia_emails_adicionais(NOMEDOSITE, $emailCli2, $nomeCli, $assunto, $mensagem, $headers);

      //liberação de credito
      if ('1' == $rowMeta['credito_automatico'] && $rowCob['valor_creditos'] > '0.00') {
        //pega dados da subrevenda q o plano é vinculado
        $sqlSub = mysql_query("SELECT sip, api_token, api_key FROM subrevendas WHERE codigo='" . $rowCli['subrevenda'] . "' ");
        $rowSub = mysql_fetch_array($sqlSub);

        $valorLiberadoCreditos = $rowCob['valor_creditos'];

        $dados = [
          'type' => 'customer', //device: Gerenciar saldo de uma Linha //customer: Gerenciar saldo de um Cliente
          'record_id' => $rowCli['id_plataforma'], //ID do Cliente ou da Linha IP
          'amount' => $valorLiberadoCreditos, //Valor da Operação (Ex: 15.50)
          'operation' => 'credit', //Tipo de Operação//debit: Realizar uma retirada de valor no Saldo//credit: Realizar uma adição de valor no Saldo//set: Setar um valor exato ao Saldo
          'is_hidden' => 0, //0 - Histórico visível para o Cliente | 1 - Histórico não fica visível para o Cliente
        ];
        $api = 'manageCredit';
        $resposta = nextpost($api, $dados, $rowSub['sip'], $rowSub['api_token'], $rowSub['api_key']);

        //se lancar credito
        if (empty($resposta['error'])) {
          //atualiza cobrança com retorno da api
          mysql_query("UPDATE cobrancas SET retorno_api='" . $resposta['new_balance_customer'] . "' WHERE codigo='$id_charge' ") or exit('Nao gravaou retorno da api');
        } //fim //se lancar credito

        else { //creditos não foram lançados
          //atualiza cobrança com retorno da api
          mysql_query("UPDATE cobrancas SET retorno_api='" . $resposta['message'] . "' WHERE codigo='$id_charge' ") or exit('Nao gravaou retorno da api');

          //manda email pro admin, informando que a baixa de creditos não foi realizada
          $assunto2 = 'Erro ao lançar créditos na conta do cliente';

          $mensagem2 = '<html>
					  <meta charset="utf-8">
					  <div style="width:750px;margin:5px;padding:20px;border:solid 1px #666; background:#FFF;font-family:Arial, Helvetica, sans-serif; size:13px;">
					  <font face="Arial, Helvetica, sans-serif" size="2">
					  <h2>Olá Administrador,</h2>
					  <p style="margin-bottom:10px;">Informamos que o valor de R$ ' . decimal($valorLiberadoCreditos) . ', não foi creditado na conta do cliente: <strong>' . $nomeCli . '</strong>.</p>
					  <p style="margin-bottom:30px;">Erro da plataforma: <strong>' . $resposta['reason'] . '</strong></p>
					  <h3>' . NOMEDOSITE . '</h3>
					  <p>' . $email_cobranca . '</p>
					  </font>
					  </div>
					  </html>';

          $headers = "MIME-Version: 1.0\n";
          $headers .= "Content-type: text/html; charset=utf-8\n";
          $headers .= 'From: ' . NOMEDOSITE . '<' . $email_cobranca . ">\n\n";

          //admin
          $email_alerta = $rowMeta['email_alerta'];
          $destinatarios = explode(';', $email_alerta);
          foreach ($destinatarios as $to) { //foreach emails alerta
            $to = trim($to);

            //se stmp estiver ativado
            if (1 == $rowMeta['ativar_smtp']) {
              //dispara email para admin
              if (enviarcomsmtp($rowMeta['servidor_smtp'], $rowMeta['porta_smtp'], $rowMeta['senha_smtp'], $rowMeta['usuario_smtp'], $rowMeta['origem_smtp'], $rowMeta['origem_smtp'], NOMEDOSITE, $to, NOMEDOSITE, $assunto2, $mensagem2)) {
                $env = '&enviado=SMTP';
              } else {
                //dispara email para admin
                mail($to, $subject, $message, $headers);
              }
            } //FIM //se stmp estiver ativado

            else { //envio normal
              //dispara email para admin
              mail($to, $subject, $message, $headers);
            } //FIM //envio normal
          } //FIM //foreach emails alerta
        } //FIM //creditos não foram lançados
      } //FIM //liberação de credito

      //SUCESSO
      $array = ['status' => 'success', 'message' => 'paid charge', 'client' => $rowCli['nome']];
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //api payment

    //api questions
  case 'questions':
    $error = '0'; //SEM ERRO

    $sql = mysql_query("SELECT titulo, texto FROM app_duvidas_frequentes WHERE ativa='S' ORDER BY ordem");
    $totx = mysql_num_rows($sql);

    if ('0' == $totx) { //usuario e senha validos
      $error = '1'; //campos vazios
      $message = 'nenhum resultado encontrado'; //mensagem de erro
    } //FIM //usuario e senha validos

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      while ($row = mysql_fetch_array($sql)) {
        //SUCESSO
        $array[] = ['question' => $row['titulo'], 'response' => $row['texto']];
      }
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //api questions

    //api qrcode
  case 'qrcode':
    //cabeçalho de codificação json
    header('Content-type: text/html; charset=UTF-8');
    require_once 'qrcode/phpqrcode/qrlib.php';

    //https://www.voipdobrasil.com.br/app/saldo.php?username=2334774&password=iXnomPs2lR7V
    $dados_login = '&username=' . $username . '&password=' . $sippassword . '&op=login';
    $acesso = 'https://www.voipdobrasil.com.br';

    $qrCodeName = 'imagem_qrcode.png';
    $array = ['status' => 'success', 'message' => 'usuario autenticado com sucesso', 'sipusername' => '65001', 'sippassword' => 'krify0102', 'sip' => 'voipdobrasil1.net.br:5060'];
    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    /*
        * Realizamos a criação da imagem PNG, sendo passado as seguintes informações:
        * 1º - A string que desejamos inserir no QR Code.
        * 2º - O nome da imagem que criamos no passo anterior.
        */
    QRcode::png($resultado, $qrCodeName);
    // Para finalizar realizamos a exibição da imagem no navegador.
    echo "<img src='{$qrCodeName}'>";

    break;
    //FIM //api qrcode

    //api ddi
  case 'ddi':
    $error = '0'; //SEM ERRO

    $sql = mysql_query('SELECT nome, ddi FROM paises_app ORDER BY nome');
    $totx = mysql_num_rows($sql);

    if ('0' == $totx) { //usuario e senha validos
      $error = '1'; //campos vazios
      $message = 'nenhum resultado encontrado'; //mensagem de erro
    } //FIM //usuario e senha validos

    //VERIFICA ERRO OU SUCESSO
    if ($error > '0') { //erro não permite
      //ERRO
      $array = ['status' => 'fail', 'message' => $message];
    } //FIM //erro não permite
    else { //permite acesso
      while ($row = mysql_fetch_array($sql)) {
        //SUCESSO
        $array[] = ['country' => $row['nome'], 'ddi' => $row['ddi']];
      }
    } //FIM //permite acesso

    $resultado = json_encode($array, JSON_PRETTY_PRINT);
    echo $resultado;
    break;
    //FIM //api ddi
} //fim case enviar

mysql_close($conecta);
exit;
