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; }