/** * Checks if a session is active. * * @param string role name * @param array collection of role names * @return boolean */ public function logged_in($role = NULL) { // if (FB::get_loggedin_user() == FALSE) // { // $this->logout(TRUE, FALSE); // return FALSE; // } if (isset($this->_user)) { // Let the parent handle roles... return parent::logged_in($role); } else { $user = $this->session->get($this->config['session_key']); $user = !isset($user) ? $user : Sprig::factory('User', $user)->load(); if (is_object($user) and $user->loaded()) { $this->_user = $user; return parent::logged_in($role); } } // Attempt auto login if ($this->auto_login()) { // Success, get the user back out of the session $user = $this->session->get($this->config['session_key']); $user = !isset($user) ? $user : Sprig::factory('User', $user)->load(); if (is_object($user) and $user->loaded()) { $this->_user = $user; return parent::logged_in($role); } } if ($this->facebook_login($user) == FALSE) { return FALSE; } // Let the parent handle roles... return parent::logged_in($role); }