public function cadastrar_materia_concurso_tipo() { $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_concurso_tipo'; $data['alias'] = 'cadastrar_materia_concurso_tipo'; if ($_SERVER['REQUEST_METHOD'] == "POST") { try { // View::validarFormAntInjection($data['alias']); if ($this->input->post('pk_sim_materia') == '') { // verifica se a matéria já consta no sistema $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->busca_materia($this->input->post('materia_nome')); if ($result['total'] == 0) { // cadastra a nova matéria e pega sua pk $sqlAdministracao = new SqlAdministracao(); $pk_sim_materia = $sqlAdministracao->cadastrar_materia_vin($this->input->post('materia_nome')); // var_dump($pk_sim_materia); // // associar a pk recem incluída ao tipo de quetão $sqlAdministracao = new SqlAdministracao(); $teste = $sqlAdministracao->cadastrar_materia_tipo($pk_sim_materia, $this->input->post('fk_sim_concurso_tipo')); $this->session->set_flashdata('msg', '<div class="alert ok">Matéria cadastrada com sucesso!</div>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/cadastrar_materia/' . $this->input->post('fk_sim_prova')); } else { // exibe as matérias semelhantes encontradas $materias = array(); foreach ($result['registros'] as $row) { $materias[] = array('sim_materia_nome' => $row['sim_materia_nome'], 'pk_sim_materia' => $row['pk_sim_materia']); } // cria uma sessao com o registros encontados $this->session->set_flashdata('materias_tipo', $materias); $this->session->set_flashdata('msg', '<div class="alert atencao">Já contam no sistema matérias com nome igual ou semelhante a que você está tendando cadastrar. Selecione entre as opções abaixo a que mais se aproxima.</div>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/cadastrar_materia_concurso_tipo/' . $this->input->post('fk_sim_prova')); } } else { // $sqlAdministracao = new SqlAdministracao(); $result = $sqlAdministracao->insert_materia_tipo($this->input->post('pk_sim_materia'), $this->input->post('fk_sim_concurso_tipo')); $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')); } // $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) { $data['msg'] = '<p class="alert erro">' . $e->getMessage() . '</p>'; //var_dump($msg); } } // 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']; $data['pk_sim_concurso_tipo'] = $pk_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); }