Exemple #1
0
 /**
  * Método que gera a página de abertura de chamados
  */
 public function abrir_chamado()
 {
     //Inicializando os objetos básicos
     $chamadoObj = new eqpedagogica_models_Ouvidoria();
     $coordenador = new Kernel_Models_Coordenador();
     //Validando o responsável
     $usrValidar = new Kernel_Models_ValidarUsuarios();
     $responsavel = $usrValidar->responsavel();
     //Buscando os coordenadores relacionados ao responsável informado
     $coordenadores = $coordenador->listarTodos(NULL, $responsavel)->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS);
     //Listando as categorias permitidas
     $categorias = $chamadoObj->categorias();
     //Inserindo o novo chamado ou editando um chamado existente. A execução do método é interrompida aqui
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         header('Content-Type: application/json; charset=UTF-8');
         //Recebendo os dados
         $coordenadorId = filter_input(INPUT_POST, "coordenador", FILTER_VALIDATE_INT);
         $titulo = filter_input(INPUT_POST, "titulo", FILTER_SANITIZE_MAGIC_QUOTES);
         $mensagem = filter_input(INPUT_POST, "mensagem", FILTER_SANITIZE_MAGIC_QUOTES);
         $categoria = filter_input(INPUT_POST, "categoria", FILTER_VALIDATE_INT);
         //Validando os dados
         if (!$coordenadorId) {
             //O código do coordenador é inválido
             die(json_encode(array("status" => false, "mensagem" => "O coordenador informado é inválido")));
         }
         if ($categorias) {
             if (!array_key_exists($categoria, $categorias->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))) {
                 $categoria = 0;
             }
         }
         $coordenador = $coordenador->get($coordenadorId);
         if (!$coordenador) {
             //O coordenador é inválido
             die(json_encode(array("status" => false, "mensagem" => "O coordenador informado é inválido")));
         }
         if (!in_array($coordenador->pk_usuario, array_keys($coordenadores))) {
             //Verificando se o coordenador esta relacionado ao responsável
             die(json_encode(array("status" => false, "mensagem" => "Ops! Parce que o coordenador informado não esta relacionado a " . "nenhum de seus dependentes. Informe um da lista por favor")));
         }
         if (!$titulo) {
             //O título informado é inválido
             die(json_encode(array("status" => false, "mensagem" => "O título informado é inválido")));
         }
         if (!$mensagem) {
             //A mensagem informada é inválida
             die(json_encode(array("status" => false, "mensagem" => "A mensagem informada é inválida")));
         }
         if (!strlen($mensagem)) {
             //A mensagem informada é inválida
             die(json_encode(array("status" => false, "mensagem" => "A mensagem informada é inválida")));
         }
         //Passando os dados para o objeto
         $chamadoObj->setTitulo($titulo)->setDestinatario($coordenador)->setCategoria($categoria);
         //Salvando os dados
         if ($chamadoObj->abrirChamado($mensagem)) {
             if (filter_var($coordenador->email, FILTER_VALIDATE_EMAIL)) {
                 //Verifica se o e-mail do coordenador é válido, caso seja, envia um e-mail avisando da novidade
                 $contasEmail = new Kernel_Models_NewsletterContas();
                 $assunto = "Novo chamado aberto na ouvidoria";
                 $mensagem = "Foi aberto ou editado um novo chamado na ouvidoria. " . "Acesse a sua área restrita e veja mais detalhes";
                 $contasEmail->enviar($coordenador->nome, $coordenador->email, $assunto, $mensagem);
             }
             die(json_encode(array("status" => true, "mensagem" => "Chamado salvo com sucesso", "destino" => "")));
         } else {
             die(json_encode(array("status" => false, "mensagem" => "Ocorreu um erro ao tentar salvar o chamado. Tente novamente mais tarde")));
         }
     }
     //Exibindo a página
     //Passando os dados para o view
     $this->loadPlugin("filtros")->setUsuarioFiltros($responsavel)->setData("coordenadores", $coordenadores)->setData("categorias", $categorias)->printView();
 }
