<?php

class Historico_Model extends CI_Model {

    function __construct() {
        parent::__construct();
    }
        
    public function getHistorico($id_historico) {

        $this->db->where('id_historico', $id_historico);
        $query = $this->db->get('historico');

        return $query->row_array();
    }

    public function getCursoHistorico($id_aluno) {
        $this->db->select('a.id_curso,a.nome,a.carga_horaria as carga,a.ementa, b.carga_horaria, b.primeiro_dia, b.nota, b.id_historico, b.concluido, b.certificado');
        $this->db->where('b.id_curso = a.id_curso');
        $this->db->where('b.id_aluno', $id_aluno);
        $this->db->order_by('b.primeiro_dia, b.primeira_hora', 'DESC');
        $query = $this->db->get('curso a,historico b');
        return $query->result();
    }

    public function getCursoliberado($id_historico) {

        $this->db->where('concluido = 0');
        $this->db->where('certificado = 0');
        $this->db->where('id_historico', $id_historico);
        $this->db->where('id_aluno', $_SESSION['aluno']['id_aluno']);
        $query = $this->db->get('historico');
        return $query->row_array();
    }

    // FREQUENCIA 
    public function getfrequencia($id_historico) {

        $this->db->where('historico', $id_historico);
        $query = $this->db->get('frequencia');
        return $query->num_rows();
    }

    public function verificafrequencia($id_historico) {
        
        $data_atual = date('Y-m-d');
        $this->db->where('historico', $id_historico);
        $this->db->where('data_registro', $data_atual);
        $query = $this->db->get('frequencia');
        return $query->num_rows();
    }

    public function setfrequencia($id_historico) {

        $frequencia = $this->verificafrequencia($id_historico);
        $dados = array('data_registro' => date('Y-m-d h:i:s'), 'historico' => $id_historico, 'ip' => $this->url->get_client_ip_server(), 'browser' => $this->url->getBrowser());
        if ($frequencia == 0) {
            $this->db->insert('frequencia', $dados);
        }
    }
    // FIM DA FREQÛENCIA
    // LINK DO CONTEÚDO
     public function alunoLink($id_link) {
        $this->db->where('id_link', $id_link);
        $this->db->where('id_aluno', $_SESSION['aluno']['id_aluno']);
        $query = $this->db->get('aluno_link');

        if ($query->num_rows() > 0) {
            return TRUE;
        } else {
            return FALSE;
        }
    }
    
    public function inserelink($id_link) {
        
        $aluno = $this->alunoLink($id_link);
        $dados = array('id_link' => $id_link, 'id_aluno' => $_SESSION['aluno']['id_aluno']);
        if ($aluno == FALSE) {
        $this->db->insert('aluno_link', $dados);        
        }
        
    }
    
    public function freqCont($id_historico) {

        $this->db->where('historico', $id_historico);
        $query = $this->db->get('frequencia');  
        return $query->num_rows();
    }
    
    public function atualizaclique($id_historico) {
        
        $this->db->set('num_cliques', 'num_cliques + 1', FALSE);
        $this->db->where('id_historico', $id_historico);
        $this->db->where('id_aluno', $_SESSION['aluno']['id_aluno']);
        $this->db->update('historico');

    }
    
    public function atualizahistorico($id_historico) {
        
        $this->db->set('concluido', 2);
        $this->db->where('id_historico', $id_historico);
        $this->db->where('id_aluno', $_SESSION['aluno']['id_aluno']);
        $this->db->update('historico');
    }
    
    
    public function atualizahistoricoprova_aluno($id_historico, $nota,$id_aluno) {
        $data_atual = date('Y-m-d');
       
        $historico=$this->getHistorico($id_historico);
        $data_conclusao=$historico['ultimo_dia'];
        
        
        if(empty($data_conclusao)){
       $dados = array('nota' => $nota, 'ultimo_dia' => $data_atual, 'ultima_hora' => date('H:i:s'), 'concluido' => 1, 'frequencia' => 100); 
        }
        else{
          $dados = array('nota' => $nota, 'concluido' => 1, 'frequencia' => 100);
        }
        
    
        
        
        $this->db->set($dados);
        $this->db->where('id_historico', $id_historico);
        $this->db->where('id_aluno', $id_aluno);
        $this->db->update('historico');
        
    }
    
    public function atualizahistoricoprova($id_historico, $nota) {
        $data_atual = date('Y-m-d');
       
        $historico=$this->getHistorico($id_historico);
        $data_conclusao=$historico['ultimo_dia'];
        
        
        if(empty($data_conclusao)){
       $dados = array('nota' => $nota, 'ultimo_dia' => $data_atual, 'ultima_hora' => date('H:i:s'), 'concluido' => 1, 'frequencia' => 100); 
        }
        else{
          $dados = array('nota' => $nota, 'concluido' => 1, 'frequencia' => 100);
        }
        
    
        
        
        $this->db->set($dados);
        $this->db->where('id_historico', $id_historico);
        $this->db->where('id_aluno', $_SESSION['aluno']['id_aluno']);
        $this->db->update('historico');
        
    }
    
    public function atualizadataconclusao($id_historico, $data_conclusao) {
       
       
       
        $dados = array('ultimo_dia' => $data_conclusao);
        
       
        $this->db->set($dados);
        $this->db->where('id_historico', $id_historico);
        $this->db->update('historico');
        
    }
    
    
    public function getHistoricoFaltaPorAluno() {
        $this->db->select('a.id_historico, a.carga_horaria, a.primeiro_dia, b.nome');
        $this->db->join('curso b', 'a.id_curso = b.id_curso');
        $this->db->where('concluido', 0);
        $this->db->where('id_aluno', $_SESSION['aluno']['id_aluno']);
        $query = $this->db->get('historico a');
        
        return $query->result();

    }
    
    public function gabarito($data) {
        
        $this->db->insert('gabarito', $data);
    }
}
