Beispiel #1
0
 public function sendNewPasswordLink()
 {
     $empty = false;
     $this->login = trim($this->login);
     // sprawdzanie czy login jest pusty
     if ($this->login == '' || empty($this->login)) {
         $this->errors[] = "<b>Użytkownik</b>: Pole jest puste.";
         return false;
     }
     // sprawdzanie czy login sie waliduje
     if (!ClassModel::validIsNormalChars($this->login)) {
         $this->errors = "<b>Login</b>: Niepoprawny format.";
         return false;
     }
     // sprawdzanie czy uzytkownik istnieje
     if (!($user = $this->sqlGetUserAndPassword($this->login))) {
         $this->errors = "Użytkownik nie istnieje.";
         return false;
     }
     // sprawdzanie czy uzytkownik jest aktywny
     if ($user['active'] != '1') {
         $this->errors = "Użytkownik nie jest aktywny.";
         return false;
     }
     // sprawdzanie kiedy ostatnio zostal wyslany link do zmiany hasla
     if ($last_send = $this->sqlGetWhenPasswordSend($user['id_user'])) {
         $date_password_send = new DateTime($last_send['date_send']);
         $date_now = new DateTime("now");
         $date_now->sub(new DateInterval('PT' . ClassAuth::$password_mail_time . 'M'));
         if ($date_password_send > $date_now) {
             $this->errors = "Nowe hasło można wysyłać raz na " . ClassAuth::$password_mail_time . " minut.";
             return false;
         }
     }
     // generowanie klucza linka
     // $password_key = ClassTools::generateRandomPasswd(60, array('1', '2', '3'));
     $password_key = ClassAuth::generateRandomPasswordLinkKey();
     if ($last_send) {
         $this->sqlUpdateNewPasswordRequest($password_key, $last_send['id_user_new_password']);
     } else {
         $this->sqlAddNewPasswordRequest($password_key, $user['id_user']);
     }
     $this->auth_user = $user;
     return $password_key;
 }