/**
* Class SettingService
- *
* The settings are a simple key-value database store.
- *
- * @package BookStack\Services
+ * For non-authenticated users, user settings are stored via the session instead.
*/
class SettingService
{
return $formatted;
}
+ /**
+ * Get a value from the session instead of the main store option.
+ * @param $key
+ * @param bool $default
+ * @return mixed
+ */
+ protected function getFromSession($key, $default = false)
+ {
+ $value = session()->get($key, $default);
+ $formatted = $this->formatValue($value, $default);
+ return $formatted;
+ }
+
/**
* Get a user-specific setting from the database or cache.
* @param \BookStack\Auth\User $user
public function getUser($user, $key, $default = false)
{
if ($user->isDefault()) {
- return session()->get($key, $default);
+ return $this->getFromSession($key, $default);
}
return $this->get($this->userKey($user->id, $key), $default);
}