<?php

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

class CursosMatriculados extends CI_Controller {

    function __construct() {
        parent::__construct();
        (isset($_SESSION['controle-aluno']) == TRUE) ? redirect('carreira') : '';
        $this->load->model('Cursos_Model');
        $this->load->model('Matricula_Model');
        $this->load->model('Cursos_Model');
        $this->load->model('Historico_Model');
        $this->load->model('Cadastro_Model');
        $this->load->library('url');
        $this->load->library('Criptografia');
        $this->load->library('Cpf');
        $this->load->database();
    }

    public function cursosmatriculados_old() {

        if (isset($_SESSION['aluno']) == TRUE) {
            $id = $_SESSION['aluno']['id_aluno'];
            $aluno = $this->Cadastro_Model->getAlunoPorID($id);
            $cpf = $this->validacpf();
            $cursos = $this->Matricula_Model->obtemCursoMatriculado();
            $dados = array('aluno' => $aluno, 'cpf' => $cpf, 'termos' => $this->Cadastro_Model->obtemTermo(), 'cursos' => $cursos, 'titulo' => 'Cursos Matriculados');
            $this->load->view('cursosmatriculados', $dados);
        } else {
            redirect();
        }
    }

    public function cursosmatriculados() {
 
        if (isset($_SESSION['aluno']) == TRUE) {
            
            $nome_aluno=$_SESSION['aluno']['nome'];
            $cidade=$_SESSION['aluno']['cidade'];
            $tamanho_nome=count(explode(" ",$nome_aluno));
            $nome_repetido=count($this->db->query("SELECT *  FROM `aluno` WHERE `nome` LIKE '".$nome_aluno."' AND `cidade`='".$cidade."' and situacao<>0 ORDER BY `id_aluno` DESC")->result());
          
           
        
            if($tamanho_nome>1 && $nome_repetido>1){
            redirect('cursosmatriculados_todos');
            }
            
            $id = $_SESSION['aluno']['id_aluno'];
            $aluno = $this->Cadastro_Model->getAlunoPorID($id);
            $cpf = $this->validacpf();
            $cursos = $this->Matricula_Model->obtemCursoMatriculado();
            $dados = array('controle' => $this, 
                'aluno' => $aluno, 
                'cpf' => $cpf, 
                'termos' => $this->Cadastro_Model->obtemTermo(), 
                'cursos' => $cursos, 
                'descricao' => 'O aluno pode acompanhar todos os cursos que está matriculado no Amazônia Cursos',
                'titulo' => 'Cursos Matriculados');
            $this->load->view('cursosmatriculados', $dados);
        } else {
            redirect('');
        }
    }
    
    public function cursosmatriculados_todos() {
 
        if (isset($_SESSION['aluno']) == TRUE) {
            $id = $_SESSION['aluno']['id_aluno'];
            
           
            
            $nome_aluno=$_SESSION['aluno']['nome'];
            $cidade=$_SESSION['aluno']['cidade'];
            $tamanho_nome=count(explode(" ",$nome_aluno));
            $nome_repetido=count($this->db->query("SELECT *  FROM `aluno` WHERE `nome` LIKE '".$nome_aluno."' AND `cidade`='".$cidade."' and situacao<>0 ORDER BY `id_aluno` DESC")->result());
          
           
        
            if($tamanho_nome>1 && $nome_repetido>1){
            
            }
            
            $aluno = $this->Cadastro_Model->getAlunoPorID($id);
            $cpf = $this->validacpf();
            $cursos = $this->Matricula_Model->obtemCursoMatriculado_todos();
            
//            print_r($cursos);
//            echo "aqui";
//            exit();
            $dados = array('controle' => $this, 
                'aluno' => $aluno, 
                'cpf' => $cpf, 
                'termos' => $this->Cadastro_Model->obtemTermo(), 
                'cursos' => $cursos, 
                'descricao' => 'O aluno pode acompanhar todos os cursos que está matriculado no Amazônia Cursos',
                'titulo' => 'Cursos Matriculados');
            
           
            $this->load->view('cursosmatriculados_todos', $dados);
        } else {
            redirect('');
        }
    }
    
