/**
  * Store a newly created resource in storage.
  *
  * @param ImageRequest $request
  * @return \Illuminate\Http\Response
  */
 public function store(ImageRequest $request)
 {
     if (!$request->hasFile('image')) {
         return redirect(route('admin.sliders.create'))->with('error', 'Veuillez choisir une image');
     }
     $date = date('Y-m-d-H-i-s');
     if ($request->hasFile('image') && $request->file('image')->move(base_path() . '/public/images/slider', $date . '.' . $request->file('image')->getClientOriginalExtension())) {
         $request->merge(['picture' => $date . '.' . $request->file('image')->getClientOriginalExtension()]);
         Slider::create($request->all());
     }
     return redirect(route('admin.sliders.index'))->with('success', 'L\'image a bien été uplodée');
 }
 public function editMainPictureUpdate(ImageRequest $request, $id)
 {
     $activity = Activity::findOrFail($id);
     if ($request->hasFile('image') && $request->file('image')->move(base_path() . '/public/images', str_slug($activity->name_en) . '.' . strtolower($request->file('image')->getClientOriginalExtension()))) {
         return redirect(route('admin.activities.editMainPicture', $activity))->with('success', 'L\'image principale a bien été changée');
     } else {
         return redirect(route('admin.activities.editMainPicture', $activity))->with('error', 'Une erreur est survenue lors de l\'upload de l\'image. Veuillez réessayer');
     }
 }
예제 #3
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update(ImageRequest $request, $id)
 {
     if (Gate::denies('admin')) {
         abort(403);
     }
     $rq = $request->all();
     $image = Image::findOrFail($id);
     if ($request->hasFile('file')) {
         $rq['mime'] = $request->file('file')->getMimeType();
         $rq['ext'] = $request->file('file')->guessExtension();
     }
     $link_a_a = [];
     if (isset($rq['artist_id']) && is_array($rq['artist_id'])) {
         $rq['artist_id'] = array_unique($rq['artist_id'], SORT_NUMERIC);
         foreach ($rq['artist_id'] as $aid) {
             $link_a = ArtistImage::create(['artist_id' => $aid, 'image_id' => $id]);
             $link_a_a[] = $link_a->id;
         }
     }
     ArtistImage::where('image_id', $id)->whereNotIn('id', $link_a_a)->delete();
     $link_r_a = [];
     if (isset($rq['release_id']) && is_array($rq['release_id'])) {
         $rq['release_id'] = array_unique($rq['release_id'], SORT_NUMERIC);
         foreach ($rq['release_id'] as $rid) {
             $link_r = ImageRelease::create(['release_id' => $rid, 'image_id' => $id]);
             $link_r_a[] = $link_r->id;
         }
     }
     ImageRelease::where('image_id', $id)->whereNotIn('id', $link_r_a)->delete();
     $link_t_a = [];
     if (isset($rq['track_id']) && is_array($rq['track_id'])) {
         $rq['track_id'] = array_unique($rq['track_id'], SORT_NUMERIC);
         foreach ($rq['track_id'] as $tid) {
             $link_t = ImageTrack::create(['track_id' => $tid, 'image_id' => $id]);
             $link_t_a[] = $link_t->id;
         }
     }
     ImageTrack::where('image_id', $id)->whereNotIn('id', $link_t_a)->delete();
     if ($request->hasFile('file')) {
         $request->file('file')->move(storage_path('images/' . $image->dir), $image->file_name);
         list($image->width, $image->height) = getimagesize(storage_path('images/' . $image->path));
         $image->source = '';
     } elseif ($rq->source != '') {
         $image->ext = array_pop(explode('.', $rq->source));
         Storage::disk('images')->put($image->path, @file_get_contents($rq->source));
         list($image->width, $image->height) = getimagesize(storage_path('images/' . $image->path));
         if (Storage::disk('images')->size($image->path) > 0) {
             $image_info = getimagesize(storage_path('images/' . $image->path));
             $image->width = $image_info[0];
             $image->height = $image_info[1];
             $image->mime = $image_info['mime'];
         } else {
             $image->ext = 'err';
         }
     }
     $image->save();
     return redirect()->route('image.show', ['link' => $id])->with('alert-success', [trans('htmusic.saved')]);
 }