function uploadEdit(UserUpload $upload, Request $request) { $upload->status = $request->get('status'); $upload->save(); event(new FileChanged($upload)); return; }
function upload(UploadRequest $request) { $user = Auth::user(); // If this user already has at least 3 pending uploads, tell them to wait if ($user->uploads->where('status', 'pending')->count() >= 3) { $request->session()->flash('error', "You've already uploaded 3 files. Please wait for an admin to review them before uploading more."); return redirect('/profile'); } // Create upload folder if it doesn't exist if (!file_exists(public_path() . '/files/user')) { mkdir(public_path() . '/files/user', 0755, true); } // Make sure the original filename is sanitized $file = pathinfo($request->file('file')->getClientOriginalName()); $fileName = preg_replace('/[^a-z0-9-_]/', '', $file['filename']) . "." . preg_replace('/[^a-z0-9-_]/', '', $file['extension']); // Move file to uploads directory $fileName = time() . '-' . $fileName; $request->file('file')->move(public_path() . '/files/user', $fileName); // Create a new user upload $upload = new UserUpload(); $upload->file = $fileName; $upload->status = 'pending'; $upload->user_id = $User->id; $upload->save(); // Save additional form data $input = $request->all(); $upload->update($input); event(new FileUploaded($upload)); $request->session()->flash('success', 'Your file was uploaded.'); return redirect('/profile'); }