Beispiel #1
0
 /**
  * Verifica se usuário possue papel para acessar determinado conteúdo
  * @param $pessoa_id
  * @param $papeis_permitidos
  * @param conexao com banco de dados
  * @return boolean
  */
 public static function has_role($pessoa_id, $papeis_permitidos, connection_factory $conn)
 {
     $sql = "SELECT ref_papel\n                    FROM usuario_papel a, usuario b\n                    WHERE a.ref_usuario = b.id AND b.ref_pessoa = {$pessoa_id};";
     $papeis_usuario = (array) $conn->get_col($sql);
     // $papeis_permitidos = is_array($papeis_permitidos) ? $papeis_permitidos : array();
     $papeis_permitidos = (array) $papeis_permitidos;
     if (count(array_intersect($papeis_usuario, $papeis_permitidos)) == 0) {
         return FALSE;
     } else {
         return TRUE;
     }
 }
}
//  VERIFICA O DIREITO DE ACESSO A FICHA COMO PROFESSOR OU COORDENADOR
if (isset($_SESSION['sa_modulo']) && $_SESSION['sa_modulo'] == 'web_diario_login') {
    if (!acessa_ficha_aluno($aluno_id, $sa_ref_pessoa, $curso_id)) {
        exit('<script language="javascript" type="text/javascript">
            alert(\'Você não tem direito de acesso a estas informações!\');
            window.close();</script>');
    }
    // ^ VERIFICA O DIREITO DE ACESSO A FICHA COMO PROFESSOR OU COORDENADOR ^ //
}
$fl_integralizado = FALSE;
// TODAS AS DISCIPLINAS DA MATRIZ CURRICULAR
$sql_disciplinas_curso = "SELECT ref_disciplina FROM cursos_disciplinas WHERE ref_curso = {$curso_id};";
// DISCIPLINAS APROVADAS COM MATRICULA PARA O CONTRATO CONSULTADO
$sql_disciplinas_aprovadas = "\r\n        SELECT DISTINCT\r\n            o.ref_disciplina\r\n        FROM\r\n                matricula m, disciplinas_ofer o\r\n        WHERE\r\n                m.ref_pessoa = {$aluno_id} AND\r\n                m.ref_disciplina_ofer = o.id AND\r\n                m.ref_contrato = {$contrato_id} AND\r\n                m.ref_curso = {$curso_id} AND\r\n                o.is_cancelada = '0' AND\r\n                m.dt_cancelamento IS NULL AND\r\n                ( \r\n                    ( m.nota_final >= 60 AND \r\n                      o.fl_finalizada = 't' AND\r\n                      ( m.num_faltas <= ( get_carga_horaria_realizada(o.id) ) * 0.25 ) ) OR\r\n                    ref_motivo_matricula IN (2,3,4)\r\n                ); ";
$disciplinas_curso = (array) $conn->get_col($sql_disciplinas_curso);
//$disciplinas_curso = is_array($disciplinas_curso) ? $disciplinas_curso : array();
//print_r($disciplinas_curso);
//echo '<br /><br />';
$disciplinas_aprovadas = (array) $conn->get_col($sql_disciplinas_aprovadas);
//$disciplinas_aprovadas = is_array($disciplinas_aprovadas) ? $disciplinas_aprovadas : array();
//print_r($disciplinas_aprovadas);
//echo '<br />';
$disciplinas_nao_cursadas = array_diff($disciplinas_curso, $disciplinas_aprovadas);
$disciplinas_cursadas_fora_da_matriz = array_diff($disciplinas_aprovadas, $disciplinas_curso);
/*
$cursadas = array("green", "red", "blue");
$matriz = array("green", "yellow", "red", "blue");
$result = array_diff($matriz, $cursadas);
print_r($result);