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; }
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'); }
/** * @param WeLearn_Cursos_Avaliacoes_Avaliacao $Avaliacao * @return Array */ public function recuperarQuestoes(WeLearn_Cursos_Avaliacoes_Avaliacao $Avaliacao) { return $this->_questaoDao->recuperarTodosPorAvaliacao($Avaliacao); }