Esempio n. 1
0
 public function cadastrar_materia($pk_exa_prova)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['abaPage'] = __FUNCTION__;
     $data['alias'] = __FUNCTION__;
     $data['abaAtiva'] = $this->AbaAtiva;
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // View::validarFormAntInjection($data['alias']);
             // cadastra o a matéria na prova
             $sqlConcurso = new SqlConcurso();
             $result = $sqlConcurso->cadastrar_peso_prova($this->input->post('pk_exa_materia'), $this->input->post('fk_exa_prova'));
             //pega a última questão
             $result = $sqlConcurso->get_ultima_questao($this->input->post('fk_exa_prova'));
             // define a próxima questao
             $proxima_questao = !empty($result) ? $result[0]['numero_questao'] + 1 : 1;
             $questao_final = $proxima_questao + $this->input->post('n_questoes');
             for ($i = $proxima_questao; $i < $questao_final; $i++) {
                 $result = $sqlConcurso->insert_questao($i, $this->input->post('tipo'), $this->input->post('pk_exa_materia'), $this->input->post('fk_exa_prova'));
             }
             $_SESSION['n_questoes'] = $this->input->post('n_questoes');
             $this->session->set_flashdata('msg', '<div class="alert ok">Matéria incluída com sucesso.</div>');
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/cadastrar_materia/' . $this->input->post('fk_exa_prova'));
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $sqlConcurso = new SqlConcurso();
     $data['titulo'] = $sqlConcurso->get_titulo_lista_materias($pk_exa_prova);
     $pk_exa_concurso_tipo = $data['titulo'][0]['fk_exa_concurso_tipo'];
     // pega matérias já incluídas para retirá-las das opções de inclusão
     $sqlConcurso = new SqlConcurso();
     $result = $sqlConcurso->get_materias_prova($pk_exa_prova);
     $materias_not_in = array();
     foreach ($result as $row) {
         $materias_not_in[] = $row['fk_exa_materia'];
     }
     // pega as matérias relacionadas ao concurso
     $sqlConcurso = new SqlConcurso();
     $data['menuMaterias'] = $sqlConcurso->listar_materias_vin($pk_exa_concurso_tipo, $materias_not_in);
     $this->load->view($this->load->getUrlTema(), $data);
 }