/** * Returns the singleton instance of this class. */ public static function singleton() { if (is_null(self::$_instance)) { $className = __CLASS__; self::$_instance = new $className(); if (isset($_SESSION[Config::get('user.session_key')])) { $user = User::user()->where('id', '=', $_SESSION[Config::get('user.session_key')])->first(); if ($user) { self::$_user['id'] = $user->id; self::$_user['email'] = $user->email; self::$_user['is_admin'] = $user->is_admin; $permissions = User::permission()->select('user_permissions.permission')->distinct()->leftJoin('habtm_userroles_userusers t', 't.role_id', '=', 'user_permissions.role_id')->where('t.user_id', '=', $user->id)->get(); if ($permissions) { foreach ($permissions as $row) { self::$_user['permissions'][] = $row->permission; } } } } Log::debug('user', 'Current user ID: ' . self::$_user['id']); } return self::$_instance; }
/** * Singleton method for getting the instance of the current user. */ public static function current() { return User_Current::singleton(); }