summaryrefslogtreecommitdiff
path: root/app/User.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/User.php')
-rw-r--r--app/User.php36
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;
}
/**