diff options
Diffstat (limited to 'app/User.php')
| -rw-r--r-- | app/User.php | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/app/User.php b/app/User.php index 2751f9594c..e4be28ec3b 100644 --- a/app/User.php +++ b/app/User.php @@ -30,6 +30,34 @@ use stdClass; */ class User implements UserInterface { + // For historic reasons, user preferences have inconsistent and confusing names. + public const PREF_AUTO_ACCEPT_EDITS = 'auto_accept'; + public const PREF_CONTACT_METHOD = 'contactmethod'; + public const PREF_IS_ACCOUNT_APPROVED = 'verified_by_admin'; + public const PREF_IS_ADMINISTRATOR = 'canadmin'; + public const PREF_IS_EMAIL_VERIFIED = 'verified'; + public const PREF_IS_VISIBLE_ONLINE = 'visibleonline'; + public const PREF_LANGUAGE = 'language'; + public const PREF_NEW_ACCOUNT_COMMENT = 'comment'; + public const PREF_TIMESTAMP_REGISTERED = 'reg_timestamp'; + public const PREF_TIMESTAMP_ACTIVE = 'sessiontime'; + public const PREF_TIME_ZONE = 'TIMEZONE'; + public const PREF_THEME = 'theme'; + public const PREF_VERIFICATION_TOKEN = 'reg_hashcode'; + + // For historic reasons, user-tree preferences have inconsistent and confusing names. + public const PREF_TREE_ACCOUNT_XREF = 'gedcomid'; + public const PREF_TREE_DEFAULT_XREF = 'rootid'; + public const PREF_TREE_PATH_LENGTH = 'RELATIONSHIP_PATH_LENGTH'; + public const PREF_TREE_ROLE = 'canedit'; + + // For historic reasons, roles have inconsistent and confusing names. + public const ROLE_VISITOR = 'none'; + public const ROLE_MEMBER = 'access'; + public const ROLE_EDITOR = 'edit'; + public const ROLE_MODERATOR = 'accept'; + public const ROLE_MANAGER = 'admin'; + /** @var int The primary key of this user. */ private $user_id; @@ -189,7 +217,7 @@ class User implements UserInterface return new Collection(); }); - return $preferences->get($setting_name) ?? $default; + return $preferences->get($setting_name, $default); } /** @@ -198,9 +226,9 @@ class User implements UserInterface * @param string $setting_name * @param string $setting_value * - * @return UserInterface + * @return void */ - public function setPreference(string $setting_name, string $setting_value): UserInterface + public function setPreference(string $setting_name, string $setting_value): void { if ($this->user_id !== 0 && $this->getPreference($setting_name) !== $setting_value) { DB::table('user_setting')->updateOrInsert([ @@ -214,8 +242,6 @@ class User implements UserInterface } app('cache.array')->forget('user_setting' . $this->user_id); - - return $this; } /** |
