public function postAdd(ProductRequest $request_product)
 {
     $product = new Product();
     $file_name = $request_product->file('fileimages')->getClientOriginalName();
     $product->name = $request_product->txtten;
     $product->alias = str_slug($request_product->txtten);
     $product->price = $request_product->txtgia;
     $product->pricesale = $request_product->txtgiasale;
     $product->intro = $request_product->txtndhienthi;
     $product->content = $request_product->txtndchitiet;
     $product->image = $file_name;
     $product->keywork = $request_product->txtkeyword;
     $product->discription = $request_product->txtmota;
     $product->user_id = Auth::user()->id;
     $product->cate_id = $request_product->parentid;
     $request_product->file('fileimages')->move('public/upload/', $file_name);
     $product->save();
     $product_id = $product->id;
     if (Input::hasFile('fileimageschitiet')) {
         foreach (Input::file('fileimageschitiet') as $file) {
             $product_img = new ProductImage();
             if (isset($file)) {
                 $product_img->image = $file->getClientOriginalName();
                 $product_img->product_id = $product_id;
                 $file->move('public/upload/images_detail/', $file->getClientOriginalName());
                 $product_img->save();
             }
         }
     }
     return redirect()->route('admin.product.getList')->with(['flash_level' => 'success', 'flash_message' => 'Thêm sản phẩm thành công']);
 }
 public function productedit(ProductRequest $request)
 {
     $imageName = date('\\YY\\Mm\\Dd\\THi') . str_random(3) . str_random(4) . '.' . $request->file('image')->getClientOriginalExtension();
     $request->file('image')->move(public_path() . '/uploads/', $imageName);
     $product = Products(array('name' => $request->get('name'), 'brand_id' => $request->get('brand_id'), 'hot' => $request->get('hot'), 'price' => $request->get('price'), 'description' => $request->get('description'), 'image' => url('uploads/' . $imageName)));
     $product->save();
     return \Redirect::route('products');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(ProductRequest $request)
 {
     $product = Product::create($request->all());
     $thumb = $request->file('thumb');
     $banner = $request->file('banner');
     $product->saveThumbs($thumb, $banner);
     $product->save();
     return redirect('/admin/products');
 }
 public function store(Requests\ProductRequest $request)
 {
     if ($request->hasFile('photo')) {
         $photoName = $request->file('photo')->getClientOriginalName();
         $request->file('photo')->move(public_path() . '/uploads', $photoName);
         $data = $request->all();
         $data['photoName'] = '/uploads/' . $photoName;
         $request->replace($data);
     }
     $this->productRep->store($request->all(), $request->categories);
     return redirect('/product');
 }
예제 #5
0
 /**
  * Store a newly created Product in database.
  *
  * @return Response
  */
 public function store(ProductRequest $request)
 {
     /**
      * Take all inputs except image, store image in seperate variable
      *
      * @var Array
      */
     $input = $request->except('image');
     $image = $request->file('image');
     if ($image != null) {
         // Picture name will be same as SKU
         $name = $input['sku'];
         // Extenstion of original picture
         $extension = '.' . $image->getClientOriginalExtension();
         // Set paths for full image and thumbnail
         $imagePath = 'img/' . $name . $extension;
         $thumbnailPath = 'img/thumbs/' . $name . $extension;
         // Save original picture
         \Image::make($image->getRealPath())->save(public_path($imagePath));
         // Save resized thumbnail
         \Image::make($image->getRealPath())->resize(300, null, function ($constraint) {
             $constraint->aspectRatio();
         })->save(public_path($thumbnailPath));
     } else {
         // Set default 'No image avaliable' images
         $imagePath = self::DEFAULT_IMG;
         $thumbnailPath = self::DEFAULT_IMG;
     }
     // Create Product model and save pictures
     $product = Product::create($input);
     $product->image = $imagePath;
     $product->image_thumb = $thumbnailPath;
     $product->save();
     return redirect(route('AdminProductIndex'));
 }
예제 #6
0
 public function update($id, ProductRequest $request)
 {
     $product = Product::findOrFail($id);
     if ($request->has('is_locked')) {
         $product->is_locked = 1;
     } else {
         $product->is_locked = 0;
     }
     if ($request->hasFile('image_name')) {
         $imageName = $product->id . '.' . $request->file('image_name')->getClientOriginalExtension();
         $request->file('image_name')->move('images', $imageName);
         $product->image_name = $imageName;
     }
     $product->update($request->all());
     return redirect('products');
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function create(Requests\ProductRequest $request)
 {
     $user = \Auth::user();
     $productType = 2;
     $project = new Project();
     $project->creator = $user->id;
     $project->feedback_types_id = $productType;
     $project->name = $request->name;
     $project->description = $request->description;
     $myStr = str_random(10);
     $imageName = $request->name . '_' . $myStr . '_' . $user->id . '.' . $request->file('photo')->getClientOriginalExtension();
     $imageName = $string = str_replace(' ', '', $imageName);
     $imagePath = '/upload/images/' . $imageName;
     $request->file('photo')->move(base_path() . '/public/upload/images/', $imageName);
     $project->photo = $imagePath;
     if ($project->save()) {
         return redirect('vendor/my-projects');
     }
 }
예제 #8
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(ProductRequest $request, Product $product)
 {
     $data = $request->all();
     if ($request->hasFile('img')) {
         $file = $request->file('img');
         $fileName = time() . '-' . $file->getClientOriginalName();
         $file->move('uploads', $fileName);
         $data['image'] = $fileName;
     }
     $product->update($data);
     return redirect('product/' . $product->id);
 }
예제 #9
0
 public function update($id, ProductRequest $request)
 {
     $product = Product::findOrFail($id);
     if ($request->file('image')) {
         if ($product->image) {
             $old_image = public_path('product/images/' . $product['image']);
             File::delete($old_image);
         }
         $product->update($request->all());
         $new_image = $request->file('image');
         $filename = $product->id . time() . '.' . $new_image->getClientOriginalExtension();
         $path = public_path('product/images/' . $filename);
         $product->update(['image' => $filename]);
         Image::make($new_image->getRealPath())->widen(100, function ($constraint) {
             $constraint->upsize();
         })->save($path);
     } else {
         $product->update($request->all());
     }
     return redirect('products');
 }
예제 #10
0
 public function store(ProductRequest $request)
 {
     $product = new Product();
     if ($request->hasFile('image')) {
         $file = $request->file('image');
         $Iname = $file->getClientOriginalName();
         $filename = str_random(6) . '_' . $Iname;
         $destination = base_path() . '/public/images/';
         $file->move($destination, $filename);
         $product->image = $filename;
     }
     $product->user_id = new MongoId($this->user->id);
     $product->create($request->all());
     \Flash::success('your Product has been created');
     return redirect('products');
 }
예제 #11
0
 /**
  * @param Requests\ProductRequest $request
  * @param $id
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(ProductRequest $request, $id)
 {
     $product = Product::find($id);
     $tags = !empty($request->input('tag_id')) ? $request->input('tag_id') : [];
     $product->tags()->sync($tags);
     if ($request->input('deletePicture') == 'true') {
         $deletePicture = $this->deletePicture($product);
     }
     $im = $request->file('picture');
     if (!is_null($im)) {
         if (empty($deletePicture)) {
             $this->deletePicture($product);
         }
         $this->upload($im, $product->id);
     }
     $product->update($request->all());
     return redirect('product')->with(['message' => 'success update']);
 }
예제 #12
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Requests\ProductRequest $request, $id)
 {
     $tags = $request->input('tags');
     $product = Product::find($id);
     if (!empty($tags)) {
         //            $product->tags()->detach();
         //            $product->tags()->attach($tags);
         // equivalent à
         $product->tags()->sync($tags);
     } else {
         $product->tags()->detach();
         // s'il n y a pas de tags ou tags décochés
     }
     // gestion image et
     $picture = $product->picture;
     if ($request->input('delete_img') == 1) {
         if (!is_null($picture)) {
             Storage::delete($picture->uri);
             // supprime le fichier physiquement
             $picture->delete();
             // supprime la picture en BDD dans la table pictures
         }
     }
     if (!is_null($request->file('thumbnail'))) {
         // on remet ce bout de code ci-dessous au cas ou boutton supprimer non coché et nouvelle image uploadée
         if (!is_null($picture)) {
             Storage::delete($picture->uri);
             // supprime le fichier physiquement
             $picture->delete();
             // supprime la picture en BDD dans la table pictures
         }
         $im = $request->file('thumbnail');
         // extension de l'image
         $ext = $im->getClientOriginalExtension();
         $uri = str_random(12) . '.' . $ext;
         //        dd($im->move(env('UPLOAD_PATH', './uploads'), $uri));
         $im->move(env('UPLOAD_PATH', './uploads'), $uri);
         // Exception renvoyée par le framework si problem
         # Bien veiller aux fillables de Picture pour que ça marche ci-dessous
         # et !! si on a deja 'move' notre image, getSize ne marche plus, il faut getClientSize
         Picture::create(['uri' => $uri, 'size' => $im->getClientSize(), 'type' => $ext, 'product_id' => $product->id]);
     }
     $product->update($request->all());
     return redirect('product')->with(['alert' => 'done', 'message' => 'update produit']);
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(ProductRequest $request, $id)
 {
     $product = Product::find($id);
     $product->name = $request->name;
     $product->price = $request->price;
     $product->description = $request->description;
     $product->category_id = $request->category_id;
     $product->resluggify();
     $product->save();
     //Upload file
     if ($request->hasFile('file')) {
         $files = $request->file('file');
         foreach ($files as $file) {
             $rules = array('file' => 'mimes:png,jpeg,jpg');
             //'required|mimes:png,gif,jpeg,txt,pdf,doc'
             $validator = Validator::make(array('file' => $file), $rules);
             if ($validator->passes()) {
                 $destinationPath = 'uploads';
                 $filename = time() . '-' . $file->getClientOriginalName();
                 $path = $destinationPath . '/' . $filename;
                 $success = $file->move($destinationPath, $filename);
                 if ($success) {
                     $thumbPath = 'uploads/thumbs/';
                     $thumb1 = Image::make($path)->resize(270, 180)->save($thumbPath . $filename);
                     $photo = new Photo();
                     $photo->title = $filename;
                     $photo->product_id = $id;
                     $photo->save();
                 }
             }
         }
     }
     return redirect()->route('admin.product.edit', $product->slug);
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(ProductRequest $product_request, $id)
 {
     $product = Product::find($id);
     $product->product_name = $product_request->name;
     $product->cate_id = $product_request->cate_id;
     $product->brand_id = $product_request->brand_id;
     $product->qty = $product_request->qty;
     $product->price = $product_request->price;
     $product->discount = $product_request->discount;
     $product->description = $product_request->description;
     $product->show = $product_request->show;
     $product->feature = $product_request->feature;
     $product->slug = $product_request->slug;
     if ($product_request->file('illustration')) {
         $file_name = $product_request->file('illustration')->getClientOriginalName();
         if ($product->image_name != $file_name) {
             File::delete(public_path() . '/upload/' . $product->image_name);
             $product->image_name = $file_name;
             $product_request->file('illustration')->move('upload', $file_name);
         }
     }
     $product->save();
     $product->size()->sync($product_request->size);
     $product->color()->sync($product_request->color);
     $product_id = $product->id;
     if (Input::file('images')[0] != null) {
         foreach (Input::file('images') as $file) {
             $data = $file->getClientOriginalName();
             $image = new Image();
             $image->image_name = $data;
             $image->product_id = $product_id;
             $file->move('upload/images', $data);
             $image->save();
         }
     }
     return redirect()->route('admin.product.index')->with('message', 'Edit complete');
 }
예제 #15
0
 public function ProductPostEdit(ProductRequest $request, $id)
 {
     $name = $request->get("name");
     $alias = str_slug($name);
     $cate = $request->get("cate");
     $brand = $request->get("brand");
     $price = $request->get("price");
     $size = $request->get("size");
     $img = $request->file("img");
     //new img
     $currentImg = $request->get("currentImg");
     //current img
     $imgDel = $request->get("imgDel");
     //img del
     $detail = $request->get("detail");
     $status = $request->get("status");
     /** Luu thong tin hinh cu**/
     $img1 = "";
     $img2 = "";
     $img3 = "";
     $img4 = "";
     if (isset($currentImg[0])) {
         $img1 = $currentImg[0];
     }
     if (isset($currentImg[1])) {
         $img2 = $currentImg[1];
     }
     if (isset($currentImg[2])) {
         $img3 = $currentImg[2];
     }
     if (isset($currentImg[3])) {
         $img4 = $currentImg[3];
     }
     /****Them hinh moi****/
     for ($i = 1; $i <= count($img); $i++) {
         switch ($i) {
             case 1:
                 if (!is_null($img[$i - 1])) {
                     $img1 = date("jnyGis") . $img[$i - 1]->getClientOriginalName();
                     $img[$i - 1]->move("public/products/", $img1);
                 }
                 break;
             case 2:
                 if (!is_null($img[$i - 1])) {
                     $img2 = date("jnyGis") . $img[$i - 1]->getClientOriginalName();
                     $img[$i - 1]->move("public/products", $img2);
                 }
                 break;
             case 3:
                 if (!is_null($img[$i - 1])) {
                     $img3 = date("jnyGis") . $img[$i - 1]->getClientOriginalName();
                     $img[$i - 1]->move("public/products", $img3);
                 }
                 break;
             case 4:
                 if (!is_null($img[$i - 1])) {
                     $img4 = date("jnyGis") . $img[$i - 1]->getClientOriginalName();
                     $img[$i - 1]->move("public/products", $img4);
                 }
                 break;
         }
     }
     /**Xoa hinh cu**/
     $this->deleteImage($imgDel);
     /***************/
     $product = Products::find($id);
     $product->name = $name;
     $product->alias = $alias;
     $product->cate_id = $cate;
     $product->brand = $brand;
     $product->description = $detail;
     $product->price = $price;
     $product->size = $size;
     $product->status = $status;
     $product->img1 = $img1;
     $product->img2 = $img2;
     $product->img3 = $img3;
     $product->img4 = $img4;
     $result = $product->save();
     if ($result) {
         $result = "Cập nhật sản phẩm thành công";
     } else {
         $result = "Chưa cập nhật được";
     }
     return redirect()->route("admin.product.list")->with("result", $result);
 }
예제 #16
0
 public function postCreate(ProductRequest $request, Product $product)
 {
     try {
         $input = $request->all();
         $name = $input['name'];
         $price = $input['price'];
         $ingredients = $input['ingredients'];
         $category = $input['category'];
         $type = $input['type'];
         $company = $input['company'];
         $brand = $input['brand'];
         $product->name = $name;
         $product->price = $price;
         $product->colour = !empty($input['colour']) ? $input['colour'] : '';
         $product->description = !empty($input['description']) ? $input['description'] : '';
         $product->ingredients = $ingredients;
         $product->how_to_use = !empty($input['how_to_use']) ? $input['how_to_use'] : '';
         $product->beauty_segment = !empty($input['beauty_segment']) ? $input['beauty_segment'] : '';
         $product->category = $category;
         $product->type = $type;
         $product->company = $company;
         $product->brand = $brand;
         $product->sub_brand = !empty($input['sub_brand']) ? $input['sub_brand'] : '';
         $product->brand_logo = !empty($input['brand_logo']) ? $this->uploadImage($request->file('brand_logo'), 'brand_logo') : '';
         $product->primary_packaging = !empty($input['primary_packaging']) ? $this->uploadImage($request->file('primary_packaging'), 'primary_packaging') : '';
         $product->secondary_packaging = !empty($input['secondary_packaging']) ? $this->uploadImage($request->file('secondary_packaging'), 'secondary_packaging') : '';
         $product->save();
         $message = 'Create Success';
         $msg_type = 'success';
     } catch (Exception $e) {
         $message = 'Create Error';
         $msg_type = 'danger';
         // return response()->json((['error'=>$e->getMessage()]), 422);
     }
     return redirect()->back()->with(['message' => $message, 'type' => $msg_type]);
 }
예제 #17
0
 public function postAdd(ProductRequest $request)
 {
     $product = new Product();
     $product->cate_id = $request->sltParent;
     $product->name = $request->txtName;
     $product->alias = changeTitle($request->txtAlias);
     if ($product->alias == "") {
         $product->alias = changeTitle(preg_replace(array('/\\s{2,}/', '/[\\t\\n]/'), ' ', $product->name));
     }
     $product->price = $request->txtPrice;
     $product->intro = $request->txtIntro;
     $product->order = $request->txtOrder;
     $file = $request->file('fImages')->getClientOriginalName();
     $product->image = $file;
     $request->file('fImages')->move('resources/upload/images/', $file);
     // $product->parent_id = $request->txtParent;
     $product->content = htmlentities($request->txtContent);
     $product->keywords = $request->txtKeywords;
     $product->description = $request->txtDescription;
     $product->user_id = Auth::user()->id;
     $product->save();
     $product_id = $product->id;
     if (Input::hasFile('fProductDetail')) {
         foreach (Input::file('fProductDetail') as $file) {
             # code...
             $product_img = new ProductImage();
             if (isset($file)) {
                 $product_img->image = $file->getClientOriginalName();
                 $product_img->product_id = $product_id;
                 $file->move('resources/upload/detail/', $file->getClientOriginalName());
                 $product_img->save();
             }
         }
     }
     return redirect()->route('admin.product.list')->with('success', 'Posted completely!');
 }
예제 #18
0
 /**
  * Update Product.
  *
  * @param ProductRequest $request
  *
  * @return Response
  *
  */
 public function update(ProductRequest $request, $id)
 {
     $product = Product::findOrFail($id);
     $data = $request->all();
     $uploadFile = $request->file('image');
     $imageName = sprintf('%s-%s', $product->id, $uploadFile->getClientOriginalName());
     $filePath = base_path() . '/public/images/catalog/';
     if (!file_exists($filePath . $imageName)) {
         $request->file('image')->move($filePath, $imageName);
     }
     $data['image'] = $imageName;
     $product->update($data);
     flash('Product Updated');
     return redirect('/admin/products');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(ProductRequest $request, $id)
 {
     $activity = Activity::findOrFail($id);
     $activity->update($request->all());
     $thumb = $request->file('thumb');
     $banner = $request->file('banner');
     $activity->saveThumbs($thumb, $banner);
     $activity->save();
     return redirect($request->input('redirect_to'));
 }
예제 #20
0
 public function store(ProductRequest $request)
 {
     DB::transaction(function () use($request) {
         $model = new Product();
         autoAssignDataToProperty($model, $request->all());
         $model->save();
         $product_id = $model->id;
         $images = new Images();
         if ($request->hasFile('images')) {
             $listImage = array();
             $files = $request->file('images');
             foreach ($files as $file) {
                 $name = $file->getClientOriginalName();
                 $extension = $file->getClientOriginalExtension();
                 $picture = time() . $name . '.' . $extension;
                 $file->move('images/product', $picture);
                 $src = 'images/product/' . $picture;
                 $data = array('productID' => $product_id, 'imageName' => $name, 'imageSrc' => $src);
                 autoAssignDataToProperty($images, $data);
                 $listImage[] = $data;
             }
             $images->insert($listImage);
         }
     });
     DB::commit();
     return redirect()->action('Admin\\ProductController@index')->withSuccess(Lang::get('messages.create_success'));
 }
예제 #21
0
 /**
  * Upload the image of a product
  *
  * @param Request $request
  * @param $product
  */
 private function upload(ProductRequest $request, $product)
 {
     $img = $request->file('thumbnail');
     // récupérer le nom de l'image
     $uri = $img->getClientOriginalName();
     // récupérer l'extension de l'image
     $ext = $img->getClientOriginalExtension();
     // exception renvoyée par le framework si problème
     $img->move(env('UPLOAD_PATH', './uploads'), $uri);
     // insérer une image dans la table pictures
     Picture::create(['product_id' => $product->id, 'title' => $product->name, 'uri' => $uri, 'size' => $img->getClientSize(), 'type' => $ext]);
 }
예제 #22
0
 /**
  * Display Generator Page
  *
  * @param ProductRequest|Request $request
  * @return \Illuminate\View\View
  */
 public function post(ProductRequest $request)
 {
     $this->dispatch(new CreateProductJob($request->all(), $request->file('image'), $request->file('poster')));
     return redirect()->route('product.index')->withSuccess('Product was created Successfully');
 }