Пример #1
0
 /**
  * Método que envia os e-mails para os professores semanalmente
  */
 public function enviar_newsletter()
 {
     set_time_limit(600);
     if (!$this->configs->status) {
         //impedindo o envio antes da ativação
         die('O envio esta desativado');
     }
     if ($this->configs->diaEnvio != (int) date('N')) {
         //Impedindo o envio fora do dia correto
         die('Hoje não é dia de envio');
     }
     $professorObj = new Kernel_Models_Contratos();
     $constaEnvio = new Kernel_Models_NewsletterContas();
     $usuarioSistema = new Kernel_Models_Usuario();
     $todos = $professorObj->aceitaReceber(1, $this->configs->destinatariosEspecificos);
     $mail = new Mail();
     while ($professor = $todos->fetchObject()) {
         $emailDestino = $professor->email;
         if ($this->configs->efetuarTeste) {
             $emailDestino = $this->configs->emailTeste;
         }
         if (filter_var($emailDestino, FILTER_VALIDATE_EMAIL)) {
             $token = $usuarioSistema->gerarToken($professor->pk_usuario, Kernel_Models_TiposUsuario::TIPO_PROFESSOR);
             if ($token) {
                 echo "Enviando para {$professor->nome}({$emailDestino}){$professor->pk_usuario_professor}<br>)";
                 $mail->mensagemDeModelo(array('titulo' => 'Olá ' . $professor->nome, 'subtitulo' => 'Este é o seu resumo semanal', 'conteudo' => 'Clique <a href="' . base_url() . 'usuario/auth/verificar_acesso/' . $token . '?pagina=' . base_url() . 'agendas/professor/meu_resumo_semanal/' . '">aqui</a> para ver o resumo das suas atividades '));
                 if ($constaEnvio->enviar($professor->nome, $emailDestino, 'Agenda semanal do professor', $mail->getMensagem())) {
                     echo 'Email enviado com sucesso<br>';
                 } else {
                     echo 'Falha ao enviar o e-mail para ' . $professor->nome . '<br>' . $constaEnvio->getErros() . '<br>';
                 }
             }
         }
     }
 }
Пример #2
0
 /**
  * Método que lê a resposta do usuário informado de acorod com o seu tipo
  * @param Kernel_Models_Usuario $usuario
  * @param int $contrato O código do tipo do contrato
  * @return int Retorna 0 para "não aceita", 1 para "aceita" e 2 para "não respondeu"
  */
 public function getResposta(Kernel_Models_Usuario $usuario, $contrato)
 {
     if (!is_int($contrato)) {
         throw new Exception("Invalid value: o contrato informado é inválido");
     }
     $where = "usuario=" . $usuario->getId() . " and tipousuario=" . $usuario->getTipo() . " and contrato={$contrato}";
     $obj = $this->getObject($where);
     if (!$obj) {
         $ret = 2;
     } else {
         $ret = $obj->resposta;
     }
     return $ret;
 }
Пример #3
0
 /**
  * Método que lista todos os registros inclusos pelo usuário informado
  * @param Kernel_Models_Usuario $usuario Objeto referente ao usuário que fez as inclusões
  * @param int|array|boolean $tipo Filtra por tipo de registro
  * @param int|array|boolean $subTipo Filtra por subtipo de registro
  * @param FiltrosSistema $filtrosSistema
  * @return PDOStatement|boolean Retorna um objeto contendo a resposta da requisição ou FALSE em caso de erro
  */
 public function registrosDeUsuario(Kernel_Models_Usuario $usuario, $tipo = FALSE, $subTipo = FALSE, FiltrosSistema $filtrosSistema = NULL)
 {
     $where = $inner = "";
     //Filtrando os valores por tipo e subtipo
     if (is_int($tipo)) {
         $where .= "and pk_fap_tipo={$tipo} ";
     } elseif (is_array($tipo)) {
         if (Arrays::checarValores($tipo, FILTER_VALIDATE_INT)) {
             $where .= "and (pk_fap_tipo=" . implode(" or pk_fap_tipo=", $tipo) . ") ";
         }
     }
     if (is_int($subTipo)) {
         $where .= "and fk_fap_subtipo={$subTipo} ";
     } elseif (is_array($subTipo)) {
         if (Arrays::checarValores($subTipo, FILTER_VALIDATE_INT)) {
             $where .= "and (fk_fap_subtipo=" . implode(" or fk_fap_subtipo=", $subTipo) . ") ";
         }
     }
     //fazendo a consulta
     $query = "select distinct on(pk_fap_registro) *, " . "nome as professor_nome, pk_usuario as professor_pk " . "from fap.fap_registro " . "inner join fap.fap_subtipo on pk_fap_subtipo=fk_fap_subtipo " . "inner join fap.fap_tipo on pk_fap_tipo=fk_fap_tipo " . "inner join public.usuario_professor on pk_usuario_professor=fk_usuario_professor " . "inner join public.usuario on pk_usuario=fk_usuario " . "{$inner} " . "where fk_usuario_inc=" . $usuario->getId() . " {$where} " . "order by pk_fap_registro desc";
     return $this->queryStatement($query);
 }
