/** * Método que atualiza um tópico * @param Topico $topico O tópico a ser atualizado contendo os novos dados * @return boolean Retorna TRUE em caso de sucesso * @throws SqlException */ public function update(Topico $topico) { if (!$topico->getId()) { throw new \Kernel\Exception\LivroException("O tópico informado é inválido"); } $resultset = $this->tableGatway->update(array("pk_conteudo" => $topico->getId()), array("conteudo_nome" => $topico->getNome(), "fk_capitulo" => $topico->getCapitulo()->getId(), "topico" => $topico->getSequencial(), "total" => $topico->getTotal(), "paginas_trabalhadas" => $topico->getPaginasTrabalhadas(), "pagina_inicial" => $topico->getPaginaInicial(), "pagina_final" => $topico->getPaginaFinal(), "conteudo_resumo" => $topico->getResumo(), "conteudo_digitalizado" => (int) $topico->getConteudoDigital())); }
/** * Método que lista todos os anexos relacionados ao tópico ou capitulo informado. * Método exclusivo para o estudo online * * @param Topico $topico O tópico usado como filtro * * @return ResultSetHydrator Um objeto contendo os dados da resposta da consulta * * @throws LivroException */ public function deTopicoECapitulo(Topico $topico) { if (!$topico->getId()) { throw new LivroException('O tópico informado não é válido'); } $this->tg->defineColuna('fk_conteudo', $this->colInt); return $this->tg->selectObj($this->select()->distinct('pk_anexo')->join('apostilas.anexos_vin', array('fk_anexo' => 'pk_anexo'))->where("fk_conteudo={$topico->getId()} " . "or fk_capitulo={$topico->getCapitulo()->getId()}")); }
/** * Método que retorna um teste de acordo com o aluno e tópico informados. * * @param Aluno $aluno O aluno que realizou o teste * @param Topico $topico O tópico relacionado ao teste * * @return TesteCapitulo O teste */ public function porAlunoTopico(Aluno $aluno, Topico $topico) { $capitulo = $topico->getCapitulo(); return $this->deAlunoTopCap($aluno, $capitulo); }