Example #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $validator = Validator::make(Input::all(), array('company_id' => 'required', 'name' => 'required', 'description' => 'required', 'url' => 'required|url', 'photo' => 'required|image'));
     if ($validator->fails()) {
         return Response::json($validator->messages(), 400);
     }
     $item = new Item();
     $item->company_id = Input::get('company_id');
     $item->name = Input::get('name');
     $item->description = Input::get('description');
     $item->url = Input::get('url');
     //temporary for territory
     $item->territory_id = 1;
     $item->save();
     //save tags if available
     foreach (Input::get('tag') as $tagid) {
         $item->tags()->attach($tagid);
     }
     $image = Input::file('photo');
     $filename = $item->id;
     $saveBigUrl = base_path() . '/public/images/items/' . $filename . '.jpg';
     $saveMediumUrl = base_path() . '/public/images/items/' . $filename . '_medium.jpg';
     $saveSmallUrl = base_path() . '/public/images/items/' . $filename . '_small.jpg';
     Image::make($image->getRealPath())->fit(600, null, function ($constraint) {
         //for big image
         $constraint->upsize();
     })->save($saveBigUrl, 50)->fit(300)->save($saveMediumUrl, 50)->fit(100)->save($saveSmallUrl, 50);
     $item->big_image_url = url('images/items/' . $filename . '.jpg');
     $item->medium_image_url = url('images/items/' . $filename . '_medium.jpg');
     $item->small_image_url = url('images/items/' . $filename . '_small.jpg');
     $item->save();
     return Response::json(array('success_code' => 'OK', 'data' => $item->toArray()), 200);
 }