Ejemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  * @return Response
  */
 public function store(AdRequest $request)
 {
     $attributes = ['customer_id' => Auth::customer()->get()->id];
     $category = Category::find($request->get('category_id'));
     if ($category->isDescendantOf(Category::find(1))) {
         // motors
         $motor = Motor::create($request->only('chassis_no', 'model', 'color', 'doors'));
         $ad = $motor->advertisements()->create(array_merge($attributes, $request->only(['name', 'pin', 'address', 'emirate_id', 'phone'])));
     } else {
         $ad = Advertisement::create(array_merge($attributes, $request->only(['name', 'pin', 'address', 'emirate_id', 'phone'])));
     }
     // array_merge = add two arrays together
     $product = Product::create($request->only(['title', 'description', 'brand', 'category_id', 'price']));
     $ad->product()->save($product);
     $source = public_path() . '/uploads/temp/' . Session::getId() . '/';
     $destination = public_path() . '/uploads/ads/' . $ad->id . '/';
     if (!file_exists($destination)) {
         mkdir($destination, 0777, true);
         // create directory if doesn't exists
     }
     if (file_exists($source)) {
         // check if directory exists
         $files = scandir($source);
         // list files in directory
         $delete = [];
         foreach ($files as $file) {
             // in_array() = check for values in array
             if (in_array($file, ['.', '..'])) {
                 continue;
             }
             if (copy($source . $file, $destination . $file)) {
                 $delete[] = $source . $file;
                 //                $ad->images()->create([
                 //                    'customer_id' => Auth::customer()->get()->id,
                 //                    'advertisement_id' => $ad->id,
                 //                    'url' => url('/uploads/ads/' . $ad->id . '/' . $file)
                 //                ]);
                 $product->images()->create(['url' => url('/uploads/ads/' . $ad->id . '/' . $file)]);
             }
         }
         foreach ($delete as $file) {
             unlink($file);
             // delete file
         }
     }
     return response()->json('success');
 }
Ejemplo n.º 2
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     //        return response()->json($request->all());
     $category = Category::find($request->get('category_id'));
     if ($category->isDescendantOf(Category::find(1))) {
         // motors
         $motor = Motor::create($request->only('chassis_no', 'model', 'color', 'doors'));
         $globex = Globex::create($request->only('stock'));
         $motor->globexs()->save($globex);
     } else {
         $globex = Globex::create($request->only('stock'));
     }
     $product = Product::create($request->only(['title', 'description', 'brand', 'category_id', 'price']));
     $globex->product()->save($product);
     $files = Input::file('images');
     $dir = public_path() . '/uploads/products/' . $globex->id . '/';
     if (!File::exists($dir)) {
         mkdir($dir, 0777, true);
     }
     foreach ($files as $file) {
         if ($file != null) {
             $filename = sha1($file->getClientOriginalName() . time());
             $extension = $file->getClientOriginalExtension();
             $imgdata = ['product_id' => $product->id, 'url' => url('/uploads/products/' . $globex->id . '/' . $filename . '.' . $extension)];
             $product->images()->create($imgdata);
             $file->move($dir, $filename . '.' . $extension);
         }
     }
     return redirect()->back()->with('message', 'Created');
 }