public function cadastrar_materia() { $msg = null; $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $msg; $data['abaAtiva'] = 18; $data['abaPage'] = 'cadastrar_materia'; $data['alias'] = 'cadastrar_materia'; if ($_SERVER['REQUEST_METHOD'] == "POST") { try { // View::validarFormAntInjection($data['alias']); // cadastra o a matéria na prova $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->cadastrar_peso_prova($this->input->post('pk_sim_materia'), $this->input->post('fk_sim_prova')); //pega a última questão $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->get_ultima_questao($this->input->post('fk_sim_prova')); // define a próxima questao $proxima_questao = $result[0]['numero_questao'] + 1; $questao_final = $proxima_questao + $this->input->post('n_questoes'); for ($i = $proxima_questao; $i < $questao_final; $i++) { echo $i . '<br />'; $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->insert_questao($i, $this->input->post('tipo'), $this->input->post('pk_sim_materia'), $this->input->post('fk_sim_prova')); } $_SESSION['tipo_questao'] = $this->input->post('tipo'); $_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_sim_prova')); return false; } catch (Exception $e) { $msg = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } // pega a chave do tipo de concurso $sqlProva = new SqlProva(); $result = $sqlProva->get_titulo_lista_materias($this->uri->segment(4)); $pk_sim_concurso_tipo = $result[0]['fk_sim_concurso_tipo']; // pega matérias já incluídas para retirá-las das opções de inclusão $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->get_materias_prova($this->uri->segment(4)); $materias_not_in = array(); foreach ($result as $row) { $materias_not_in[] = $row['fk_sim_materia']; } // pega as matérias relacionadas ao concurso $sqlAdministracao = new SqlAdministracao(); $data['menuMaterias'] = $sqlAdministracao->listar_materias_vin($pk_sim_concurso_tipo, $materias_not_in); $this->load->view($this->load->getUrlTema(), $data); }