    public function consultacpf() {
                    $cpf = $this->input->post('cpf');
                    $ch = curl_init();

                    $post = array(
                        'token' => CPF_TOKEN, 
                        'chave' => CPF_CHAVE, 
                        'instituicao' => 'AMAZONIACURSOS', 
                        'cpf' => $cpf);
                    curl_setopt($ch, CURLOPT_URL, CPF_URL);
                   
                    //recupera o aluno e insere o seu e-mail na requisicao como identificador
                    $email_aluno = $this->Cadastro_Model->getAlunoPorID($_SESSION['aluno']['id_aluno'])['email'];
                    if (isset($email_aluno) && $email_aluno != null) {
                        $post['identificador'] = $email_aluno;
                    }

                    curl_setopt($ch, CURLOPT_POST, 1);
                    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                    $requisicao = curl_exec($ch);
                   
                    curl_close($ch);

                    $res = json_decode($requisicao);
                    
                        $id = $_SESSION['aluno']['id_aluno'];
                        $datas = date('Y-m-d H:i:s', time());
                        $aluno = $this->Cadastro_Model->getAlunoPorID($id);
                       
                    if (($res->status) == 1 && $res->nome != "") {
                        $data = array('situacao' => 'sucesso','nome' =>$res->nome);
                        echo json_encode($data);
                        exit();
                    }
                    else{
                        $data = array('situacao' => 'falha');
                        echo json_encode($data);
                    }
                    
                    
                    
                }
     
    

