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