Exemplo n.º 1
0
 public function saveItem(Request $request)
 {
     $this->validate($request, ['title' => 'required', 'item_description' => 'required']);
     $item = new Items();
     $item->title = $request->get('title');
     $item->item_description = $request->get('item_description');
     $item->save();
     return redirect('/itemlist')->with('flash_notification.message', 'Successfully added your item')->with('flash_notification.level', 'success');
 }
Exemplo n.º 2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $data = new Items($request->all());
     $data->id = Items::newId();
     if (!Persons::find($data->user_id)) {
         return $this->error("Wrong Person#id");
     }
     if ($data->save()) {
         return $this->success($data);
     } else {
         return $this->error("Couldn't create new Person");
     }
 }
Exemplo n.º 3
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $spec = implode('-', $request->get('spec'));
     $item = new Items();
     $item->fill($request->all());
     $pieces = explode("-", $request->input('category'));
     $item->category_id = $pieces[1];
     $item->subcategory_id = $pieces[0];
     $item->spec = $spec;
     $slug = Helpers::makeSlug($request->input('title_geo'));
     $item->slug = $slug;
     $image = $request->file('main_image');
     $fileName = "";
     if ($image->isValid()) {
         $path = public_path() . '/uploads/item/';
         $fileName = str_random(32) . '.' . $image->getClientOriginalExtension();
         $image->move($path, $fileName);
     } else {
         App::abort(404);
     }
     $item->main_image = $fileName;
     $big_image = $request->file('big_image');
     $fileNameBig = "";
     if ($big_image->isValid()) {
         $path = public_path() . '/uploads/item/';
         $fileNameBig = str_random(32) . '.' . $big_image->getClientOriginalExtension();
         $big_image->move($path, $fileNameBig);
     } else {
         App::abort(404);
     }
     $item->main_image = $fileName;
     $item->big_image = $fileNameBig;
     $item->save();
     $item->ItemColors()->sync($request->color);
     $item->ItemSize()->sync($request->size);
     foreach ($request->file('images') as $p) {
         $fileName = "";
         if ($p->isValid()) {
             $path = public_path() . '/uploads/photos/' . $item->id . '/';
             $fileName = str_random(32) . '.' . $p->getClientOriginalExtension();
             $p->move($path, $fileName);
         } else {
             App::abort(404);
         }
     }
     return Redirect::route('admin.item.show');
 }
Exemplo n.º 4
0
 public function save(ItemFormRequest $request)
 {
     // подготовка изображений
     $url_img = $this->image_processing($request->file('preview'));
     $preview = !empty($url_img) ? implode(';', $url_img) : "";
     // создание, запись информации
     $item = new Items();
     $item->title = $request->title;
     $item->description = $request->description;
     $item->price = $request->price;
     $item->sub_categories_id = $request->subcat;
     $item->preview = $preview;
     $item->save();
     if (empty($request->parameter)) {
         return back()->with('message', 'Товар сохранен');
     }
     $out = array_combine($request->parameter, $request->value);
     foreach ($out as $param => $value) {
         $parameters = new Items_parameters();
         $parameters->parameters_id = $param;
         $parameters->items_id = $item->id;
         $parameters->value = $value;
         $parameters->save();
     }
     return back()->with('message', 'Товар сохранен');
 }
 /**
  * Insère un nouvel item dans la BDD
  *
  * @param Request $request
  * @return bool|mixed
  */
 public function create(Request $request)
 {
     $datas = $request->all();
     $manager = new ImageManager(['driver' => 'imagick']);
     // Création de l'Item
     $item = new Items();
     $item->user_id = Auth::user()->id;
     $item->category_id = Categories::where('slug', $datas['category'])->value('id');
     $item->name = trim($datas['name']);
     $item->description = trim($datas['description']);
     $item->price = $datas['price'];
     $item->date_start = $datas['date_start'];
     $item->date_end = $datas['date_end'];
     // Récupération de la photo envoyée par l'utilisateur
     $file = $request->file('photo');
     $filename = str_limit(str_replace(['/', '\\'], '', $file->getClientOriginalName()), 30) . str_random();
     $filename_thumb = $filename . '_thumb';
     // Sauvegarde de la photo
     $file->move(public_path('upload'), $filename . '.' . $file->getClientOriginalExtension());
     // On sauvegarde un lien relatif pour le lien de la photo, pour éviter un bordel monstre lors d'un
     // changement de nom de domaine.
     $item->photo = 'upload/' . $filename . '.jpg';
     // Là on peut utiliser le chemin absolu de l'image (/home/..../image.jpg)
     $filename = public_path('upload') . '/' . $filename;
     $filename_thumb = public_path('upload') . '/' . $filename_thumb;
     // Active l'entrelacement sur la photo envoyée par l'utilisateur et réduit la qualité
     $manager->make($filename . '.' . $file->getClientOriginalExtension())->interlace(true)->save($filename . '.jpg', 80);
     // Si par exemple l'utilisateur a envoyé un .png (ou un .JpG), alors on supprime l'image,
     // puisqu'on a déjà sauvegardé une version en .jpg
     if ($file->getClientOriginalExtension() !== 'jpg') {
         unlink($filename . '.' . $file->getClientOriginalExtension());
     }
     // Création de la miniature, de taille 300px * ratio px.
     $manager->make($filename . '.jpg')->resize(300, null, function ($constraint) {
         $constraint->aspectRatio();
     })->interlace(true)->save($filename_thumb . '.jpg');
     // Si on a bien réussi à sauvegarder l'Item, on renvoie l'id, pour une redirection sur la page de l'Item
     if ($item->save()) {
         return $item->id;
     }
     // Sinon il y a eu un problème. :< :< :<
     return false;
 }