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); }