コード例 #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param UpdateChannelPermissionsRequest $request
  * @return Response
  */
 public function update(UpdateChannelPermissionsRequest $request)
 {
     //
     $channel = $request->route()->getParameter('channel');
     $accessChannel = $request->input('allowed_groups');
     $createThreads = $request->input('create_threads');
     $reply = $request->input('reply_to_threads');
     $createThreads = collect($createThreads);
     $createThreads = $createThreads->filter(function ($item) {
         return $item != 2;
     });
     $reply = collect($reply);
     $reply = $reply->filter(function ($item) {
         return $item != 2;
     });
     ChannelPermission::where('channel_id', '=', $channel->id)->where('permission_id', '=', 21)->orWhere('permission_id', '=', 1)->orWhere('permission_id', '=', 6)->delete();
     foreach ($accessChannel as $id) {
         $perm = ChannelPermission::firstOrCreate(array('permission_id' => 21, 'role_id' => $id, 'channel_id' => $channel->id));
     }
     foreach ($createThreads as $id) {
         $create_threads = ChannelPermission::firstOrCreate(array('permission_id' => 1, 'role_id' => $id, 'channel_id' => $channel->id));
     }
     foreach ($reply as $id) {
         $replyToThread = ChannelPermission::firstOrCreate(array('permission_id' => 6, 'role_id' => $id, 'channel_id' => $channel->id));
     }
     Flash::success('Updated channel permissions!');
     return redirect(route('admin.forum.get.permissions.channels.edit', array($channel)));
 }