Ejemplo n.º 1
0
 /**
  * Método que edita datas e turmas do livro
  */
 public function editar_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;
     $data['pk_livro'] = isset($_GET['pk_livro']) ? (int) $_GET['pk_livro'] : 0;
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // View::validarFormAntInjection('form_cadastrar_grade');
             $ano = (int) substr($this->input->post('data_inicio'), 6, 4);
             $data1 = new DateTime(View::converteDataEUA($this->input->post('data_inicio')));
             $data2 = new DateTime(View::converteDataEUA($this->input->post('data_final')));
             $sqlAulas = new SqlAulas();
             $sqlAulas->editar_livro($this->input->post('pk_livro'), $this->input->post('data_av1'), $this->input->post('data_av2'), $this->input->post('data_exame'));
             $sqlAulas = new SqlAulas();
             $sqlAulas->delete_dias_livro($this->input->post('pk_livro'));
             $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($this->input->post('pk_livro'), $dia, $i, $percentual);
                 $data1->add(DateInterval::createFromDateString('1 days'));
             }
             $sqlAulas->delete_turmas_livro($this->input->post('pk_livro'));
             foreach ($this->input->post('pk_turma') as $pk_turma) {
                 $sqlAulas->cadastrar_turmas_livro($this->input->post('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>';
         }
     }
     $sqlAulas = new SqlAulas();
     $result = $sqlAulas->get_livro_chave($data['pk_livro']);
     $data['livro_desc'] = $result[0]['livro_desc'];
     $data['volume'] = $result[0]['volume'];
     $data['data_av1'] = View::converteDataBr($result[0]['data_av1']);
     $data['data_av2'] = View::converteDataBr($result[0]['data_av2']);
     $data['data_exame'] = View::converteDataBr($result[0]['data_exame']);
     $data['turmas_livro'] = $sqlAulas->get_turmas_livro($data['pk_livro']);
     $data['turmas'] = $sqlAulas->get_turmas($data['pk_serie'], $data['ano_letivo']);
     $result = $sqlAulas->get_primeiro_dia_livro($data['pk_livro']);
     $data['data_inicial'] = View::converteDataBr($result[0]['dia_aula']);
     $result = $sqlAulas->get_ultimo_dia_livro($data['pk_livro']);
     $data['data_final'] = View::converteDataBr($result[0]['dia_aula']);
     $this->load->view($this->load->getUrlTema(), $data);
 }