*/
class SessionManager
{
+ public const KEY_LINKS_PER_PAGE = 'LINKS_PER_PAGE';
+ public const KEY_VISIBILITY = 'visibility';
+ public const KEY_UNTAGGED_ONLY = 'untaggedonly';
+
+ public const KEY_SUCCESS_MESSAGES = 'successes';
+ public const KEY_WARNING_MESSAGES = 'warnings';
+ public const KEY_ERROR_MESSAGES = 'errors';
+
/** @var int Session expiration timeout, in seconds */
public static $SHORT_TIMEOUT = 3600; // 1 hour
}
return true;
}
+
+ /** @return array Local reference to the global $_SESSION array */
+ public function getSession(): array
+ {
+ return $this->session;
+ }
+
+ /**
+ * @param mixed $default value which will be returned if the $key is undefined
+ *
+ * @return mixed Content stored in session
+ */
+ public function getSessionParameter(string $key, $default = null)
+ {
+ return $this->session[$key] ?? $default;
+ }
+
+ /**
+ * Store a variable in user session.
+ *
+ * @param string $key Session key
+ * @param mixed $value Session value to store
+ *
+ * @return $this
+ */
+ public function setSessionParameter(string $key, $value): self
+ {
+ $this->session[$key] = $value;
+
+ return $this;
+ }
+
+ /**
+ * Store a variable in user session.
+ *
+ * @param string $key Session key
+ *
+ * @return $this
+ */
+ public function deleteSessionParameter(string $key): self
+ {
+ unset($this->session[$key]);
+
+ return $this;
+ }
}