Example #1
0
 public function duplicate_prod()
 {
     $prodId = Input::get('id');
     //save products basic fields
     $prods = Product::where('id', '=', $prodId)->get()->toArray();
     $cats = [];
     $cats_prod = Product::find($prods[0]['id'])->categories()->get();
     //   $catalogImages = [];
     $catalogImages = Product::find($prods[0]['id'])->catalogimgs()->get();
     //   dd($catalogImages);
     unset($prods[0]['id'], $prods[0]['created_at'], $prods[0]['updated_at']);
     $prods[0]['product'] = "duplicate-" . $prods[0]['product'];
     $prods[0]['url_key'] = "duplicate-" . $prods[0]['url_key'];
     $saveDupProd = Product::create($prods[0]);
     //sync categories
     $saveDupProd->categories()->sync($cats_prod);
     //sync images
     foreach ($catalogImages as $catImg) {
         $saveImg = new CatalogImage();
         $saveImg->filename = $catImg->filename;
         $saveImg->alt_text = $catImg->alt_text;
         $saveImg->image_mode = $catImg->image_mode;
         $saveImg->sort_order = $catImg->sort_order;
         $saveImg->catalog_id = $saveDupProd->id;
         $saveImg->save();
     }
     //  $saveDupProd->catalogimgs()->sync($catalogImages);
     //varients prods of products
     $chkProdVar = Product::where('parent_prod_id', '=', $prodId)->get()->toArray();
     $prods_varients = [];
     if (!empty($chkProdVar)) {
         foreach ($chkProdVar as $prodVar) {
             unset($prodVar['id'], $prodVar['created_at'], $prodVar['updated_at']);
             $prodVar['product'] = "duplicate-" . $prodVar['product'];
             $prodVar['parent_prod_id'] = $saveDupProd->id;
             array_push($prods_varients, $prodVar);
         }
     }
     foreach ($prods_varients as $prod_var) {
         $saveDupProdVar = Product::create($prod_var);
         $attributes = AttributeSet::find($saveDupProdVar->attributeset['id'])->attributes;
         $saveDupProdVar->attributes()->sync($attributes);
         //    DB::update(DB::raw("update has_options set attr_val = '$opt' where attr_id = $op and prod_id = " . $newConfigProduct->id));
     }
     Session::flash("successDupProd", "Duplicate Product created successfully");
     return redirect()->route("admin.products.view");
 }
Example #2
0
 public function saveImg()
 {
     // dd(Product::find(Input::get('prod_id'))->catalogimgs()->where("image_type", "=", 1)->get());
     //   dd(Input::get('id_img'));
     foreach (Input::file('images') as $key => $value) {
         if ($value != null) {
             $destinationPath = public_path() . '/admin/uploads/catalog/products/';
             $fileName = "prod-" . $key . date("YmdHis") . "." . $value->getClientOriginalExtension();
             $upload_success = $value->move($destinationPath, $fileName);
         } else {
             $fileName = null;
         }
         $saveImgs = CatalogImage::findOrNew(Input::get('id_img')[$key]);
         $saveImgs->catalog_id = Input::get('prod_id');
         $saveImgs->filename = is_null($fileName) ? $saveImgs->filename : $fileName;
         $saveImgs->image_type = 1;
         $saveImgs->alt_text = Input::get('alt_text')[$key];
         $saveImgs->sort_order = Input::get('sort_order')[$key];
         $saveImgs->save();
     }
     $prod = Product::find(Input::get('prod_id'));
     $attrs = AttributeSet::find($prod->attributeset['id'])->attributes->toArray();
     if (!empty(Input::get('return_url'))) {
         $nextView = redirect()->to(Input::get('return_url'));
     } else {
         //
         if ($prod->prod_type == 2) {
             $nextView = redirect()->route("admin.products.updateComboProds", ['id' => $prod->id]);
         } elseif ($prod->prod_type == 3) {
             $nextView = redirect()->route("admin.products.ConfigProdAttrs", ['id' => $prod->id]);
         } else {
             $nextView = redirect()->route("admin.products.updateUpsellRelatedProds", ['id' => $prod->id]);
         }
     }
     return $nextView;
 }