    public function cpf() {

        $cpf = preg_replace('#[^0-9]#', '', $this->input->post('cpf'));
        
        $this->form_validation->set_rules('cpf', 'para validação', 'trim|required|min_length[11]|max_length[14]', array('required' => 'O CPF está em branco'));

        if ($this->form_validation->run() == FALSE) {
            $form = validation_errors();
            $data = array('situacao' => 'form-erro', 'erro_form' => $form);
            echo json_encode($data);
        } else {

            $valida = new Cpf($cpf);

//            if ($ver_bd == FALSE) { // SE NÃO EXISTIR O CPF NA BASE DE DADOS
                if ($valida->valida()) {

                    $ch = curl_init();

                    //desenvolvimento
//                  $post = array(
//                  'token' => '', 
//                  'chave' => '', 
//                  'instituicao' => '', 
//                  'cpf' => $documento);
//                  curl_setopt($ch, CURLOPT_URL, '');
                    
                    //desenvolvimento
                    $post = array(
                        'token' => CPF_TOKEN, 
                        'chave' => CPF_CHAVE, 
                        'instituicao' => 'AMAZONIACURSOS', 
                        'cpf' => $cpf);
                    curl_setopt($ch, CURLOPT_URL, CPF_URL);

                    //recupera o aluno e insere o seu e-mail na requisicao como identificador
                    $email_aluno = $this->Cadastro_Model->getAlunoPorID($_SESSION['aluno']['id_aluno'])['email'];
                    if (isset($email_aluno) && $email_aluno != null) {
                        $post['identificador'] = $email_aluno;
                    }

                    curl_setopt($ch, CURLOPT_POST, 1);
                    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                    $requisicao = curl_exec($ch);

                    curl_close($ch);

                    $res = json_decode($requisicao);

//                    //debug
//                    echo '<pre>';
//                    print_r($post);
//                    print_r($res);
//                    die();
 
                    
                        $id = $_SESSION['aluno']['id_aluno'];
                        $datas = date('Y-m-d H:i:s', time());
                        $aluno = $this->Cadastro_Model->getAlunoPorID($id);
                    
                    if (($res->status) == 108 && !empty($aluno['nome'])) {
                       
                        $info = array('nome' => $aluno['nome'], 'situacao' => 2);
                        $this->Cadastro_Model->autalizadadoscadastrais($info);
                        $data = array('situacao' => 'sucesso');
                        echo json_encode($data);
                        exit();
                    }

                    if (($res->status) == 0) {
                        $data = array('situacao' => 'falha');
                        echo json_encode($data);
                    } else if (($res->status) == 1 && $res->nome != "") {
                        $id = $_SESSION['aluno']['id_aluno'];
                        $datas = date('Y-m-d H:i:s', time());
                        $aluno = $this->Cadastro_Model->getAlunoPorID($id);
                        $dados = array('id_aluno' => $id, 'cpf' => $cpf, 'nome_antigo' => $aluno['nome'], 'nome_atual' => $res->nome, 'data_alteracao' => $datas);
                        $this->Cursos_Model->insere_aluno_log($dados);
                        $info = array('nome' => $dados['nome_atual'], 'situacao' => 1);
                        $this->Cadastro_Model->autalizadadoscadastrais($info);
                        $infos = array('tipo_doc' => 2, 'documento' => $cpf);
                        $this->Cadastro_Model->documentacao($infos);
                        $data = array('situacao' => 'sucesso');
                        echo json_encode($data);
                    } else if ($res->nome == "" && $res->status == 1) {

                        $cont = $this->contador();
                        if ($cont < 3) {
                            $data = array('situacao' => 'falhageral');
                            echo json_encode($data);
                        } else {
                            $data = array('situacao' => 'maximatentativa');
                            echo json_encode($data);
                            $this->session->unset_userdata('contador');
                        }
                    }
                } else {
                    $data = array('situacao' => 'falhacpf');
                    echo json_encode($data);
                }
//            } else if ($ver_bd != FALSE && $ver_bd['id_aluno'] == $_SESSION['aluno']['id_aluno']) {
//
//                if ($valida->valida()) {
//
//                    $ch = curl_init();
//
//                    //producao
////                  $post = array(
////                  'token' => '22O0LOWPEIDIQaCVGAPJS5W3eoB2lFXd', 
////                  'chave' => '2OLOWQAMAZKQagrgergCVGAPJS5W3eoB2lFXdiF', 
////                  'instituicao' => 'AMAZONIACURSOS', 
////                  'cpf' => $documento);
////                  curl_setopt($ch, CURLOPT_URL, 'https://www.ovum.com.br/ovumc/ovumc1.1/');
//                  
//                    //desenvolvimento
//                    $post = array(
//                        'token' => 'T2BWFPJKOW6BNXF7O1G90EGZJ9PMBJCM',
//                        'chave' => 'V7WAWRBNAEF4OJ6PF059SMJNWW2CIJXX',
//                        'instituicao' => 'EQUIPECLEBER',
//                        'cpf' => $cpf);
//                    curl_setopt($ch, CURLOPT_URL, 'https://www.aporfia.com.br/ovumc/');
//
//                    //recupera o aluno e insere o seu e-mail na requisicao como identificador
//                    $email_aluno = $this->Cadastro_Model->getAlunoPorID($_SESSION['aluno']['id_aluno'])['email'];
//                    if (isset($email_aluno) && $email_aluno != null) {
//                        $post['identificador'] = $email_aluno;
//                    }
//
//                    curl_setopt($ch, CURLOPT_POST, 1);
//                    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
//                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
//                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//                    $requisicao = curl_exec($ch);
//
//                    curl_close($ch);
//
//                    $res = json_decode($requisicao);
//
////                    //debug
////                    echo '<pre>';
////                    print_r($post);
////                    print_r($res);
////                    die();
//
//                    if (($res->status) == 0) {
//                        $data = array('situacao' => 'falha');
//                        echo json_encode($data);
//                    } else if (($res->status) == 1 && $res->nome != "" && $res->nascimento != "0000-00-00") {
//                        $id = $_SESSION['aluno']['id_aluno'];
//                        $datas = date('Y-m-d H:i:s', time());
//                        $aluno = $this->Cadastro_Model->getAlunoPorID($id);
//                        $dados = array('id_aluno' => $id, 'cpf' => $cpf, 'nome_antigo' => $aluno['nome'], 'nome_atual' => $res->nome, 'data_alteracao' => $datas);
//                        $this->Cursos_Model->insere_aluno_log($dados);
//                        $info = array('nome' => $dados['nome_atual'], 'situacao' => 1);
//                        $this->Cadastro_Model->autalizadadoscadastrais($info);
//                        $infos = array('tipo_doc' => 2, 'documento' => $cpf);
//                        $this->Cadastro_Model->documentacao($infos);
//                        $data = array('situacao' => 'sucesso');
//                        echo json_encode($data);
//                    } else if ($res->nome == "" || $res->nascimento == "0000-00-00" && $res->status == 1) {
//
//                        $cont = $this->contador();
//                        if ($cont < 3) {
//                            $data = array('situacao' => 'falhageral');
//                            echo json_encode($data);
//                        } else {
//                            $data = array('situacao' => 'maximatentativa');
//                            echo json_encode($data);
//                            $this->session->unset_userdata('contador');
//                        }
//                    }
//                } else {
//                    $data = array('situacao' => 'falhacpf');
//                    echo json_encode($data);
//                }
//            } else if ($ver_bd != FALSE && $ver_bd['id_aluno'] != $_SESSION['aluno']['id_aluno']) {
//                $data = array('situacao' => 'cpf-none');
//                echo json_encode($data);
//            }
        }
    }

