public function storeForBan($id, Request $request) { $ban = Ban::findOrFail($id); $comment = \Input::get('body'); if ($comment == '') { return \Redirect::back(); } if ($request->user()->muted) { return \Redirect::back()->with('error', 'You are muted.'); } $ban->comments()->create(['body' => $comment, 'user_id' => Auth::user()->id]); // Create notification $not = new Notification(); $not->from($request->user())->withType('UserCommentOnBan')->withSubject('A comment is done on ban')->withBody(link_to_route('user.show', $request->user()->displayName(), $request->user()->username) . " has commented on a ban " . link_to_route('bans.show', '#' . $ban->id, $ban->id))->withStream(true)->regarding($ban)->deliver(); return \Redirect::back()->with('success', 'Success! Comment posted for the ban.'); }
public function deleteBan($id) { $ban = Ban::findOrFail($id); $ban->delete(); flash()->info('Postać o ID <b>' . $id . '</b> została odbanowana!'); return redirect('/admin/ban'); }
/** * Update the specified resource in storage. * * @param int $id * @param InputRequest $request * @return Response */ public function update($id, InputRequest $request) { if (!$request->user()->isAdmin()) { return redirect()->home()->with('error', "Not authorized"); } $validator = \Validator::make($request->all(), ['status' => 'required|in:0,1']); if ($validator->fails()) { return \Redirect::back()->with('errors', $validator->errors())->withInput(); } $ban = Ban::findOrFail($id); $prev_status = $ban->status; $status = $request->status; $reason = $request->reason == "" ? null : $request->reason; $banned_till = $request->banned_till; $banned_till = $banned_till == "" ? null : Carbon::parse($banned_till); // If its a unban work then banned till will be set to now. if ($status == 0 && $prev_status == 1) { $banned_till = Carbon::now(); } else { if ($status == 1 && $prev_status == 0 && $banned_till != null && $banned_till <= Carbon::now()) { $banned_till = null; } else { if ($status == 0 && $prev_status == 0) { if ($banned_till >= Carbon::now()) { return redirect()->back()->with('error', 'Ban Till cannot me in future if status is "Unbanned".')->withInput(); } else { if ($banned_till == "" || $banned_till == null) { $banned_till = $ban->banned_till; } } } } } $ban->reason = $reason; $ban->status = $status; $ban->banned_till = $banned_till; $ban->updated_by = $request->user()->username; $ban->updated_by_site = true; $ban->save(); // Create notification $not = new Notification(); $not->from($request->user())->withType('BanUpdated')->withSubject('A ban is updated')->withBody(link_to_route('user.show', $request->user()->displayName(), $request->user()->username) . " has updated the ban " . link_to_route('bans.show', '#' . $ban->id, $ban->id) . " with IP <b>" . $ban->ipAddrWithMask() . "</b> <img src='" . $ban->countryImage() . "' class='tooltipster img' title='" . $ban->countryName() . "'>")->withStream(true)->regarding($ban)->deliver(); if ($status == 0 && $prev_status == 1) { $ban->tellServerToRemove(); } else { if ($status == 1 && $prev_status == 0) { $ban->tellServerToAdd(); } } return redirect()->route('bans.show', $ban->id)->with('success', 'Ban has need updated!'); }