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); }