Пример #1
0
 public function show($groupName)
 {
     $group = Group::name($groupName)->with('creator')->firstOrFail();
     $group->checkAccess();
     $stats = ['contents' => intval(Content::where('group_id', $group->getKey())->count()), 'comments' => intval(Content::where('group_id', $group->getKey())->sum('comments')), 'entries' => intval(Entry::where('group_id', $group->getKey())->count()), 'banned' => intval(GroupBan::where('group_id', $group->getKey())->count()), 'subscribers' => $group->subscribers, 'moderators' => intval(GroupModerator::where('group_id', $group->getKey())->count())];
     return array_merge($group->toArray(), ['stats' => $stats]);
 }
Пример #2
0
 public function addBan()
 {
     $user = User::name(request('username'))->firstOrFail();
     $group = Group::name(request('groupname'))->firstOrFail();
     $this->validate(request(), ['reason' => 'max:255']);
     if (request('everywhere') == '1') {
         foreach (user()->moderatedGroups as $group) {
             $ban = GroupBan::where('group_id', $group->id)->where('user_id', $user->id)->first();
             if (!$ban) {
                 $group->banUser($user, request('reason'));
             }
         }
     } else {
         if (!user()->isModerator($group)) {
             abort(403, 'Access denied');
         }
         $ban = GroupBan::where('group_id', $group->id)->where('user_id', $user->id)->first();
         if (!$ban) {
             $group->banUser($user, request('reason'));
         }
     }
     return redirect()->route('group_banned', $group);
 }
Пример #3
0
 public function showBannedList($group)
 {
     $bans = GroupBan::where('group_id', $group->getKey())->orderBy('created_at', 'desc')->with('user')->paginate(25);
     return view('group.bans', compact('group', 'bans'));
 }