From 772804add8095eea9b3ec2a832c2f82fbb9a6fd5 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Wed, 31 Dec 2014 12:37:15 -0500 Subject: Acl refactoring --- app/Model/UserSession.php | 89 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 app/Model/UserSession.php (limited to 'app/Model/UserSession.php') diff --git a/app/Model/UserSession.php b/app/Model/UserSession.php new file mode 100644 index 00000000..c27b3743 --- /dev/null +++ b/app/Model/UserSession.php @@ -0,0 +1,89 @@ +session['user']['is_admin']) && $this->session['user']['is_admin'] === true; + } + + /** + * Get the connected user id + * + * @access public + * @return integer + */ + public function getId() + { + return isset($this->session['user']['id']) ? (int) $this->session['user']['id'] : 0; + } + + /** + * Check if the given user_id is the connected user + * + * @param integer $user_id User id + * @return boolean + */ + public function isCurrentUser($user_id) + { + return $this->getId() == $user_id; + } + + /** + * Check is the user is connected + * + * @access public + * @return bool + */ + public function isLogged() + { + return ! empty($this->session['user']); + } + + /** + * Get the last seen project from the session + * + * @access public + * @return integer + */ + public function getLastSeenProjectId() + { + return empty($this->session['last_show_project_id']) ? 0 : $this->session['last_show_project_id']; + } + + /** + * Get the default project from the session + * + * @access public + * @return integer + */ + public function getFavoriteProjectId() + { + return isset($this->session['user']['default_project_id']) ? $this->session['user']['default_project_id'] : 0; + } + + /** + * Set the last seen project from the session + * + * @access public + * @param integer $project_id Project id + */ + public function storeLastSeenProjectId($project_id) + { + $this->session['last_show_project_id'] = (int) $project_id; + } +} -- cgit v1.2.3