Exemplo n.º 1
0
 /**
  * Método que faz o tratamento da requisição POST da edição de tópico
  * @param int $pkCapitulo O indice do capítulo
  * @param int $pkConteudo O indice do conteúdo a ser editado
  * @return string A mensagem pós conclusão
  */
 private function editarTopicoPost($pkCapitulo, $pkConteudo)
 {
     //Inicializando os objetos básicos
     $sqlTopico = new aula\models\dao\SqlTopicoAula();
     $sqlAulas = new SqlAulas();
     try {
         //Validando os dados
         $topico = $sqlTopico->get((int) $pkConteudo);
         //Recebendo os novos dados
         $topico->setNome(filter_input(INPUT_POST, "conteudo_nome", FILTER_SANITIZE_MAGIC_QUOTES));
         $topico->setSequencial(filter_input(INPUT_POST, "topico", FILTER_VALIDATE_INT));
         $topico->setPaginaInicial(filter_input(INPUT_POST, "pagina_inicial", FILTER_VALIDATE_INT));
         $topico->setPaginaFinal(filter_input(INPUT_POST, "pagina_final", FILTER_VALIDATE_INT));
         $topico->setResumo(filter_input(INPUT_POST, "resumo", FILTER_SANITIZE_MAGIC_QUOTES));
         $topico->setVideoAula(filter_input(INPUT_POST, "video_aula", FILTER_VALIDATE_URL));
         //            $topico->setConteudoDigital();
         //
         $sqlTopico->update($topico);
         //
         $sqlAulas->reset_vincular_provas($topico->getId());
         foreach ($this->input->post('prova') as $prova) {
             $sqlAulas->vincular_provas($this->input->post('pk_conteudo'), $prova);
         }
         //Atualizado com sucesso
         $this->session->set_flashdata('msg', '<div class="alert ok">Tópico editado com sucesso!</div>');
         //Redirecionando
         if ($this->input->post('importa_arvore')) {
             redirect($_SESSION['redirect_inclui_arvore']);
         } else {
             if ($this->input->post('arvore')) {
                 redirect($_SESSION['redirect_paginacao']);
             } else {
                 redirect($_SESSION['redirect_assunto']);
             }
         }
     } catch (PDOException $pdo) {
         return "<p class=\"alert erro\">Ocorreu um erro interno. Tente novamente mais tarde:{$pdo->getMessage()}</p>";
     } catch (\GGE\Lib\Base\Exception $e) {
         return "<p class=\"alert erro\">{$e->getMessage()}</p>";
     }
 }