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