Пример #4
0
 public function __construct()
 {
     parent::__construct();
 }
Пример #5
0
 public function __construct()
 {
     parent::__construct("public.usuario");
     $this->coordTipos = array(self::COD_COORDENADOR => self::TITULO_COORDENADOR, self::COD_COORD_AUXILIAR => self::TITULO_COORD_AUXILIAR, self::COD_COORD_FORMATIVO => self::TITULO_COORD_FORMATIVO, self::COD_COORD_SOEP => self::TITULO_COORD_SOEP);
     $this->coordTiposExibicao = array(self::COD_COORDENADOR => "Coordenação Pedagógica", self::COD_COORD_SOEP => "Psicólogo(a) - SOEP", self::COD_COORD_FORMATIVO => "Coordenação Formativa", self::COD_COORD_AUXILIAR => "Auxiliar da Coordernação");
 }
Пример #6
0
 /**
  * Método que lista todas as mensagens cadastradas por um ususário especifico
  * OBS: Os filtros ainda não forma aplicados
  * @param Kernel_Models_Usuario $usuario Objeto referente ao usuário que realizou o cadastro
  * @param FiltrosSistema $filtrosSistema Objeto do sistema de filtros
  * @return PDOStatement Retorna um objeto contendo o resulta da consulta
  */
 public function listarTodasDe(Kernel_Models_Usuario $usuario, FiltrosSistema $filtrosSistema = null)
 {
     return $this->select("user_insert=" . $usuario->getId());
 }
Пример #7
0
 /**
  * @param Kernel_Models_Usuario $usuario        O usuário de destino do chamado
  * @param int                   $status         Define se deve filtrar por status
  * @param FiltrosSistema        $filtrosSistema
  *
  * @return PDOStatement|bool Retorna um objeto contendo a resposta da consulta ou FALSE em caso de erro
  */
 public function listarTodasPara(Kernel_Models_Usuario $usuario, $status = false, FiltrosSistema $filtrosSistema = null)
 {
     $inner = 'inner join public.usuario on pk_usuario=user_insert ';
     $inner .= 'inner join public.usuario_tipo_vin on ' . 'fk_tipo_usuario=tipo_usuario_insert and fk_usuario=user_insert ';
     $where = 'destinatario=' . $usuario->getId() . ' ' . 'and destinatario_tipo=' . $usuario->getTipo() . ' ';
     $where .= is_int($status) ? "and public.helpdesk.status={$status} " : '';
     if ($filtrosSistema instanceof FiltrosSistema) {
         $where .= $filtrosSistema->validar(array('de')) ? 'and dt_insert>=' . $filtrosSistema->getDe() . ' ' : '';
         $where .= $filtrosSistema->validar(array('ate')) ? 'and dt_insert<=' . $filtrosSistema->getAte() . ' ' : '';
     }
     $colunas = array('public.helpdesk.*', 'public.usuario.nome as responsavel_nome');
     return $this->select($where, $colunas, $inner);
 }
Пример #8
0
 /**
  * Método que envia a solicitação de alteração de dados cadastrais
  */
 public function solicita_alt()
 {
     $pkUsuario = filter_input(INPUT_POST, 'usuario', FILTER_VALIDATE_INT);
     //Recebendo o código do usuário para a validação do mesmo
     if ($this->tipoLogado != Perfil::ADMIN) {
         if ($this->usuario->get_idUsuario() != $pkUsuario) {
             $this->setMensagem('Desculpe, você não pode pedir as alterações dos dados de outro usuário')->printResposta();
             die;
         }
     }
     if (!$pkUsuario) {
         $this->setMensagem('O usuário informado é inválido.')->printResposta();
     }
     $dadosMensagem = array();
     $mensagem = '';
     $emailNews = new Kernel_Models_NewsletterContas();
     $usuarioObj = new Kernel_Models_Usuario();
     $usuario = $usuarioObj->get($pkUsuario);
     $mail = new Mail();
     $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_MAGIC_QUOTES);
     $dtnascimento = filter_input(INPUT_POST, 'data_nascimento', FILTER_SANITIZE_MAGIC_QUOTES);
     $cpf = filter_input(INPUT_POST, 'cpf', FILTER_SANITIZE_MAGIC_QUOTES);
     $rg = filter_input(INPUT_POST, 'rg', FILTER_SANITIZE_MAGIC_QUOTES);
     $sexo = filter_input(INPUT_POST, 'sexo', FILTER_SANITIZE_MAGIC_QUOTES);
     $telefone = filter_input(INPUT_POST, 'telefone', FILTER_SANITIZE_MAGIC_QUOTES);
     $cep = filter_input(INPUT_POST, 'cep', FILTER_SANITIZE_MAGIC_QUOTES);
     $endereco = filter_input(INPUT_POST, 'endereco', FILTER_SANITIZE_MAGIC_QUOTES);
     $numero = filter_input(INPUT_POST, 'numero', FILTER_SANITIZE_MAGIC_QUOTES);
     $complemento = filter_input(INPUT_POST, 'complemento', FILTER_SANITIZE_MAGIC_QUOTES);
     $bairro = filter_input(INPUT_POST, 'bairro', FILTER_SANITIZE_MAGIC_QUOTES);
     $cidade = filter_input(INPUT_POST, 'cidade', FILTER_SANITIZE_MAGIC_QUOTES);
     $uf = filter_input(INPUT_POST, 'estado', FILTER_SANITIZE_MAGIC_QUOTES);
     //Validando os dados
     if ($nome) {
         if (!Strings::validar($nome)) {
             $this->setMensagem('O nome informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['nome'] = $nome;
     }
     if ($dtnascimento) {
         if (!Data::validar($dtnascimento, 'd/m/Y')) {
             $this->setMensagem('A data de nascimento é inválida')->printResposta();
             die;
         }
         $dadosMensagem['data de nascimento'] = $dtnascimento;
     }
     if ($cpf) {
         if (!PadraoBrasil::validaCPF($cpf)) {
             $this->setMensagem('O cpf informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['cpf'] = $cpf;
     }
     if ($rg) {
         if (!PadraoBrasil::validarRG($rg)) {
             $this->setMensagem('O rg informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['rg'] = $rg;
     }
     if ($sexo) {
         if (!PadraoBrasil::validaSexo($sexo)) {
             $this->setMensagem('O sexo informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['sexo'] = $sexo;
     }
     if ($telefone) {
         if (!PadraoBrasil::validarTelefone($telefone)) {
             $this->setMensagem('O telefone informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['telefone'] = $telefone;
     }
     if ($cep) {
         if (PadraoBrasil::validaCep($cep)) {
             $this->setMensagem('O cep informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['cep'] = $cep;
     }
     if ($endereco) {
         $dadosMensagem['endereço'] = $endereco;
     }
     if ($numero) {
         $dadosMensagem['número'] = $numero;
     }
     if ($complemento) {
         $dadosMensagem['complemento'] = $complemento;
     }
     if ($bairro) {
         $dadosMensagem['bairro'] = $bairro;
     }
     if ($cidade) {
         $dadosMensagem['cidade'] = $cidade;
     }
     if ($uf) {
         if (!PadraoBrasil::validaUF($uf)) {
             $this->setMensagem('O estado informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['estado'] = PadraoBrasil::getEstado($uf);
     }
     //Montando a mensagem
     foreach ($dadosMensagem as $key => $value) {
         $mensagem .= '<div class="form-group">' . '<label>Alterar ' . $key . ' para ' . $value . '</label>' . '</div>';
     }
     $mail->loadModelo()->mensagemDeModelo(array('titulo' => 'Solicitação de alteração dos dados pessoais', 'subtitulo' => 'O usuário ' . $usuario->nome . '(código ' . $usuario->pk_usuario . ')' . ' solicita alteração nos seguintes dados:', 'conteudo' => $mensagem));
     if ($emailNews->enviar('RH Colégio GGE', '*****@*****.**', 'Solicitaçao de alteração de dados cadastrais', $mail->getMensagem())) {
         $this->setMensagem('Solicitação encaminhada com sucesso ao RH')->setStatusCod(0)->statusTrue();
     } else {
         $this->setMensagem('Ocorreu o seguinte erro ao enviar a solicitação: ' . $emailNews->getErros() . '. Por favor, informe o ocorrido ao administrador do sistema e tente novamente mais tarde.');
     }
     $this->printResposta();
 }
Пример #9
0
 /**
  * Método que lista todos os registros feitos por um usuário especifico
  * @param Kernel_Models_Usuario $usuario O usuário que fez as anotações
  * @param int|array|boolean O código do tipo do registro ou array de códigos. Informe FALSE para ignorar
  * @param int|array|boolean O código do subtipo do registro ou array de códigos. Informe FALSE para ignorar
  * @param FiltrosSistema $filtrosSistema Variavel para a filtragem dos registros. Informe FALSE para ignorar
  * @return PDOStatement|boolean Um objeto contendo todos os registros ou FALSE em caso de erro
  */
 public function getAfaDeUsuario(Kernel_Models_Usuario $usuario, $tipo = FALSE, $subTipo = FALSE, FiltrosSistema $filtrosSistema = NULL)
 {
     $query = "select " . " *,public.usuario.nome as aluno_nome, " . "public.usuario_aluno.fk_usuario as pk_aluno from afa.afa_conceito_aluno " . "inner join afa.afa_subtipo_anotacao on pk_afa_subtipo_anotacao=fk_afa_subtipo_anotacao " . "inner join afa.afa_tipo_anotacao on pk_afa_tipo_anotacao=fk_afa_tipo_anotacao " . "inner join public.usuario_aluno on pk_usuario_aluno=fk_usuario_aluno " . "inner join public.turma on pk_turma=fk_turma " . "inner join public.usuario on pk_usuario=fk_usuario " . "where fk_usuario_inc=" . $usuario->getId() . " ";
     //Aplicando os filtros
     if ($filtrosSistema instanceof FiltrosSistema) {
         $query .= $filtrosSistema->validar(array("de")) ? "and data_evento>='" . $filtrosSistema->getDe() . "' " : "";
         $query .= $filtrosSistema->validar(array("ate")) ? "and data_evento<='" . $filtrosSistema->getAte() . "' " : "";
     } else {
         $query .= "and extract(year from data_evento)=2015 ";
     }
     //Filtrando por tipo e subtipo
     if (is_int($tipo)) {
         $query .= "and pk_afa_tipo_anotacao={$tipo} ";
     } elseif (is_array($tipo)) {
         if (Arrays::checarValores($tipo, FILTER_VALIDATE_INT)) {
             $query .= "and (pk_afa_tipo_anotacao=" . implode(" or pk_afa_tipo_anotacao=", $tipo) . ") ";
         }
     }
     if (is_int($subTipo)) {
         $query .= "and pk_afa_subtipo_anotacao={$subTipo} ";
     } elseif (is_array($subTipo)) {
         if (Arrays::checarValores($subTipo, FILTER_VALIDATE_INT)) {
             $query .= "and (pk_afa_subtipo_anotacao=" . implode(" or pk_afa_subtipo_anotacao=", $subTipo) . ") ";
         }
     }
     //Retorno da consulta
     $query .= "order by data_evento desc";
     return $this->queryStatement($query);
 }
Пример #10
0
 /**
  * Método que retorna o id do usuário de acordo com o grupo que ele pertence
  * Apenas para dispositivos moveis. 
  * METODO TEMPORÁRIO, ATÉ O GERENCIAMENTO DE USUÁRIO SER REFEITO E CENTRALIZADO
  */
 public function get_ids()
 {
     $usuarioSistema = new Kernel_Models_Usuario();
     //Objeto responsavel pelo login
     $this->setMensagem("Dados inválidos");
     $dadosPost = file_get_contents('php://input');
     if (strlen($dadosPost)) {
         $post = json_decode($dadosPost);
         if (is_object($post)) {
             //Validando os dados
             if (!isset($post->email) || !isset($post->senha) || !isset($post->imei) || !isset($post->tipologin)) {
                 $this->printResposta();
             }
             $email = filter_var($post->email);
             //Email usado no login convencional
             $senha = filter_var($post->senha);
             //A senha de login
             $imei = filter_var($post->imei);
             //Código unico do aparelho
             $tipoUsuario = filter_var($post->tipologin, FILTER_VALIDATE_INT);
             //            $so = $this->getBrowserDetect()->getS_o(); //Nome do sistema operacional do cliente
             $so = "generico";
             //Comentado por não ser possível detectar o s.o. do cliente utilizando a classe BrowserDetect
             $id = $usuarioSistema->getIdEspecifico($email, $senha, $imei, $so, $tipoUsuario);
             if ($id) {
                 $this->setMensagem("")->statusTrue()->setStatusCod(0)->appendResposta($id);
             }
         }
     }
     $this->printResposta();
 }