From 865ecc87963dc3b26e66296616eef2a1cc41ac3f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 25 Oct 2023 12:55:09 +0300 Subject: move to psr-4 autoloader --- classes/Auth_Base.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 classes/Auth_Base.php (limited to 'classes/Auth_Base.php') diff --git a/classes/Auth_Base.php b/classes/Auth_Base.php new file mode 100644 index 000000000..d8128400d --- /dev/null +++ b/classes/Auth_Base.php @@ -0,0 +1,59 @@ +pdo = Db::pdo(); + } + + function hook_auth_user($login, $password, $service = '') { + return $this->authenticate($login, $password, $service); + } + + /** Auto-creates specified user if allowed by system configuration. + * Can be used instead of find_user_by_login() by external auth modules + * @param string $login + * @param string|false $password + * @return null|int + * @throws Exception + * @throws PDOException + */ + function auto_create_user(string $login, $password = false) { + if ($login && Config::get(Config::AUTH_AUTO_CREATE)) { + $user_id = UserHelper::find_user_by_login($login); + + if (!$user_id) { + + if (!$password) $password = make_password(); + + $user = ORM::for_table('ttrss_users')->create(); + + $user->salt = UserHelper::get_salt(); + $user->login = mb_strtolower($login); + $user->pwd_hash = UserHelper::hash_password($password, $user->salt); + $user->access_level = 0; + $user->created = Db::NOW(); + $user->save(); + + return UserHelper::find_user_by_login($login); + + } else { + return $user_id; + } + } + + return UserHelper::find_user_by_login($login); + } + + + /** replaced with UserHelper::find_user_by_login() + * @param string $login + * @return null|int + * @deprecated + */ + function find_user_by_login(string $login) { + return UserHelper::find_user_by_login($login); + } +} -- cgit v1.2.3-54-g00ecf