HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: /home/armgroup/libs/app/Http/Controllers/Frontend/CheckoutController.php
<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Controller;
use App\Models\Product;
use Artesaos\SEOTools\Facades\SEOTools;
use Gloudemans\Shoppingcart\Facades\Cart;

class CheckoutController extends Controller
{
    public function __construct()
    {
        $this->middleware(['auth', 'isActive']);
    }

    public function index()
    {
        if (! checkSaleStatus()) {
            $this->doneMessage('در حال حاضر فروش محصولات غیرفعال می‌باشد، لطفا بعدا امتحان کنید.', 'warning');

            return redirect()->route('index');
        }

        $carts = Cart::content();

        if (! session()->has('address_id') || count($carts) == 0) {
            return redirect()->route('addresses.index');
        }

        $address = auth()->user()->addresses()->where('address_id', session('address_id'))->with(['city', 'city.province'])->first();
        if (! $address) {
            session()->forget('address_id');

            return redirect()->route('addresses.index');
        }

        if ($address->city->courier_status == 0 && $address->city->express_status == 0) {
            $this->doneMessage('متاسفانه در حال حاضر امکان ارسال سفارش به شهر شما نمی‌باشد', 'error');

            return redirect()->route('cart.index');
        }

        $total = (int) Cart::subtotal(0, '', '');
        $products = Product::whereIn('id', $carts->pluck('id')->toArray())->get();

        SEOTools::setTitle('تسویه حساب');
        SEOTools::setDescription('تسویه حساب');

        return view('frontend.checkout.index', compact('carts', 'total', 'address', 'products'));
    }
}