<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class ConfirmaDados extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('Cadastro_Model');
        $this->load->model('Saldo_Model');
        $this->load->model('Pagamento_Model');
        $this->load->database();
        $this->load->library('form_validation');
        $this->ci = & get_instance();
        $this->ci->load->config('url', TRUE);
    }

    public function confirmadados() {
        
        $saldo = $this->input->post('valor', TRUE);
        $valor = str_replace(array('.', ','), array('', '.'), $saldo);
        $pisc =  $this->input->post('pisc', TRUE);
        $this->session->set_userdata("pisc", $pisc);
        $this->form_validation->set_rules('valor', 'Valor', 'trim|required', array('required' => '<div class="alert alert-warning" role="alert"><span class="glyphicon glyphicon-exclamation-sign login-span"></span> O valor para adicionar a sua conta está em branco </div>'));

        $clienteTransacao = $this->Saldo_Model->cliente();

        $nome = $clienteTransacao['nome'];
        $email = $clienteTransacao['email'];
        $telefone = $clienteTransacao['celular'];
        $endereco = $clienteTransacao['endereco'];
        $numero = $clienteTransacao['numero'];
        $cep = $clienteTransacao['cep'];
        $bairro = $clienteTransacao['bairro'];
        $cidade = $clienteTransacao['cidade'];
        $estado = $clienteTransacao['estado'];
        $ddd = $clienteTransacao['ddd_celular'];
        $cpf = $clienteTransacao['cpf'];
        if ($this->form_validation->run() == FALSE) {
            $dados = array('saldos' => $this->Saldo_Model->saldo(), 'cliente' => $this->Cadastro_Model->verificaAluno());
            $this->load->view('adicionarsaldo', $dados);
        } else {

            if ($valor < 1.00) {
                $this->session->set_flashdata('erro-saldo', '<script> alertify.set("notifier","position", "top-center"); alertify.error("O valor informado não pode ser adicionado");</script>');
                redirect('adicionarsaldo');
            } else if ($nome != "" && $email != "" && $telefone != "" && $endereco != "" && $numero != "" && $cep != "" && $bairro != "" && $cidade != "" && $estado != "" && $ddd != "" && $cpf != "" && $saldo != "") {
                $this->transacao();
                redirect('pagamento');
            } else {
                $dados = array(
                    'clientes' => $this->Saldo_Model->saldo(), 'cliente' => $this->Cadastro_Model->verificaAluno()
                );
                $this->transacao();
                $this->load->view('confirmadados', $dados);
            }
        }
    }

    public function confirmacao() {

        $data = array(
            'nome_negocio' => strtoupper($this->input->post('nome_negocio', TRUE)), 'ddd_celular' => $this->input->post('ddd_celular', TRUE), 'celular' => $this->input->post('celular', TRUE), 'cep' => str_replace('-', '', $this->input->post('cep', TRUE)), 'endereco' => $this->input->post('endereco', TRUE), 'numero' => $this->input->post('numero', TRUE), 'complemento' => $this->input->post('complemento', TRUE), 'bairro' => $this->input->post('bairro', TRUE), 'cidade' => $this->input->post('cidade', TRUE), 'estado' => $this->input->post('estado', TRUE), 'email' => $this->input->post('email', TRUE)
        );

        $this->form_validation->set_rules('nome', 'Nome', 'trim|required', array('required' => 'O seu nome está em branco'));
        $this->form_validation->set_rules('ddd_celular', 'Ddd', 'trim|required|min_length[2]|max_length[2]', array('required' => 'O DDD está em branco', 'min_length' => 'Verifique o seu DDD', 'max_length' => 'Verifique o seu DDD'));
        $this->form_validation->set_rules('celular', 'Celular', 'trim|required|min_length[8]|max_length[9]', array('required' => 'O DDD está em branco', 'min_length' => 'Verifique o seu celular', 'max_length' => 'Verifique o seu celular'));
        $this->form_validation->set_rules('cep', 'Cep', 'trim|required', array('required' => 'O seu cep está em branco'));
        $this->form_validation->set_rules('endereco', 'Endereco', 'trim|required', array('required' => 'O seu endereço está em branco'));
        $this->form_validation->set_rules('numero', 'Numero', 'trim|required', array('required' => 'O seu número está em branco'));
        $this->form_validation->set_rules('bairro', 'Bairro', 'trim|required', array('required' => 'O seu bairro está em branco'));
        $this->form_validation->set_rules('cidade', 'Cidade', 'trim|required', array('required' => 'A sua cidade está em branco'));
        $this->form_validation->set_rules('estado', 'Estado', 'trim|required', array('required' => 'O seu estado está em branco'));
        $this->form_validation->set_rules('email', 'Email', 'trim|required', array('required' => 'O seu e-mail está em branco'));

        if ($this->form_validation->run() == FALSE) {
            $form = validation_errors('<div class="alert alert-error" role="alert"><span class="glyphicon glyphicon-exclamation-sign login-span"></span> ',' </div>');
            $dados = array(
                'clientes' => $this->Saldo_Model->saldo(), 'cliente' => $this->Cadastro_Model->verificaAluno(), 'erro_form' => $form
            );
            $this->load->view('confirmadados', $dados);
        } else {
            $dados = $this->Saldo_Model->recuperaDados();
            $ddd = $dados['ddd_celular'];
            $cel = $dados['celular'];

            $dados_aluno = $this->Saldo_Model->recuperaDadosCliente();
            $DDD = $dados_aluno['ddd_celular'];
            $CEL = $dados_aluno['celular'];
            $EMAIL = $dados_aluno['email'];

            $mail = $this->Saldo_Model->recuperaemail();
            $email = $mail['email'];

            if ($email != NULL && $EMAIL != $email) {
                $this->session->set_flashdata('erro-email', '<div class="alert alert-error" role="alert"><span class="glyphicon glyphicon-exclamation-sign login-span"></span> O e-mail informado já está cadastrado </div>');
                redirect('confirmadado');
            } else {
                $this->Saldo_Model->atualizadado($data);
                $this->session->set_flashdata('sucesso-dados', '<script> alertify.set("notifier","position", "top-center"); alertify.success("Dados confirmados com sucesso");</script>');
                redirect('pagamento');
            }
        }
    }

    public function confirmadado() {
        $aluno = $this->Cadastro_Model->verificaAluno();
        if (isset($_SESSION['logado']) == TRUE && $aluno != NULL) {
            $dados = array(
                'clientes' => $this->Saldo_Model->saldo(), 'cliente' => $this->Cadastro_Model->verificaAluno()
            );
            $this->load->view('confirmadados', $dados);
        }
    }

    public function transacao() {
        $token = '';
        $id_transacao = "NEG" . strtoupper(substr(md5(uniqid() . $_SESSION['id_negocio'] . date('Y-m-d H:i:s')), 0, 12));
        $this->session->set_userdata("id_transacao", $id_transacao);
        $this->Pagamento_Model->transacao($id_transacao); // INSIRO A TRANSAÇÃO NO BANCO
        $this->Pagamento_Model->atualizatransacaoValor(); // ATUALIZO O VALOR DA TRANSACAO
        $this->Pagamento_Model->log_transacao($id_transacao, $token);       // INSIRO O LOG_TRANSAÇÃO NO BANCO           
    }

}
