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