| Server IP : 104.21.26.206 / Your IP : 216.73.216.227 [ Web Server : Apache System : Linux frog 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web13 ( 5017) PHP Version : 8.3.31 Disable Function : NONE Domains : 41 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/clients/client12/web13/web/ahelos/app/Http/Controllers/Frontend/ |
Upload File : |
<?php
namespace App\Http\Controllers\Frontend;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\{Cart, Product};
use Auth;
use LaravelLocalization;
use Illuminate\Support\Facades\Cookie;
class CartController extends Controller
{
public function store(Request $request)
{
$product = Product::find(intval($request->product_id));
if (is_null($product)) {
$response['code'] = 'error';
$response['text'] = '<div class="alert alert-danger mt-2">Несъществуващ продукт!</div>';
return response()->json($response);
}
for($i = 0; $i < $request->qty; $i++){
$data = [
'token' => Cookie::get('cartToken'),
'user_id' => Auth::id(),
'product_id' => $product->id,
'qty' => 1,
'price' => $product->last_price,
'price_old' => $product->price_old,
'ip' => $request->ip(),
'language' => LaravelLocalization::getCurrentLocale()
];
Cart::create($data);
}
$cart_products = Cart::where('token', Cookie::get('cartToken'))
->with('product')
->get();
$view = view('layouts.frontend.partials.cart_items', compact('cart_products'))->render();
$response['code'] = 'success';
$response['text'] = '<div class="alert alert-success mt-2"><i class="fas fa-check"></i> Продуктът е добавен в количката</div>';
$response['cart_view'] = $view;
$response['cart_count'] = $cart_products->count();
$response['cart_sum'] = number_format($cart_products->sum('price'), 2);
return response()->json($response);
}
public function destroy($id)
{
$cart = Cart::where('id', $id)->where('token', Cookie::get('cartToken'))->first();
$cart->delete();
$cart_products = Cart::where('token', Cookie::get('cartToken'))
->with('product')
->get();
$view = view('layouts.frontend.partials.cart_items', compact('cart_products'))->render();
$response['cart_view'] = $view;
$response['cart_count'] = $cart_products->count();
$response['cart_sum'] = number_format($cart_products->sum('price'), 2);
return response()->json($response);
}
}