Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * Singleton method for getting the instance of the current user.
  */
 public static function current()
 {
     return User_Current::singleton();
 }