Esempio n. 1
0
 /**
  *  Display the user dashboard
  *
  */
 public function dashboard()
 {
     // Get user data to display
     $user = Auth::user();
     $job_list = array('paladin' => 'Paladin', 'monk' => 'Monk', 'warrior' => 'Warrior', 'dragoon' => 'Dragoon', 'bard' => 'Bard', 'ninja' => 'Ninja', 'white-mage' => 'White Mage', 'black-mage' => 'Black Mage', 'scholar' => 'Scholar', 'summoner' => 'Summoner', 'dark-knight' => 'Dark Knight', 'machinist' => 'Machinist', 'astrologian' => 'Astrologian');
     // Have a look for any posts that mention the user
     $mention_posts = collect();
     if ($user->character_name) {
         $character_name = explode(' ', $user->character_name);
         $mention_posts = Post::with('thread')->with('user')->where('content', 'like', '%@' . $character_name[0] . '%')->orWhere('content', 'like', '%@' . $character_name[0] . $character_name[1] . '%')->orderBy('created_at', 'DESC')->limit(5)->get();
     }
     // Get the latest topics
     // Get the users permissions
     $accessCollection = $user->forumAccess;
     $latest_posts = Post::with('thread')->with('user')->whereIn('forum_id', $accessCollection)->orderBy('created_at', 'DESC')->limit(7)->get();
     if ($user->hasRole('administrators')) {
         $group_list = Role::all();
         $group_array = array();
         foreach ($group_list as $group) {
             $group_array[$group->id] = $group->display_name;
         }
         $permission_list = Permission::all();
         $permission_array = array();
         foreach ($permission_list as $permission) {
             $permission_array[$permission->id] = $permission->display_name;
         }
         $users_list = User::all();
         $users_array = array();
         foreach ($users_list as $users) {
             $users_array[$users->id] = $users->character_name ? $users->character_name : $users->name;
         }
         $forums_list = Forum::orderBy('display_order', 'asc')->get();
         return view('user.dashboard')->withUser($user)->withMentionPosts($mention_posts)->withLatestPosts($latest_posts)->withJobList($job_list)->withGroupList($group_list)->withGroupArray($group_array)->withPermissionArray($permission_array)->withUsersArray($users_array)->withForumList($forums_list);
     } else {
         return view('user.dashboard')->withUser($user)->withJobList($job_list)->withMentionPosts($mention_posts)->withLatestPosts($latest_posts);
     }
 }