Beispiel #1
0
 /**
  * Método que permite editar a mensagem informada
  * @param int $mensagemId O código da mensagem a ser editada
  */
 public function editar($mensagemId = 0)
 {
     //validando o ususário
     //Inicializando os objetos básicos
     $usrvalidar = new Kernel_Models_ValidarUsuarios();
     $agenda = new alunos_models_AgendaSemanal();
     $serie = new Kernel_Models_Serie();
     $turma = new Kernel_Models_Turma();
     //Trecho responsável pela edição da menasgem
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         header('Content-Type: application/json; charset=UTF-8');
         try {
             $coordenador = $usrvalidar->getCoordenador();
             //Verificando se a mensagem a ser editada é válida
             $mensagem = $agenda->getMensagem((int) $mensagemId);
             $mensagem->destinatariosReset();
             //Recebendo os dados
             $assunto = filter_input(INPUT_POST, "titulo", FILTER_SANITIZE_MAGIC_QUOTES);
             $turmas = isset($_POST["turmas"]) ? $_POST["turmas"] : "[]";
             $conteudo = filter_input(INPUT_POST, "mensagem", FILTER_SANITIZE_MAGIC_QUOTES);
             //Passando os dados para o objeto
             $mensagem->setTitulo($assunto);
             $mensagem->setConteudo($conteudo);
             //Setando as turmas
             foreach (json_decode($turmas) as $turmaId) {
                 $mensagem->setDestinatarios($turma->get((int) $turmaId));
             }
             //Travando o unico tipo aceito
             $mensagem->setTipoDestinatarios("Kernel_Models_Turma");
             $mensagem->editar();
             die(json_encode(array("status" => true, "mensagem" => "Mensagem editada com sucesso")));
         } catch (Exception $exc) {
             die(json_encode(array("status" => false, "mensagem" => $exc->getMessage(), "status_cod" => $exc->getCode())));
         }
     }
     //Testando a mensagem informada
     try {
         $coordenador = $usrvalidar->coordenador();
         $mensagem = $agenda->getMensagem((int) $mensagemId);
         $destinatarios = $mensagem->getDestinatarios();
     } catch (Exception $exc) {
         echo Javascript::alert($exc->getMessage());
         die(Javascript::window_location($this->rotas->rotaById(932)));
     }
     //Passando os dados para a view
     $this->loadPlugin("tiny_mce")->setData("coordenador", $coordenador)->setData("series", $serie->listarTodas(null, $coordenador))->setData("turmas", $turma->listarTodas(null, $coordenador))->setData("mensagem", $mensagem)->setData("destinatarios", array_keys($destinatarios))->printView();
 }