Esempio n. 1
0
 public function exibir_resultados($idAvaliacao)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $avaliacao = $this->_avaliacaoDao->recuperar($idAvaliacao);
         $participacaoCurso = $this->_participacaoCursoDao->recuperarPorCurso($this->_alunoAtual, $avaliacao->getModulo()->getCurso());
         $controleAvaliacao = $this->_controleAvaliacaoDao->recuperarPorParticipacao($participacaoCurso, $avaliacao);
         $questoesAvaliacao = array();
         foreach ($controleAvaliacao->getRespostas() as $resposta) {
             $questao = $this->_questaoAvaliacaoDao->recuperar($resposta->getQuestaoId());
             if ($resposta->isCorreta()) {
                 $arrayQuestao = array('questao' => $questao, 'respostas' => array($resposta));
             } else {
                 $arrayQuestao = array('questao' => $questao, 'respostas' => array($questao->getAlternativaCorreta(), $resposta));
             }
             $questoesAvaliacao[] = $arrayQuestao;
         }
         $response = Zend_Json::encode(array('htmlResultado' => $this->template->loadPartial('avaliacao_resultados', array('controleAvaliacao' => $controleAvaliacao, 'questoesRealizadas' => $questoesAvaliacao, 'questoesEmBranco' => $controleAvaliacao->getAvaliacao()->getQtdQuestoesExibir() - count($questoesAvaliacao)), 'curso/conteudo/aplicacao_avaliacao')));
         $json = create_json_feedback(true, '', $response);
     } catch (Exception $e) {
         log_message('error', 'Ocorreu um erro ao tentar exibir resultados de avaliação: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado,
                     já estamos tentando resolver. Tente novamente mais tarde!');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
Esempio n. 2
0
 private function _aplicarAvaliacao(WeLearn_Cursos_ParticipacaoCurso $participacaocurso)
 {
     $avaliacao = $participacaocurso->getAvaliacaoAtual();
     $avaliacao->setQtdQuestoes($this->_questaoAvaliacaoDao->recuperarQtdTotalPorAvaliacao($avaliacao));
     if ($avaliacao->getQtdQuestoesExibir() > 0 && $avaliacao->getQtdQuestoes() > 0) {
         $controleAvaliacao = $this->_controleAvaliacaoDao->recuperarPorParticipacao($participacaocurso, $avaliacao);
         $dadosAplicacaoAvaliacaoView = array('controleAvaliacao' => $controleAvaliacao);
         return $this->template->loadPartial('avaliacao', $dadosAplicacaoAvaliacaoView, 'curso/conteudo/exibicao');
     }
     return $this->template->loadPartial('conteudo_indisponivel', array(), 'curso/conteudo/exibicao');
 }
Esempio n. 3
0
 /**
  * @param WeLearn_Cursos_Avaliacoes_Avaliacao $Avaliacao
  * @return Array
  */
 public function recuperarQuestoes(WeLearn_Cursos_Avaliacoes_Avaliacao $Avaliacao)
 {
     return $this->_questaoDao->recuperarTodosPorAvaliacao($Avaliacao);
 }