Example #1
0
 /**
  * Método que retorna todas as materias com aulas amanhã
  * @param Turma $turma A turma a ser consultada
  * @return array Um array contendo as matérias com aulas amanhã
  */
 public function turmaAulasAmanha(Turma $turma)
 {
     $tableGatway = new TableGatway(new Disciplina(), "public.turma");
     $ano = Loader::data("config", "site", "ano_letivo");
     $dia = date("N", strtotime("+1 day"));
     $query = "select distinct on(fk_materia) * " . "from public.turma " . "inner join public.grade_horario on fk_turma=public.turma.pk_turma " . "inner join public.grade on pk_grade_horario=fk_grade_horario " . "inner join public.materia_vin on pk_materia_vin=fk_materia_vin " . "inner join public.materia on pk_materia=fk_materia " . "where public.turma.ano={$ano} " . "and dia={$dia} " . "and pk_turma={$turma->getId()}";
     return $tableGatway->querySelect($query);
 }
Example #2
0
 /**
  * Método que retorna o tópico pedido
  * @param int $topico O código do tópico buscado
  * @return Topico Um objeto contendo os dados do tópico
  * @param boolea $apenasMinistrados Define se deve exibir qualquer tópico ou apenas os já ministrados em aula
  * @throws LivroException
  */
 public function getTopico($topico, $apenasMinistrados = TRUE)
 {
     if (!is_int($topico)) {
         throw new LivroException("O tópico informado não é válido");
     }
     $select = new Select();
     $tableGatway = new TableGatway(new Topico(), "apostilas.conteudo");
     $tableGatway->defineColuna("pk_conteudo", new ResultSetMap(Column::INTEGER));
     $select->columns("*, " . "apostilas.acompanhamento.data_aula as topico_data_aula," . "apostilas.acompanhamento.status as topico_status")->join("apostilas.capitulo", array("pk_capitulo" => "fk_capitulo"))->join("public.materia_vin", array("pk_materia_vin" => "fk_materia_vin"))->join("public.materia", array("pk_materia" => "fk_materia"))->join("public.materia_mae", array("pk_materia_mae" => "fk_materia_mae"))->join("public.area", array("pk_area" => "fk_area"))->join("apostilas.livro", array("pk_livro" => "fk_livro"))->join("apostilas.livro_cat", array("pk_livro_cat" => "fk_livro_cat"));
     if ((bool) $apenasMinistrados) {
         $select->join("apostilas.acompanhamento", array("pk_conteudo" => "fk_conteudo"));
     } else {
         $select->join("apostilas.acompanhamento", array("pk_conteudo" => "fk_conteudo"), Join::LEFT_JOIN);
     }
     $select->where(array("pk_conteudo" => $topico));
     $resultSet = $tableGatway->selectObj($select);
     if (!$resultSet->rowCount()) {
         throw new LivroException("O tópico informado não foi encontrado ou ainda não foi dado em aula");
     }
     return $resultSet->fetch();
 }
 /**
  * Método que lista todos os vídeos cadastrados como anexos dos conteúdos
  * para o aluno informado
  * @param Aluno $aluno O aluno relacionado ao matérial
  * @param int $limit Define o máximo de vídeos a serem retornados
  * @return ResultSetHydrator Um objeto contendo os anexos busacdos
  */
 public function videosAcompanahemto(Aluno $aluno, $limit = 3)
 {
     $tableGatway = new TableGatway(new Anexos(), "apostilas.anexos");
     $sqlAnexos = new SqlAnexos();
     return $tableGatway->selectObj($sqlAnexos->select()->join("apostilas.anexos_vin", array("fk_anexo" => "pk_anexo"))->join("apostilas.acompanhamento", array("fk_conteudo" => "apostilas.anexos_vin.fk_conteudo"))->join("public.usuario_aluno", array("fk_turma" => "apostilas.acompanhamento.fk_turma"))->where("pk_usuario_aluno={$aluno->getIdEspecifico()} " . "and extract(year from data_aula)=" . Loader::data("config", "site", "ano_letivo") . " " . "and apostilas.anexos.tipo=" . Anexos::TIPO_VIDEO)->order("data_aula", Order::DSC)->limit($limit));
 }
 /**
  * Método que insere um comentário para o anexo informado
  * @return boolean Retorna TRUE caso tenha sido inserido com sucesso ou FALSE emc aso de erro
  * @throws Exception
  */
 public function inserirComentario(AnexosComentario $comentario)
 {
     return $this->tableGatway->insert(array("comentario_texto" => $comentario->getComentario(), "comentario_dt_hora" => $comentario->getDataHora()->format("Y-m-d G:i:s"), "comentario_fk_usuario" => $comentario->getUsuario()->getId(), "comentario_fk_anexo" => $comentario->getAnexo()->getId()));
 }