예제 #1
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // Suppression préalable des fichiers de upload par l'utilisation de la variable storage définie à l'aide de l'instruction public_path('upload') du fichier de configuration config\filesystem.php)
     $files = Storage::allFiles();
     //retroune un tableau des images de storage
     foreach ($files as $file) {
         Storage::delete($file);
     }
     //Supprimer toutes les lignes de la talble Pictures
     //        DB::table('pictures')->
     // Récupération d'un faker opétationnel
     // $faker = Faker\Factory::create();
     $products = Product::all();
     foreach ($products as $product) {
         // Stokage de l'image et récupération de l'uri
         $uri = str_random(15) . '_370x235.jpg';
         Storage::put($uri, file_get_contents('http://lorempixel.com/people/370/325/'));
         Picture::create(['product_id' => $product->id, 'uri' => $uri, 'title' => $this->faker->name]);
     }
     //        DB::table('pictures')->insert(
     //            [
     //                [
     //                    'product_id'  => '2' ,
     //                    'uri'         => $uri
     //                ],
     //            ]
     //        );
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     //
     Picture::create($request->all());
     //return $request -> all();
     return redirect('picture');
 }
 public function update(Request $request, $id)
 {
     $this->validate($request, ['name' => 'required|string', 'abstract' => 'required|max:255', 'content' => 'max:255', 'price' => 'required|numeric', 'quantity' => 'numeric', 'published_at' => 'in:true', 'status' => 'in:opened,closed', 'thumbnail' => 'image|max:5000']);
     $product = Product::find($id);
     if (!empty($request->input('tags'))) {
         $product->tags()->sync($request->input('tags'));
     } else {
         $product->tags()->detach();
     }
     if ($request->input('delete') == 'true') {
         if (!is_null($product->picture)) {
             Storage::disk('local')->delete($product->picture->uri);
             $product->picture->delete();
         }
     }
     if (!is_null($request->file('thumbnail'))) {
         $im = $request->file('thumbnail');
         $ext = $im->getClientOriginalExtension();
         $uri = str_random(12) . '.' . $ext;
         $im->move(env('UPLOAD_PATH', './uploads'), $uri);
         Picture::create(['uri' => $uri, 'type' => $ext, 'size' => $im->getClientSize(), 'product_id' => $product->id, 'title' => $product->name]);
     }
     $product->update($request->all());
     return redirect('product')->with(['message' => 'Success']);
 }
예제 #4
0
 public function store(Request $request)
 {
     $input = $request->all();
     $picture = Picture::create(['name' => $input['background_image_name'], 'url' => 'cover']);
     $project = Publish::create(['user_id' => Auth::user()->id, 'category_id' => $input['category_id'], 'picture_id' => $picture->id, 'is_active' => 1, 'type' => 'project', 'title' => $input['title'], 'desc' => $input['desc'], 'content' => $input['content'], 'url' => $input['url']]);
     mkdir(base_path() . '/public/assets/images/projects/' . $project->id, 0777);
     $file = base_path() . '/public/assets/images/projects/' . $project->id . '/cover.jpg';
     $img = Image::make($input['background_image']);
     $img->save($file);
     $tools = explode('_', $input['tags']);
     if ($tools[0] != '') {
         foreach ($tools as $tool) {
             $tool = Tool::create(['term' => $tool]);
             PublishTool::create(['publish_id' => $project->id, 'tool_id' => $tool->id]);
         }
     }
     for ($i = 0; $i < 6; $i++) {
         if (isset($input['image_' . $i])) {
             $unique_name = md5(microtime());
             $picture = Picture::create(['name' => $input['image_name_' . $i], 'url' => $unique_name]);
             PublishPicture::create(['publish_id' => $project->id, 'picture_id' => $picture->id]);
             $file = base_path() . '/public/assets/images/projects/' . $project->id . '/' . $unique_name . '.jpg';
             $img = Image::make($input['image_' . $i]);
             $img->save($file);
         }
     }
     return redirect()->route('projects');
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create()
 {
     $newPicture = Picture::create(['name' => 'pictures', 'image' => 'no_image.png', 'latitude' => 21.0289428, 'longitude' => 105.8512668, 'user_id' => 1, 'category_id' => 1]);
     $newPicture->user_id = 1;
     $newPicture->category_id = 1;
     $newPicture->save();
     dd('ok');
 }
예제 #6
0
 static function createpicture(Request $request, $id)
 {
     $img = $request->file('thumbnail');
     $ext = $img->getClientOriginalExtension();
     $uri = str_random(12) . '.' . $ext;
     $img->move(env('UPLOAD_PATH', './uploads'), $uri);
     Picture::create(['uri' => $uri, 'size' => $img->getClientSize(), 'type' => $ext, 'product_id' => $id]);
 }
예제 #7
0
 public static function createPicture($attr, $image, $user_id, $entry_id)
 {
     //creating Pictures entry into db
     $newPicture = $attr;
     unset($newPicture->image);
     $newPicture['trip_entry_id'] = $entry_id;
     $pic = Picture::create($newPicture);
     $pic->saveImage($image, $user_id);
     return $pic;
 }
예제 #8
0
 public function store(Request $request)
 {
     $input = $request->all();
     $picture = Picture::create(['name' => $input['background_image_name'], 'url' => 'cover']);
     $article = Publish::create(['user_id' => Auth::user()->id, 'category_id' => $input['category_id'], 'picture_id' => $picture->id, 'is_active' => 1, 'type' => 'article', 'title' => $input['title'], 'desc' => $input['desc'], 'content' => $input['content']]);
     mkdir(base_path() . '/public/assets/images/articles/' . $article->id, 0777);
     $file = base_path() . '/public/assets/images/articles/' . $article->id . '/cover.jpg';
     $img = Image::make($input['background_image']);
     $img->save($file);
     return redirect()->route('articles');
 }
 public function run()
 {
     $files = Storage::allFiles();
     foreach ($files as $file) {
         Storage::disk('local')->delete($file);
     }
     $products = Product::all();
     foreach ($products as $product) {
         $uri = str_random(12) . '_370x235.jpg';
         Storage::put($uri, file_get_contents('http://lorempixel.com/futurama/370/235/'));
         Picture::create(['product_id' => $product->id, 'uri' => $uri, 'title' => $this->faker->name]);
     }
 }
예제 #10
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     //        Eloquent::unguard();
     DB::table('pictures')->delete();
     DB::statement("ALTER TABLE pictures AUTO_INCREMENT=1");
     $files = Storage::allFiles();
     foreach ($files as $file) {
         Storage::delete($file);
     }
     $products = Product::all();
     foreach ($products as $product) {
         $uri = str_random(12) . '_370x235.jpg';
         Storage::put($uri, file_get_contents('http://lorempixel.com/futurama/370/235'));
         Picture::create(['product_id' => $product->id, 'uri' => $uri, 'title' => $this->facker->name, 'type' => 'jpg', 'size' => 200]);
     }
 }
