/** * Método que avalia um determinado anexo. * * @param int $anexoId */ private function avaliar($anexoId) { $sqlAnexo = new SqlAnexosAula(); $sqlAvaliacao = new SqlAnexosAvaliacoes(); $avaliacao = new AnexosAvaliacao(); try { $aluno = $this->getUsuario(false, new Aluno()); $anexo = $sqlAnexo->get((int) $anexoId); //Definindo os dados da avaliação $avaliacao->setAnexo($anexo); $avaliacao->setUsuario($aluno); //Definindo a nota if (filter_input(INPUT_POST, 'avaliacao', FILTER_VALIDATE_BOOLEAN) === true) { $avaliacao->setNota(AnexosAvaliacao::NOTA_MAX); } else { $avaliacao->setNota(AnexosAvaliacao::NOTA_MIN); } $sqlAvaliacao->avaliar($avaliacao); die(json_encode(array('status' => true, 'mensagem' => 'Avaliação feita com sucesso'))); } catch (SqlException $sql) { die(json_encode(array('status' => false, 'mensagem' => 'Ocorreu um erro interno do sistema. ' . 'Entre em contato com o administrador'))); } catch (Exception $exc) { die(json_encode(array('status' => false, 'mensagem' => $exc->getMessage()))); } }
/** * Método que gera a página de exibição do tópico acessado na home do estudo online. * Só é exibido o tópico já dado em sala de aula. * * @param int $topicoId O código do tópico */ public function estudoOnlineTopico($topicoId) { $this->load->helper('link'); $usrAux = new Usuarios(); $sqlTurma = new SqlTurma(); $sqlTopico = new SqlTopicoAula(); $sqlAnexo = new SqlAnexosAula(); $sqlQuestao = new SqlQuestaoAula(); $sqlAcomp = new SqlAcompanhamento(); $sqlLivreto = new SqlLivretoAula(); $teste = false; try { $aluno = $usrAux->getAluno(false); $turma = $sqlTurma->deALuno($aluno)->fetch(); $topico = $sqlTopico->get((int) $topicoId); $anexos = $sqlAnexo->deTopicoECapitulo($topico); $acomp = $sqlAcomp->deTopico($topico); $livreto = $sqlLivreto->deTopico($topico); if ($acomp->getStatus() == Acompanhamento::STATUS_CONCLUIDO || $acomp->getStatus() == Acompanhamento::STATUS_REVISADO) { //Criando um teste para o tópico $sqlTeste = new SqlTesteTopico(); $teste = $sqlTeste->porAlunoTopico($aluno, $topico); if (!$teste) { //Verificando se existem questões cadastrdas para realizar o teste if ($sqlQuestao->temParaTopico($topico)) { //Tem //Gera o teste $teste = new TesteTopico(); } } } //Passando os dados para o view $this->loadPlugin('shadowbox'); $this->setData('aluno', $aluno); $this->setData('turma', $turma); $this->setData('livro', $livreto); $this->setData('topico', $topico); $this->setData('anexos', $anexos); $this->setData('teste', $teste); $this->printView(); } catch (SqlException $sql) { echo $sql->getMessage(); echo Javascript::alert('Ocorreu um erro interno. ' . 'Tente novamente mais tarde.'); // $this->close(true); } catch (Exception $exc) { echo $exc->getMessage(); // $this->close(true); } }