public function home(Request $request) { $filters = new Filters($request->get('filters')); if ($request->has('delete_and_ban')) { $files = FileRecord::ip($filters->ip)->get(); foreach ($files as $file) { $file->delete(); } Ban::createFromIp($filters->ip); return redirect()->to($filters->url([], ['delete_and_ban']))->with('success', new MessageBag(['Files deleted and IP ban created'])); } $query = FileRecord::query()->filter($filters); $count = $query->count(); $files = $query->orderBy('created_at', 'desc')->paginate(20)->appends($filters->queryParameters()); $size = intval($this->db->table('file_records')->sum('filesize')); $size = FileSizeFormatter::format($size); return view('admin.home')->with('count', $count)->with('size', $size)->with('files', $files)->with('filters', $filters); }