예제 #11
0
 public function run()
 {
     $files = Storage::allFiles();
     foreach ($files as $file) {
         Storage::delete($file);
         //sert a vider le dossier upload si on relance un refresh
         //pour éviter de stocker 15 images + 15 images ect...
     }
     $products = Product::all();
     //recupere tous les produits precedement creer dans un tableau
     foreach ($products as $product) {
         $uri = str_random(12) . '_370x235.jpg';
         //str_random fait un chaine de caractere de 12
         Storage::put($uri, file_get_contents('http://lorempixel.com/futurama/370/235/'));
         Picture::create(['product_id' => $product->id, 'uri' => $uri, 'title' => $this->faker->name]);
     }
 }
예제 #12
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     //        Eloquent::unguard();
     DB::table('pictures')->delete();
     DB::statement("ALTER TABLE avatars AUTO_INCREMENT=1");
     $dirUploads = public_path(env('UPLOAD_PICTURES', 'uploads'));
     $files = File::allFiles($dirUploads);
     foreach ($files as $file) {
         File::delete($file);
     }
     $products = Product::all();
     foreach ($products as $product) {
         $uri = str_random(12) . '_370x235.jpg';
         $fileName = file_get_contents('http://lorempixel.com/futurama/370/235');
         $pathDirectory = $dirUploads . DIRECTORY_SEPARATOR . $uri;
         FILE::put($pathDirectory, $fileName);
         $mime = mime_content_type($dirUploads . DIRECTORY_SEPARATOR . $uri);
         Picture::create(['product_id' => $product->id, 'uri' => $uri, 'title' => $this->facker->name, 'mime' => $mime, 'size' => 200]);
     }
 }
예제 #13
0
 public function image($request, $product)
 {
     if ($request->input('supImag') == 'true') {
         Storage::delete($product->picture->uri);
         $product->picture->delete();
     }
     if ($request->file('thumnail')) {
         if ($product->picture) {
             Storage::delete($product->picture->uri);
             $product->picture->delete();
         }
         $name = $request->input('name');
         $im = $request->file('thumnail');
         $ext = $im->getClientOriginalExtension();
         $num_prod = $product->id;
         $num_prod = intval($num_prod);
         $uri = str_random(12) . '.' . $ext;
         $im->move(env('UPLOAD_PATH', './uploads'), $uri);
         Picture::create(['product_id' => $num_prod, 'size' => $im->getClientSize(), 'uri' => $uri, 'type' => $ext, 'title' => $name]);
     }
 }
예제 #14
0
 /**
  * @param $im
  * @param $productId
  */
 private function upload($im, $productId)
 {
     $ext = $im->getClientOriginalExtension();
     $uri = str_random(12) . '.' . $ext;
     Picture::create(['uri' => $uri, 'size' => $im->getSize(), 'type' => $ext, 'mime' => $im->getClientMimeType(), 'product_id' => $productId]);
     $im->move(env('UPLOAD_PATH', './uploads'), $uri);
 }
