+ public function setLoggedInUserId(int $user_id)
+ {
+ $this->user_id = $user_id;
+ }
+
+ /**
+ * Set the nickname
+ *
+ * @param int $user_id
+ * @return void
+ */
+ public function setLoggedInUserNickname(string $nickname)
+ {
+ $this->nickname = $nickname;
+ }
+
+ public function isLoggedIn(): bool
+ {
+ return local_user() && $this->user_id && ($this->user_id == local_user());
+ }
+
+ /**
+ * Check if current user has admin role.
+ *
+ * @return bool true if user is an admin
+ */
+ public function isSiteAdmin(): bool
+ {
+ $admin_email = $this->config->get('config', 'admin_email');
+
+ $adminlist = explode(',', str_replace(' ', '', $admin_email));
+
+ return local_user() && $admin_email && $this->database->exists('user', ['uid' => $this->getLoggedInUserId(), 'email' => $adminlist]);
+ }
+
+ /**
+ * Fetch the user id
+ * @return int User id
+ */
+ public function getLoggedInUserId(): int
+ {
+ return $this->user_id;
+ }
+
+ /**
+ * Fetch the user nick name
+ * @return string User's nickname
+ */
+ public function getLoggedInUserNickname(): string
+ {
+ return $this->nickname;
+ }