Esempio n. 1
0
 public function cadastrar_livro()
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $msg;
     $data['abaAtiva'] = 7;
     $data['abaPage'] = 'cadastrar_livro';
     $data['alias'] = 'cadastrar_livro';
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // View::validarFormAntInjection('form_cadastrar_grade');
             $ano = (int) substr($this->input->post('data_inicio'), 6, 4);
             $sqlAula = new SqlAula();
             $result = $sqlAula->get_serie($this->input->post('pk_serie'));
             $serie_nome = $result[0]['serie_nome'];
             $sqlAula = new SqlAula();
             $result = $sqlAula->get_livro_nome($this->input->post('pk_livro_cat'));
             $livro_desc = $result[0]['livro_cat_nome'] . ' - ' . $serie_nome . ' - Volume ' . $this->input->post('volume');
             $sqlAula = new SqlAula();
             $pk_livro = $sqlAula->cadastrar_livro($livro_desc, $this->input->post('pk_serie'), $ano, $this->input->post('pk_livro_cat'), $this->input->post('volume'), 1);
             $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');
                 $sqlAula = new SqlAula();
                 $sqlAula->cadastrar_dias_livro($pk_livro, $dia, $i, $percentual);
                 $data1->add(DateInterval::createFromDateString('1 days'));
             }
             $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>';
         }
     }
     $sqlAula = new SqlAula();
     $result = $sqlAula->get_ultimo_volume($_GET['pk_serie'], $_GET['pk_livro_cat']);
     $data['proximo_sequencial_volume'] = !empty($result) ? $result[0]['volume'] + 1 : 1;
     $this->load->view($this->load->getUrlTema(), $data);
 }