    public function _cpf() {

        $cpf = preg_replace('#[^0-9]#', '', $this->input->post('cpf'));

        $this->form_validation->set_rules('cpf', 'para validação', 'trim|required|min_length[11]|max_length[14]', array('required' => 'O CPF está em branco'));

        if ($this->form_validation->run() == FALSE) {
            $form = validation_errors();
            $data = array('situacao' => 'form-erro', 'erro_form' => $form);
            echo json_encode($data);
        } else {

            $valida = new Cpf($cpf);
            $ver_bd = $this->Cadastro_Model->recupera_cpf($cpf);
            if ($ver_bd == FALSE) {
                if ($valida->valida()) {

                    $post = array(
                        'token' => '22O0LOWPEIDIQaCVGAPJS5W3eoB2lFXd',
                        'chave' => '2OLOWQAMAZKQagrgergCVGAPJS5W3eoB2lFXdiF',
                        'instituicao' => 'AMAZONIACURSOS',
                        'cpf' => $cpf);

                    $ch = curl_init();
                    curl_setopt($ch, CURLOPT_URL, 'https://aporfia.com.br/ovum/ovumc/ovumc1.3/consulta_cpf');
                    curl_setopt($ch, CURLOPT_POST, 1);
                    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                    $requisicao = curl_exec($ch);

                    curl_close($ch);

                    $res = json_decode($requisicao);

                    if (($res->status) == 0) {
                        $data = array('situacao' => 'falha');
                        echo json_encode($data);
                    } else if (($res->status) == 1 && $res->nome != "") {
                        $id = $_SESSION['aluno']['id_aluno'];
                        $datas = date('Y-m-d H:i:s', time());
                        $aluno = $this->Cadastro_Model->getAlunoPorID($id);
                        $dados = array('id_aluno' => $id, 'cpf' => $cpf, 'nome_antigo' => $aluno['nome'], 'nome_atual' => $res->nome, 'data_alteracao' => $datas);
                        $this->Cursos_Model->insere_aluno_log($dados);
                        $info = array('nome' => $dados['nome_atual'], 'situacao' => 1);
                        $this->Cadastro_Model->autalizadadoscadastrais($info);
                        $infos = array('tipo_doc' => 2, 'documento' => $cpf);
                        $this->Cadastro_Model->documentacao($infos);
                        $data = array('situacao' => 'sucesso');
                        echo json_encode($data);
                    } else if ($res->nome == "" && $res->status == 1) {

                        $cont = $this->contador();
                        if ($cont < 3) {
                            $data = array('situacao' => 'falhageral');
                            echo json_encode($data);
                        } else {
                            $data = array('situacao' => 'maximatentativa');
                            echo json_encode($data);
                            $this->session->unset_userdata('contador');
                        }
                    }
                } else {
                    $data = array('situacao' => 'falhacpf');
                    echo json_encode($data);
                }
            } else {
                $data = array('situacao' => 'cpf-none');
                echo json_encode($data);
            }
        }
    }

    public function contador() {

        if (isset($_SESSION['contador'])) {

            $_SESSION['contador'] = $_SESSION['contador'] + 1;
        } else {

            $this->session->set_userdata("contador", 1);
        }

        if ($_SESSION['contador'] == 3) {

            return TRUE;
        }
    }

    public function validacpf() {

        $alunonverificado = $this->Cadastro_Model->getalunonverificado(); // VERIFICO SE A SITUAÇÃO DO ALUNO É [0] - NÃO VERIFICADO

        $doc = $this->Cadastro_Model->obtemdocumentacao();

        if ($alunonverificado != NULL && $doc['tipo_doc'] != 2) {
            return false; // SE O ALUNO FOR NÃO VERIFICADO E POSSUIR UM DOCUMENTO DIFERENTE DO CPF
        } else if ($alunonverificado != NULL) {
            return false; // SE O ALUNO FOR SOMENTE NÃO VERIFICADO
        } else {
            return true;  // SE O ALUNO FOR VERIFICADO
        }
    }

    public function _validacpf() {

        $alunonverificado = $this->Cadastro_Model->getalunonverificado();
        if ($alunonverificado != NULL) {
            return false;
        } else {
            return true;
        }
    }

