/**
  * Upload Tattoo
  *
  * @return View
  */
 public function uploadTattoo(Request $request)
 {
     $user = Auth::user();
     if ($request->hasFile('tattoo')) {
         //upload an image to the /img/tmp directory and return the filepath.
         // dd($request);
         $file = $request->file('tattoo');
         $tmpFilePath = '/uploads/images/original/';
         $tmpFileName = 'tattoo-' . time() . '-' . $file->getClientOriginalName();
         //save original file
         $file = $file->move(public_path() . $tmpFilePath, $tmpFileName);
         $path = $tmpFilePath . $tmpFileName;
         //edit image
         $img = \Image::make($file);
         $img->backup();
         // reset image (return to backup state)
         $img->reset();
         $img->fit(360);
         //240*240
         $img->save('uploads/images/thumbnail/' . $tmpFileName);
         // reset image (return to backup state)
         $img->reset();
         $img->fit(120);
         //100*100
         $img->save('uploads/images/small/' . $tmpFileName);
         //save tattoo in DB
         $tattoo = new Tattoo();
         $tattoo->title = $request->input('title');
         $tattoo->url = $tmpFileName;
         $tattoo->description = $request->input('description');
         $tattoo->user_id = $user->id;
         $tattoo->approved = false;
         if ($request->input('type') == 'member') {
             if ($request->input('id') == $user->id) {
                 $tattoo->approved = false;
                 //member - self tattoos ll never be approved for public place, only visible to member page(always, no approval needed)
                 $tattoo->save();
             }
             return redirect('member/' . $request->input('id'))->with('success', "Successfully uploaded!");
         } elseif ($request->input('type') == 'artist') {
             $artist = Artist::find($request->input('id'))->first();
             //if uploaded by self
             if ($artist->user->id == $user->id) {
                 $tattoo->approved = true;
             }
             $artist->tattoos()->save($tattoo);
             return redirect('artist/' . $request->input('id'))->with('success', "Successfully uploaded!");
         } elseif ($request->input('type') == 'studio') {
             $studio = Studio::find($request->input('id'))->first();
             //if uploaded by self
             if ($studio->user->id == $user->id) {
                 $tattoo->approved = true;
             }
             $studio->tattoos()->save($tattoo);
             return redirect('studio/' . $request->input('id'))->with('success', "Successfully uploaded!");
         } else {
             session()->flash('error', "Error in uploading tattoo!! Please try again..");
         }
     } else {
         session()->flash('error', "Please select a file!!");
     }
     return redirect('/');
 }
示例#2
0
 public function saveImg(Request $request)
 {
     $user = Auth::user();
     if ($request->hasFile('file')) {
         //upload an image to the /img/tmp directory and return the filepath.
         $file = $request->file('file');
         $tmpFilePath = '/uploads/images/original/';
         $tmpFileName = 'tattoo-' . time() . '-' . $file->getClientOriginalName();
         //save original file
         $file = $file->move(public_path() . $tmpFilePath, $tmpFileName);
         $path = $tmpFilePath . $tmpFileName;
         //edit image
         $img = \Image::make($file);
         //$img->backup();
         // reset image (return to backup state)
         //$img->reset();
         $img->fit(360);
         //240*240
         $img->save('uploads/images/thumbnail/' . $tmpFileName);
         // reset image (return to backup state)
         //$img->reset();
         $img->fit(120);
         //100*100
         $img->save('uploads/images/small/' . $tmpFileName);
         $img->destroy();
         //save tattoo in DB
         $tattoo = new Tattoo();
         $tattoo->title = '';
         $tattoo->url = $tmpFileName;
         $tattoo->description = '';
         $tattoo->user_id = $user->id;
         $tattoo->approved = true;
         $tattoo->save();
         if ($user->type == 'artist') {
             $profile = Artist::where('user_id', $user->id)->first();
             $profile->tattoos()->save($tattoo);
         } elseif ($user->type == 'studio') {
             $profile = Studio::where('user_id', $user->id)->first();
             $profile->tattoos()->save($tattoo);
         }
         return response()->json(array('path' => $tmpFileName), 200);
     } else {
         return response()->json(false, 200);
     }
 }