<?php

class Extrato extends CI_Controller {

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

    public function extrato() {
        $aluno = $this->Cadastro_Model->verificaAluno();
        if (isset($_SESSION['logado']) == TRUE && $aluno != NULL) {
            $cliente = $this->Saldo_Model->clienteNegocio();
            $id_negocio = $cliente['id_negocio'];

            $mes = $this->input->get('mes');
            $ano = $this->input->get('ano');
            
           
                
            
            $total_rows = $this->Transferencia_Model->CountAll($mes, $ano); 
            $config = array("base_url" => base_url('extrato/resultado'), "per_page" => 7, "num_links" => 3, "uri_segment" => 3, "total_rows" => $this->Transferencia_Model->CountAll(), "full_tag_open" => "<ul class= 'pagination'>", "full_tag_close" => "</ul>", "first_link" => FALSE, "last_link" => FALSE, "first_tag_open" => "<li>", "first_tag_close" => "</li>", "prev_link" => "Anterior", "prev_tag_open" => "<li class='prev'>", "prev_tag_close" => "</li>", "next_link" => "Próximo", "next_tag_open" => "<li class='next'>", "next_tag_close" => "</li>", "last_tag_open" => "<li>", "last_tag_close" => "</li>", "cur_tag_open" => "<li class= 'active'><a href='#'>", "cur_tag_close" => "</a></li>", "num_tag_open" => "<li>", "num_tag_close" => "</li>");

            if (!is_null($mes) && !is_null($ano)) {
                
                $this->form_validation->set_data($this->input->get());
                $this->form_validation->set_rules('mes', 'mês', 'trim|required|is_numeric', array('required' => 'O campo de mês está em branco', 'is_numeric' => 'O campo deve ser númerico'));
                $this->form_validation->set_rules('ano', 'ano', 'trim|required|is_numeric', array('required' => 'O campo de ano está em branco', 'is_numeric' => 'O campo deve ser númerico'));
                if ($this->form_validation->run() == FALSE) {
                
                $form = validation_errors('<div class="alert alert-warning" role="alert"><div class=""> <i class="fa fa-info-circle"></i> <span> ', ' </span> </div> </div>');   

                $this->session->set_flashdata('erro-form', $form);
                redirect('extrato');    
                } else {
                    $filter = '?mes=' . $mes . '&ano=' . $ano;
                    $config['suffix'] = $filter;
                    $config['first_url'] = base_url('extrato/resultado' . $filter);
                }
            }
            $this->pagination->initialize($config);
            $offset = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
            $dados = array('transacao' => $this->Transferencia_Model->verificaTransacaoRealiza(),'data' => $this->Transferencia_Model->recuperatransacao_financeira(), 'saldos' => $this->Saldo_Model->saldo($id_negocio), 'cliente' => $this->Cadastro_Model->verificaAluno(), 'extratos' => $this->Transferencia_Model->extrato_financeiro($mes, $ano, $config['per_page'], $offset), 'pagination' => $this->pagination->create_links(), 'arr_meses' => array('01' => 'Janeiro', '02' => 'Fevereiro', '03' => 'Março', '04' => 'Abril', '05' => 'Maio', '06' => 'Junho', '07' => 'Julho', '08' => 'Agosto', '09' => 'Setembro', '10' => 'Outubro', '11' => 'Novembro', '12' => 'Dezembro'));

            $this->load->view('extrato', $dados);
            
        } else {
            redirect('base');
        }
    }

}
