authorize('admin-access'); $photoFiles = $request->files->get('photo'); // Load the linked album $album = AlbumController::loadAlbum($request->get('album_id')); $upload = new Upload(); $upload->album_id = $album->id; $upload->is_completed = false; $upload->is_processing = false; $upload->is_ready = false; $upload->number_photos = 0; $upload->save(); foreach ($photoFiles as $photoFile) { $photoFile = UploadedFile::createFromBase($photoFile); /** @var File $savedFile */ $savedFile = $album->getAlbumSource()->saveUploadedPhoto($album, $photoFile); $photo = new Photo(); $photo->album_id = $album->id; $photo->name = $photoFile->getClientOriginalName(); $photo->file_name = $savedFile->getFilename(); $photo->mime_type = $savedFile->getMimeType(); $photo->file_size = $savedFile->getSize(); $photo->save(); $upload->number_photos++; $uploadPhoto = new UploadPhoto(); $uploadPhoto->upload_id = $upload->id; $uploadPhoto->photo_id = $photo->id; $uploadPhoto->save(); } $upload->is_ready = true; $upload->save(); return redirect(route('albums.monitorUpload', [ 'id' => $album->id, 'upload_id' => $upload->id ])); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }