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'); }
/** * 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"); } }
/** * 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'); }
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; }