static function mail($to, $subject, $message) { if (!isset(self::$selfMailer)) { self::$selfMailer = new Portabilis_Mailer(); } return self::$selfMailer->sendMail($to, $subject, $message); }
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"); } }