Example #1
0
 public function gabaritos($pk_usuario_aluno, $pk_sim_concurso = 0, $pk_sim_bloco = 0, $pk_sim_prova = 0)
 {
     $msg = null;
     $data = $this->getParametroVisao();
     if ($data['mobile']) {
         $data['usuario'] = unserialize($_SESSION['usuario']);
         $data['page'] = "responsive/" . __FUNCTION__;
         $data['tema'] = $this->load->setTheme('responsive');
         $data['abaPage'] = __FUNCTION__;
     } else {
         $data['abaPage'] = __FUNCTION__;
         $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     }
     $data['page'] = 'home';
     $data['msg'] = $msg;
     $data['abaAtiva'] = 18;
     $data['alias'] = 'gabaritos';
     if ($data['idTipoUsuario'] == 6) {
         $pk_usuario_aluno = $data['idUsuarioAluno'];
     } else {
         $pk_usuario_aluno = $this->uri->segment(4);
     }
     // pega os nomes do aluno e da turma
     $sqlUsuario = new SqlUsuario();
     $result = $sqlUsuario->get_aluno($pk_usuario_aluno);
     $data['nome'] = $result['registros'][0]['nome'];
     $data['turma_nome'] = $result['registros'][0]['turma_nome'];
     // se a pk do concurso veio definida é porque o concurso já foi processado.
     if ($pk_sim_concurso != 0) {
         // se a requisição vier da página "listar_ranking_provas"
         if ($this->uri->segment(7) != '') {
             // pega a sequencia de matérias
             $sqlProva = new SqlProva();
             $materias = $sqlProva->get_gabarito_materias($this->uri->segment(7));
             $data['total'] = $materias['total'];
         } else {
             if ($this->uri->segment(6) != '' && $this->uri->segment(7) == '') {
                 // pega a sequencia de matérias
                 $sqlProva = new SqlProva();
                 $materias = $sqlProva->get_blocos_gabarito_materias($this->uri->segment(6), $pk_usuario_aluno);
                 $data['total'] = $materias['total'];
             } else {
                 // pega a sequencia de matérias
                 $sqlProva = new SqlProva();
                 $materias = $sqlProva->get_concursos_gabarito_materias($this->uri->segment(5), $pk_usuario_aluno);
                 $data['total'] = $materias['total'];
             }
         }
         $html = '<hr />';
         foreach ($materias['registros'] as $row) {
             // echo $row['sim_materia_nome'].')<br />';
             // pega os gabaritos de cada prova
             $sqlProva = new SqlProva();
             $gabaritos = $sqlProva->get_gabarito($row['pk_sim_prova'], $row['fk_sim_materia'], $pk_usuario_aluno);
             $html .= '<div class="materia left ml20 mr20"><div class="tooltip left" data-tooltip="Peso de disciplina: ' . number_format($row['peso_materia'], 2) . '"><h3 class="left">' . $row['sim_materia_nome'] . '</h3></div><br class="clear" />';
             foreach ($gabaritos['registros'] as $gabarito) {
                 if ($gabarito['anulada'] == 1) {
                     $html .= '<div class="titulo_questao">' . $gabarito['numero_questao'] . '</div> <div class="questao_anulada">Anulada</div><br class="clear" />';
                 } else {
                     if ($gabarito['tipo_questao'] == 1) {
                         // pega as respostas
                         $sqlProva = new SqlProva();
                         $repostas = $sqlProva->get_resposta($gabarito['pk_sim_gabarito'], $pk_usuario_aluno);
                         $html .= '<div class="titulo_questao tooltip" data-tooltip="Valor da questão: ' . number_format($gabarito['peso_questao'], 3) . ' / Pontuação final:   ' . number_format($gabarito['pontuacao'], 3) . '">' . $gabarito['numero_questao'] . '</div>';
                         $html .= '<div class="questao"><table class="table">';
                         $explode = explode(',', $gabarito['gabarito']);
                         foreach ($explode as $gab) {
                             $html .= '<tr>';
                             $html .= $gab == 'A' ? '<th class="proposicao">A</th>' : '<td class="proposicao bold">A</td>';
                             $html .= $gab == 'B' ? '<th class="proposicao">B</th>' : '<td class="proposicao bold">B</td>';
                             $html .= $gab == 'C' ? '<th class="proposicao">C</th>' : '<td class="proposicao bold">C</td>';
                             $html .= $gab == 'D' ? '<th class="proposicao">D</th>' : '<td class="proposicao bold">D</td>';
                             $html .= $gab == 'E' ? '<th class="proposicao">E</th>' : '<td class="proposicao bold">E</td>';
                             $html .= '</tr>';
                         }
                         $html .= View::statusQuestaoABCDE($gabarito['gabarito'], $repostas[0]['resposta'], $repostas[0]['status'], $repostas[0]['pontuacao']);
                         $html .= '</table></div><br class="clear" />';
                     } else {
                         if ($gabarito['tipo_questao'] == 2) {
                             $proposicao1 = substr($gabarito['gabarito'], 0, 1);
                             $proposicao2 = substr($gabarito['gabarito'], 1, 1);
                             $proposicao3 = substr($gabarito['gabarito'], 2, 1);
                             $proposicao4 = substr($gabarito['gabarito'], 3, 1);
                             $proposicao5 = substr($gabarito['gabarito'], 4, 1);
                             // pega as respostas
                             $sqlProva = new SqlProva();
                             $repostas = $sqlProva->get_gabarito_item($gabarito['pk_sim_resposta']);
                             //var_dump($repostas);
                             $html .= '<div class="titulo_questao tooltip" data-tooltip="Valor da questão: ' . $gabarito['peso_questao'] . ' / Pontuação final:   ' . $gabarito['pontuacao'] . '">' . $gabarito['numero_questao'] . '</div>';
                             $html .= '<div class="questao"><table class="table">';
                             $html .= '<tr><th class="proposicao bold">' . $proposicao1 . '</th><th class="proposicao bold">' . $proposicao2 . '</th><th class="proposicao bold">' . $proposicao3 . '</th><th class="proposicao bold">' . $proposicao4 . '</th><th class="proposicao bold">' . $proposicao5 . '</th></tr>';
                             $html .= '<tr><td class="proposicao">' . $repostas[0]['resposta_item'] . '</td><td class="proposicao">' . $repostas[1]['resposta_item'] . '</td><td class="proposicao">' . $repostas[2]['resposta_item'] . '</td><td class="proposicao">' . $repostas[3]['resposta_item'] . '</td><td class="proposicao">' . $repostas[4]['resposta_item'] . '</td></tr><tr>';
                             $html .= '<td class="proposicao">' . View::statusQuestao($repostas[0]['status_item'], $repostas[0]['resposta_item'], $repostas[0]['pontuacao_item']) . '</td>';
                             $html .= '<td class="proposicao">' . View::statusQuestao($repostas[1]['status_item'], $repostas[1]['resposta_item'], $repostas[1]['pontuacao_item']) . '</td>';
                             $html .= '<td class="proposicao">' . View::statusQuestao($repostas[2]['status_item'], $repostas[2]['resposta_item'], $repostas[2]['pontuacao_item']) . '</td>';
                             $html .= '<td class="proposicao">' . View::statusQuestao($repostas[3]['status_item'], $repostas[3]['resposta_item'], $repostas[3]['pontuacao_item']) . '</td>';
                             $html .= '<td class="proposicao">' . View::statusQuestao($repostas[4]['status_item'], $repostas[4]['resposta_item'], $repostas[4]['pontuacao_item']) . '</td>';
                             $html .= '</tr></table></div>';
                             $html .= '<br class="clear" />';
                         } else {
                             if ($gabarito['tipo_questao'] == 3) {
                                 $html .= '<div class="titulo_questao tooltip" data-tooltip="Valor da questão: ' . $gabarito['peso_questao'] . ' / Pontuação final:   ' . $gabarito['pontuacao'] . '">' . $gabarito['numero_questao'] . '</div>';
                                 $html .= '<div class="questao"><table>';
                                 $html .= '<tr><th class="proposicao">' . $gabarito['gabarito'] . '</th>';
                                 $html .= '<td class="proposicao">' . $gabarito['resposta'] . '</td>';
                                 $html .= '<td class="proposicao">' . View::statusQuestao($gabarito['status'], $gabarito['resposta'], $gabarito['pontuacao']) . '</td></tr>';
                                 $html .= '</table></div><br class="clear" />';
                             }
                         }
                     }
                 }
             }
             $html .= '</div>';
         }
         $html .= '<div class="small"><strong>Dica:</strong> Ao passar o mouse sobre o nome da disciplina o sistema exibe o seu respectivo peso para o cálculo da média geral (todas as disciplinas). Da mesma forma, ao passar o mouse sobre o número de cada questão, o sistema exibe seu peso e a pontuação final atingida pelo aluno. Em questões do tipo ABCDE a pontuação final é sempre o peso total da questão ou zero. Porém nos casos de questões VF, a pontuação final pode ser uma fração do peso de cada questão.</div>';
         $data['html'] = $html;
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }