Пример #1
0
 static function mail($to, $subject, $message)
 {
     if (!isset(self::$selfMailer)) {
         self::$selfMailer = new Portabilis_Mailer();
     }
     return self::$selfMailer->sendMail($to, $subject, $message);
 }
Пример #2
0
 protected function checkForMultipleAccess($user)
 {
     // considera como acesso multiplo, acesso em diferentes IPs em menos de $tempoMultiploAcesso minutos
     $tempoMultiploAcesso = 10;
     $tempoEmEspera = abs(time() - strftime("now") - strtotime($user['data_login'])) / 60;
     $multiploAcesso = $tempoEmEspera <= $tempoMultiploAcesso && $user['ip_ultimo_acesso'] != $this->getClientIP();
     if ($multiploAcesso and $user['super']) {
         // #TODO mover lógica email, para mailer especifico
         $subject = "Conta do super usuário {$_SERVER['HTTP_HOST']} acessada em mais de um local";
         $message = "Aparentemente a conta do super usuário {$user['matricula']} foi acessada em " . "outro computador nos últimos {$tempoMultiploAcesso} " . "minutos, caso não tenha sido você, por favor, altere sua senha.\n\n" . "Endereço IP último acesso: {$user['ip_ultimo_acesso']}\n" . "Endereço IP acesso atual: {$this->getClientIP()}";
         $mailer = new Portabilis_Mailer();
         $mailer->sendMail($user['email'], $subject, $message);
     } elseif ($multiploAcesso) {
         $minutosEmEspera = round($tempoMultiploAcesso - $tempoEmEspera) + 1;
         $this->messenger->append("Aparentemente sua conta foi acessada em outro computador nos últimos " . "{$tempoMultiploAcesso} minutos, caso não tenha sido você, " . "por favor, altere sua senha ou tente novamente em {$minutosEmEspera} minutos", "error", false, "error");
     }
 }