    public function acessar($id) {
        $aluno = $this->Matricula_Model->obtemCursoMatriculadoporIDhistorico($this->criptografia->decodifica($id));
        $id_aluno=$aluno[0]->id_aluno;

        $cursos = $this->Matricula_Model->obtemCursoMatriculadoporHistorico_aluno($this->criptografia->decodifica($id),$id_aluno);

        $cursos = $this->Matricula_Model->obtemCursoMatriculadoporHistorico_aluno($this->criptografia->decodifica($id),$id_aluno);
        
        
        $conteudoww = $this->conteudo($cursos[0]->id_curso);
     
       
 
         $param = [
        'site' => 'amazonia',
        'url' =>$cursos[0]->nome,
        'ip' => $_SERVER['REMOTE_ADDR'],
        'conteudo' =>$conteudoww[0]->url,
        'conteudo_complementar' => "Id do curso= ".$cursos[0]->id_curso
        ];
        
         
        $url="https://www.onlist.com.br/material";
        //Conversão de dados em formato JSON.

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $resultado = curl_exec($ch);
        
        foreach ($cursos as $value) {
            
        }
        $concluido = $value->concluido;
        if ($concluido == 0) {
            $id_curso = $value->id_curso;
            $conteudo = $this->conteudo($id_curso);
            foreach ($conteudo as $conteudos) {
                
            }
            $id_link = $conteudos->id_link;

            $acesso_material = $this->Historico_Model->alunoLink($id_link);
            $dias_corrido = $this->diascorridos($this->criptografia->decodifica($id));
            $id_historico = $value->id_historico;
            $this->Historico_Model->verificafrequencia($id_historico);
            $this->Historico_Model->setfrequencia($id_historico);

            $datas = $this->datas($this->criptografia->decodifica($id));
            $freq = $this->Historico_Model->getfrequencia($id_historico);
            $id_aluno = $_SESSION['aluno']['id_aluno'];
            $aluno = $this->Cadastro_Model->getAlunoPorID($id_aluno);
            $cpf = $this->validacpf();
            $dados = array('descricao' => 'O aluno pode realizar a sua avaliação, estudar o conteúdo do curso mnatriculado e acessar o material de apoio do seu curso','cpf' => $cpf, 'aluno' => $aluno, 'titulo' => 'Cursos Matriculados', 'termos' => $this->Cadastro_Model->obtemTermo(), 'curso' => $cursos, 'frequenca' => $freq, 'datas' => $datas, 'conteudo' => $conteudo, 'material' => $acesso_material, 'data_liberacao' => $dias_corrido, 'concluido' => $concluido);
            $this->load->view('acessar', $dados);
        } else {

            $this->session->set_flashdata('erro-acesso', '<div class="alert alert-warning alert-conf" role="alert"><i class="fa fa-info-circle"></i> Você já concluiu esse curso. </div>');

            redirect('cursosmatriculados');
        }
    }

