name = $request->name; $product->added_by = $request->added_by; if(Auth::user()->user_type == 'seller'){ $product->user_id = Auth::user()->id; if(get_setting('product_approve_by_admin') == 1) { $product->approved = 0; } } else{ $product->user_id = \App\Models\User::where('user_type', 'admin')->first()->id; } $product->auction_product = 1; $product->category_id = $request->category_id; $product->brand_id = $request->brand_id; $product->barcode = $request->barcode; $product->starting_bid = $request->starting_bid; if (addon_is_activated('refund_request')) { if ($request->refundable != null) { $product->refundable = 1; } else { $product->refundable = 0; } } $product->photos = $request->photos; $product->thumbnail_img = $request->thumbnail_img; // $product->min_qty = 1; // $product->stock_visibility_state = ''; $tags = array(); if($request->tags[0] != null){ foreach (json_decode($request->tags[0]) as $key => $tag) { array_push($tags, $tag->value); } } $product->tags = implode(',', $tags); $product->description = $request->description; $product->video_provider = $request->video_provider; $product->video_link = $request->video_link; if ($request->auction_date_range != null) { $date_var = explode(" to ", $request->auction_date_range); $product->auction_start_date = strtotime($date_var[0]); $product->auction_end_date = strtotime($date_var[1]); } $product->shipping_type = $request->shipping_type; $product->est_shipping_days = $request->est_shipping_days; if (addon_is_activated('club_point')) { if($request->earn_point) { $product->earn_point = $request->earn_point; } } if ($request->has('shipping_type')) { if($request->shipping_type == 'free'){ $product->shipping_cost = 0; } elseif ($request->shipping_type == 'flat_rate') { $product->shipping_cost = $request->flat_shipping_cost; } elseif ($request->shipping_type == 'product_wise') { $product->shipping_cost = json_encode($request->shipping_cost); } } if ($request->has('is_quantity_multiplied')) { $product->is_quantity_multiplied = 1; } $product->meta_title = $request->meta_title; $product->meta_description = $request->meta_description; if($request->has('meta_img')){ $product->meta_img = $request->meta_img; } else { $product->meta_img = $product->thumbnail_img; } if($product->meta_title == null) { $product->meta_title = $product->name; } if($product->meta_description == null) { $product->meta_description = strip_tags($product->description); } if($product->meta_img == null) { $product->meta_img = $product->thumbnail_img; } if($request->hasFile('pdf')){ $product->pdf = $request->pdf->store('uploads/products/pdf'); } $product->slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->name)).'-'.Str::random(5); $product->colors = json_encode(array()); $product->attributes = json_encode(array()); $product->choice_options = json_encode(array(), JSON_UNESCAPED_UNICODE); if ($request->has('cash_on_delivery')) { $product->cash_on_delivery = 1; } if ($request->has('todays_deal')) { $product->todays_deal = 1; } $product->cash_on_delivery = 0; if ($request->cash_on_delivery) { $product->cash_on_delivery = 1; } $product->save(); //VAT & Tax if($request->tax_id) { foreach ($request->tax_id as $key => $val) { $product_tax = new ProductTax; $product_tax->tax_id = $val; $product_tax->product_id = $product->id; $product_tax->tax = $request->tax[$key]; $product_tax->tax_type = $request->tax_type[$key]; $product_tax->save(); } } //Generates the combinations of customer choice options $product_stock = new ProductStock; $product_stock->product_id = $product->id; $product_stock->variant = ''; $product_stock->price = 0; $product_stock->sku = $request->sku; $product_stock->qty = 1; $product_stock->save(); //combinations end $product->save(); // Product Translations $product_translation = ProductTranslation::firstOrNew(['lang' => env('DEFAULT_LANGUAGE'), 'product_id' => $product->id]); $product_translation->name = $request->name; $product_translation->unit = $request->unit; $product_translation->description = $request->description; $product_translation->save(); flash(translate('Product has been inserted successfully'))->success(); Artisan::call('view:clear'); Artisan::call('cache:clear'); } public function update(Request $request , $id){ $product = Product::findOrFail($id); $product->category_id = $request->category_id; $product->brand_id = $request->brand_id; $product->barcode = $request->barcode; $product->cash_on_delivery = 0; $product->is_quantity_multiplied = 0; if (addon_is_activated('refund_request')) { if ($request->refundable != null) { $product->refundable = 1; } else { $product->refundable = 0; } } if($request->lang == env("DEFAULT_LANGUAGE")){ $product->name = $request->name; $product->unit = $request->unit; $product->description = $request->description; $product->slug = strtolower($request->slug); } $product->photos = $request->photos; $product->thumbnail_img = $request->thumbnail_img; $tags = array(); if($request->tags[0] != null){ foreach (json_decode($request->tags[0]) as $key => $tag) { array_push($tags, $tag->value); } } $product->tags = implode(',', $tags); $product->video_provider = $request->video_provider; $product->video_link = $request->video_link; $product->starting_bid = $request->starting_bid; if ($request->auction_date_range != null) { $date_var = explode(" to ", $request->auction_date_range); $product->auction_start_date = strtotime($date_var[0]); $product->auction_end_date = strtotime( $date_var[1]); } $product->shipping_type = $request->shipping_type; $product->est_shipping_days = $request->est_shipping_days; if (addon_is_activated('club_point')) { if($request->earn_point) { $product->earn_point = $request->earn_point; } } if ($request->has('shipping_type')) { if($request->shipping_type == 'free'){ $product->shipping_cost = 0; } elseif ($request->shipping_type == 'flat_rate') { $product->shipping_cost = $request->flat_shipping_cost; } elseif ($request->shipping_type == 'product_wise') { $product->shipping_cost = json_encode($request->shipping_cost); } } if ($request->has('is_quantity_multiplied')) { $product->is_quantity_multiplied = 1; } if ($request->has('cash_on_delivery')) { $product->cash_on_delivery = 1; } $product->meta_title = $request->meta_title; $product->meta_description = $request->meta_description; $product->meta_img = $request->meta_img; if($product->meta_title == null) { $product->meta_title = $product->name; } if($product->meta_description == null) { $product->meta_description = strip_tags($product->description); } if($product->meta_img == null) { $product->meta_img = $product->thumbnail_img; } $product->pdf = $request->pdf; $product->colors = json_encode(array()); $product->attributes = json_encode(array()); $product->choice_options = json_encode(array(), JSON_UNESCAPED_UNICODE); $product->save(); //VAT & Tax if($request->tax_id) { ProductTax::where('product_id', $product->id)->delete(); foreach ($request->tax_id as $key => $val) { $product_tax = new ProductTax; $product_tax->tax_id = $val; $product_tax->product_id = $product->id; $product_tax->tax = $request->tax[$key]; $product_tax->tax_type = $request->tax_type[$key]; $product_tax->save(); } } // Product Translations $product_translation = ProductTranslation::firstOrNew(['lang' => $request->lang, 'product_id' => $product->id]); $product_translation->name = $request->name; $product_translation->unit = $request->unit; $product_translation->description = $request->description; $product_translation->save(); flash(translate('Product has been updated successfully'))->success(); Artisan::call('view:clear'); Artisan::call('cache:clear'); } public function destroy($id){ $product = Product::findOrFail($id); foreach ($product->product_translations as $key => $product_translations) { $product_translations->delete(); } foreach ($product->bids as $key => $bid) { $bid->delete(); } if(Product::destroy($id)){ Cart::where('product_id', $id)->delete(); flash(translate('Product has been deleted successfully'))->success(); Artisan::call('view:clear'); Artisan::call('cache:clear'); } else{ flash(translate('Something went wrong'))->error(); } } }