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