    public function cursosplatinum($va) {

        if (isset($_SESSION['aluno']) == TRUE) {

            $ia = base64_decode($va);

            $url = 'http://www.cursosplatinum.com.br/minicurso/sistema/matcurso2_2.php?id=' . $ia;
            $ch = curl_init();
            // informar URL e outras funções ao CURL
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_FILETIME, true);

            $output = curl_exec($ch);
            $id = $_SESSION['aluno']['id_aluno'];
            $aluno = $this->Cadastro_Model->getAlunoPorID($id);
            $dados = array('aluno' => $aluno, 'link' => $output, 'titulo' => 'Cursos Platinum', 'termos' => $this->Cadastro_Model->obtemTermo());
            $this->load->view('cursosplatinum', $dados);
        } else {
            redirect();
        }
    }

    // FUNÇÃO QUE RETORNA O CONTEÚDO DO CURSO
    public function conteudo($id) {
        $conteudo = $this->Cursos_Model->obtemConteudo($id);
        return $conteudo;
    }

    // FUNÇÃO QUE REALIZA O CANCELAMENTO DO CURSO
    public function cancelacurso() {

        $id_historico = $this->criptografia->decodifica($this->input->post('id'));
        $id = $this->input->post('id');
        $this->Historico_Model->atualizahistorico($id_historico);

        $data = array('situacao' => 'true', 'id_h' => $id);
        echo json_encode($data);
    }
    
    public function dataconclusao() {

      
        $id = $this->input->post('id_historico');
        $data_conclusao = $this->input->post('data_conclusao');
  
        
        $historico=$this->Historico_Model->getHistorico($id);
        $data_conclusaohistorico=$historico['ultimo_dia'];
        $situacao=$historico['concluido'];
        
        
       if($situacao==0){
         
          $this->Historico_Model->atualizadataconclusao($id,$data_conclusao);
       }
       
      

       
    }

    // FUNÇÃO QUE RETORNA AS DATAS DO PERÍODO DE AVALIAÇÃO
    public function datas($id) {

        $cursos = $this->Matricula_Model->obtemCursoMatriculadoporHistorico($id);
        foreach ($cursos as $value) {
            
        }
        $id_historico = $value->id_historico;
        $data_validade_matricula = date('d/m/Y', strtotime($value->primeiro_dia . ' + 90 days'));
        $ch = ceil($value->carga_horaria / 8);

        $acres = '+ ' . $ch . ' days';
        $datafutura = date('d/m/Y', strtotime($value->primeiro_dia . $acres));
        $data = explode("/", $datafutura);
        $ano = $data[2];
        $mes = $data[1];
        $dia = $data[0];
        $d_garan = $ano . "-" . $mes . "-" . $dia;

        $dados = array('data_validade_matricula' => $data_validade_matricula, 'data_fatura' => $datafutura, 'id_garan' => $d_garan);

        return $dados;
    }

    public function diascorridos($id) {
        $cursos = $this->Matricula_Model->obtemCursoMatriculadoporHistorico($id);

        foreach ($cursos as $value) {
            
        }
        $ch = ceil($value->carga_horaria / 8); //35
        $acres = '+ ' . $ch . ' days';
        $datafutura = date('d/m/Y', strtotime($value->primeiro_dia . $acres)); //03-10-2018
        
        $data_atual = date('d/m/Y');

        $time_inicial = $this->geraTimestamp($datafutura);
        $time_final = $this->geraTimestamp($data_atual);
        // Calcula a diferença de segundos entre as duas datas:
        $diferenca = $time_final - $time_inicial;
        // Calcula a diferença de dias

        $dias = (int) floor($diferenca / (60 * 60 * 24));
        
        if ($dias > 0) {
            return FALSE;
        } else if ($datafutura == $data_atual) {
            return FALSE;
        } else {
            return TRUE;
        }
    }

    public function diascorridos_old($id) {
        $cursos = $this->Matricula_Model->obtemCursoMatriculadoporHistorico($id);
        foreach ($cursos as $value) {
            
        }
        $ch = ceil($value->carga_horaria / 8);
        $acres = '+ ' . $ch . ' days';
        $datafutura = date('d/m/Y', strtotime($value->primeiro_dia . $acres));

        $data_atual = date('d/m/Y');

        $time_inicial = $this->geraTimestamp($datafutura);
        $time_final = $this->geraTimestamp($data_atual);
        // Calcula a diferença de segundos entre as duas datas:
        $diferenca = $time_final - $time_inicial;
        // Calcula a diferença de dias
        $dias = (int) floor($diferenca / (60 * 60 * 24));

        if ($dias > 0) {
            return FALSE;
        } else {
            return TRUE;
        }
    }

    // Cria uma função que retorna o timestamp de uma data no formato DD/MM/AAAA
    function geraTimestamp($data) {
        $partes = explode('/', $data);
        return mktime(0, 0, 0, $partes[1], $partes[0], $partes[2]);
    }

    // FUNÇÃO QUE INSERE OS MÓDULOS ACESSADOS PELO ALUNO E CONTA OS CLIQUES PARA O MÓDULO
    public function acessoModulo() {

        $id_historico = $this->input->post('id');
        $id_link = $this->input->post('link');
        $this->Historico_Model->inserelink($id_link);
        $this->Historico_Model->atualizaclique($id_historico);
    }

    public function atualizacarga() {

        $historico = $this->criptografia->decodifica($this->input->post('historico'));
        $carga_horaria = $this->input->post('duracao');

        $data = array('carga_horaria' => $carga_horaria);

        $codificada = md5($this->input->post('curso'));

        if (($this->cart->get_item($codificada)) == FALSE) {

            if (!empty($historico) && !empty($carga_horaria)) {
                $atualiza = $this->Cursos_Model->atualizacarga($historico, $data);
                if ($atualiza == TRUE) {
                    $resultado = array('situacao' => 'sucesso');
                    echo json_encode($resultado);
                } else {
                    $resultado = array('situacao' => 'falha');
                    echo json_encode($resultado);
                }
            }
        } else {
            $resultado = array('situacao' => 'falha-carrinho');
            echo json_encode($resultado);
        }
    }

    public function verificatransacaohistorico($historico) {

        $transacao = $this->Cursos_Model->verificatransacaohistorico($historico);

        return $transacao;
    }

}
