Ejemplo n.º 1
0
 /**
  * Método que cadastra livros (volumes)
  */
 public function cadastrar_livro()
 {
     $data = $this->getParametroVisao();
     $data['abaAtiva'] = 7;
     $data['abaPage'] = $data['alias'] = $data['page'] = __FUNCTION__;
     $data['page'] = 'home';
     $data['msg'] = $this->getMsg();
     $data['pk_livro_cat'] = isset($_GET['pk_livro_cat']) ? (int) $_GET['pk_livro_cat'] : 0;
     $data['pk_serie'] = isset($_GET['pk_serie']) ? (int) $_GET['pk_serie'] : 0;
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // View::validarFormAntInjection('form_cadastrar_grade');
             $ano = (int) substr($this->input->post('data_inicio'), 6, 4);
             $sqlAulas = new SqlAulas();
             $result = $sqlAulas->get_serie($this->input->post('pk_serie'));
             $serie_nome = $result[0]['serie_nome'];
             $result = $sqlAulas->get_livro_nome($this->input->post('pk_livro_cat'));
             $livro_desc = $result[0]['livro_cat_nome'] . ' - ' . $serie_nome . ' - Volume ' . $this->input->post('volume');
             $pk_livro = $sqlAulas->cadastrar_livro($livro_desc, $this->input->post('pk_serie'), $ano, $this->input->post('pk_livro_cat'), $this->input->post('volume'), 0, $this->input->post('unidade_letiva'));
             $data1 = new DateTime(View::converteDataEUA($this->input->post('data_inicio')));
             $data2 = new DateTime(View::converteDataEUA($this->input->post('data_final')));
             $intervalo = $data1->diff($data2);
             $totalDias = $intervalo->days + 1;
             $i = 0;
             while ($data1 <= $data2) {
                 $i++;
                 $percentual = $i / $totalDias * 100;
                 $dia = $data1->format('Y-m-d');
                 $sqlAulas->cadastrar_dias_livro($pk_livro, $dia, $i, $percentual);
                 $data1->add(DateInterval::createFromDateString('1 days'));
             }
             foreach ($this->input->post('pk_turma') as $pk_turma) {
                 $sqlAulas->cadastrar_turmas_livro($pk_livro, $pk_turma);
             }
             $this->session->set_flashdata('msg', '<div class="alert ok">Livro cadastrado com sucesso! Escolha os filtros seguintes para prosseguir.</div>');
             redirect($_SESSION['redirect_livro']);
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     if (!isset($_GET['pk_livro_cat'])) {
         $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/';
         $sqlAulas = new SqlAulas();
         $data['livro'] = $sqlAulas->get_livros_cat();
         $livro = explode("&pk_livro_cat=", $_SERVER['QUERY_STRING']);
         $data['livro_url'] = $config['base_url'] . '?' . $livro[0];
     }
     $sqlAulas = new SqlAulas();
     $result = $sqlAulas->get_ultimo_volume($data['pk_serie'], $data['pk_livro_cat'], $this->config->item('ano_apostila'));
     $data['proximo_sequencial_volume'] = !empty($result) ? $result[0]['volume'] + 1 : 1;
     $data['turmas'] = $sqlAulas->get_turmas($data['pk_serie'], $data['ano_letivo']);
     $this->load->view($this->load->getUrlTema(), $data);
 }