Exemple #2
0
 /**
  * Método de envio de mensagens(envio geral)
  */
 public function contatenos()
 {
     $data = $this->getParametroVisao();
     $msg = '';
     //
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         ini_set('default_charset', 'utf8');
         //Executando o cadastro da mensagem
         $titulo = filter_input(INPUT_POST, 'assunto', FILTER_SANITIZE_MAGIC_QUOTES);
         $mensagem = filter_input(INPUT_POST, 'mensagem', FILTER_SANITIZE_MAGIC_QUOTES);
         $destinatario = filter_input(INPUT_POST, 'destinatario', FILTER_SANITIZE_MAGIC_QUOTES);
         if (!$destinatario) {
             echo Javascript::alert("O destinatário informado é invalido. Selecione um na lista");
             echo Javascript::history_back();
             exit;
         }
         if (!$titulo) {
             echo Javascript::alert("O assunto informado é inválido");
             echo Javascript::history_back();
             exit;
         }
         if (!$mensagem) {
             echo Javascript::alert("A mensagem informada é inválida");
             echo Javascript::history_back();
             exit;
         }
         $novaMensagem = "<p>Mensagem para {$destinatario}</p>";
         $novaMensagem .= "<div>Assunto:{$titulo}</div>";
         $novaMensagem .= "<div>Mensagem</div><div>{$mensagem}</div>";
         if (!Mail::envioSimples($novaMensagem, "Mensagem enviada pela áres restrita", "*****@*****.**", "Colégio GGE")) {
             echo Javascript::alert("Ocorreu um erro ao tentar enviar a mensagem. Tente novamente mais tarde");
             echo Javascript::history_back();
             exit;
         }
         echo Javascript::alert("Mensagem enviada com sucesso");
         echo Javascript::window_location(base_url() . 'transf/mensagem/contatenos/');
         exit;
     }
     //Exibindo a página
     if ($data['mobile']) {
         $data['usuario'] = unserialize($_SESSION['usuario']);
         $data['page'] = 'default';
         $data['tema'] = $this->load->setTheme('responsive');
     } else {
         $data['page'] = 'home';
         $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     }
     $data['msg'] = $msg;
     $data['abaAtiva'] = 10;
     $data['alias'] = $data['abaPage'] = __FUNCTION__;
     $data["js"] = array("/js/plugins/filtros/filtros.min.js");
     //
     $data["arrayFiltros"] = array("unidade", "serie", "turma");
     $filtrosSistema = new FiltrosSistema();
     $data["filtros"] = $filtrosSistema;
     //        $tipo_usuario = $this->load->model('public_tipo_usuario');
     $tipo_usuario = new ModelBase("public.tipo_usuario");
     $data['pk_tipo_usuario'] = filter_input(INPUT_GET, 'tipousuario', FILTER_VALIDATE_INT);
     $data['tipo_usuario'] = $tipo_usuario->select("pk_tipo_usuario=3 or pk_tipo_usuario=15 and pk_tipo_usuario!=11");
     //
     switch ($data['pk_tipo_usuario']) {
         case Kernel_Models_TiposUsuario::TIPO_COORDENADOR:
             $usuarios = new Kernel_Models_Coordenador();
             $data['destinatarios'] = $usuarios->listarTodos($filtrosSistema);
             $data["arrayFiltros"] = array("unidade");
             break;
         case Kernel_Models_TiposUsuario::TIPO_PROFESSOR:
             $usuarios = new Kernel_Models_Professor();
             $data['destinatarios'] = $usuarios->listarTodos($filtrosSistema);
             $data["arrayFiltros"] = array("unidade", "serie", "turma");
             break;
         default:
             $data['destinatarios'] = FALSE;
             break;
     }
     $filtrosSistema->init($data["arrayFiltros"]);
     $this->load->view($this->load->getUrlTema(), $data);
 }