/** * 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);