Ejemplo n.º 1
0
 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);
 }