예제 #15
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     //        validate à faire
     $product = Product::find($id);
     if (!empty($request->input('tags'))) {
         //            $product->tags()->detach();
         //            $product->tags()->attach($request->input('tags'));
         //la méthode suivante est équivalente aux 2 précédentes lignes
         $product->tags()->sync($request->input('tags'));
     } else {
         $product->tags()->detach();
     }
     //        todo ajouter un champ title pour l'image
     $img = $request->file('thumbnail');
     if (!is_null($img)) {
         $ext = $img->getClientOriginalExtension();
         $uri = $img->getClientOriginalName();
         $size = $img->getSize();
         $img->move(env('UPLOAD_PATH', './upload'), $uri);
         if (!is_null($product->picture)) {
             Storage::delete($product->picture->uri);
             $product->picture->delete();
         }
         Picture::create(['product_id' => $product->id, 'uri' => $uri, 'size' => $size, 'type' => $ext]);
     } elseif (!is_null($request->input('delImage'))) {
         if (!is_null($product->picture)) {
             Storage::delete($product->picture->uri);
             $product->picture->delete();
         }
     }
     $product->update($request->all());
     return view('admin/message', ['title' => 'Change product', 'message' => 'Product updated', 'typeMessage' => 'success', 'uri' => 'admin/product']);
 }
예제 #16
0
 public function AddImage($request, $product)
 {
     $img = $request->file('image');
     $ext = $img->getClientOriginalExtension();
     $picture = Picture::create(['filename' => str_slug(str_random(rand(20, 30))) . '.' . $ext, 'size' => $img->getSize(), 'type' => $ext]);
     \Input::file('image')->move(IMG_PATH_FRONT, $picture->filename);
     $product->picture()->associate($picture->id);
     $product->save();
 }
 public function update(Request $request, $id)
 {
     $validator = Validator::make($request->all(), array('name' => "required", 'price' => "required|numeric", 'thumbnail' => 'image|max:3000'));
     if ($validator->fails()) {
         return back()->withInput()->withErrors($validator);
     }
     $product = Product::find($id);
     if (!empty($request->input('tags'))) {
         $product->tags()->sync($request->input('tags'));
     } else {
         $product->tags()->detach();
     }
     if ($request->input('remove') == 'true') {
         $product = Product::find($id);
         $picture = $product->picture;
         if (!is_null($picture)) {
             Storage::disk('local')->delete($picture->uri);
             $picture->delete();
         }
     }
     if (!is_null($request->file('thumbnail'))) {
         $im = $request->file('thumbnail');
         $ext = $im->getClientOriginalExtension();
         $uri = str_random(12) . '.' . $ext;
         $im->move(env('UPLOAD_PATH', './uploads'), $uri);
         Picture::create(['uri' => $uri, 'type' => $ext, 'size' => $im->getClientSize(), 'product_id' => $product->id, 'title' => $product->name]);
     }
     $product->update($request->all());
     return redirect('product')->with(['updateproduct' => 'Les modifications sur le produit ont bien été enregistrées.', 'alert' => 'success']);
 }
예제 #18
0
 public function update(Request $request, $id)
 {
     $product = Product::find($id);
     if (!empty($request->input('tags'))) {
         $product->tags()->sync($request->input('tags'));
     } else {
         $product->tags()->detach();
     }
     //gestion sup image
     if ($request->input('delete_picture') == 'true') {
         if (!is_null($product->picture)) {
             Storage::delete($product->picture->uri);
             $product->picture->delete();
         }
     }
     //gestion de la modification image
     if (!is_null($request->file('thumbnail'))) {
         if (!is_null($product->picture)) {
             Storage::delete($product->picture->uri);
             $product->picture->delete();
         }
         $im = $request->file('thumbnail');
         $ext = $im->getClientOriginalExtension();
         $uri = str_random(12) . '.' . $ext;
         $picture = Picture::create(['uri' => $uri, 'type' => $ext, 'size' => $im->getClientSize(), 'product_id' => $product->id]);
         $request->file('thumbnail')->move(env('UPLOAD_PATH', './uploads'), $picture->uri);
     }
     $product->update($request->all());
     return redirect('product')->with(['message' => 'success']);
 }
 public function storePicture(Request $request, $id)
 {
     $gallery = Gallery::findOrFail($id);
     if (!$request->hasFile('image')) {
         return redirect(route('admin.galleries.addPicture', $gallery))->with('error', 'Veuillez choisir une image');
     }
     $date = date('Y-m-d-H-i-s');
     if ($request->hasFile('image') && $request->file('image')->move(base_path() . '/public/images/galleries/' . $gallery->id, $date . '.' . $request->file('image')->getClientOriginalExtension())) {
         $request->merge(['picture' => $date . '.' . $request->file('image')->getClientOriginalExtension()]);
         $request->merge(['gallery_id' => $gallery->id]);
         Picture::create($request->all());
         return redirect(route('admin.galleries.editPictures', $gallery))->with('success', 'L\'image a bien été uploadée');
     }
     return redirect(route('admin.galleries.addPicture', $gallery))->with('error', 'Une erreur est survenue lors de l\'upload de l\'image. Veuillez réessayer');
 }
예제 #20
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']);
 }
예제 #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]);
 }