Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/job-board.corals.io/Corals/modules/Ecommerce/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/job-board.corals.io/Corals/modules/Ecommerce/Http/Controllers/ShopController.php
<?php

namespace Corals\Modules\Ecommerce\Http\Controllers;

use Corals\Foundation\Http\Controllers\BaseController;
use Corals\Modules\Ecommerce\Facades\Shop;
use Corals\Modules\Ecommerce\Models\Product;
use Illuminate\Http\Request;

class ShopController extends BaseController
{
    /**
     * CartController constructor.
     */
    public function __construct()
    {
        $this->title = 'Ecommerce::module.shop.title';
        $this->title_singular = 'Ecommerce::module.shop.title';

        parent::__construct();
    }

    /**
     * @param $permission
     */
    private function canAccess($permission)
    {
        if (!user()->hasPermissionTo($permission)) {
            abort(403);
        }
    }

    /**
     * @param Request $request
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
     */
    public function index(Request $request)
    {
        $this->canAccess('Ecommerce::shop.access');

        $grid_items = Shop::getProducts($request);

        $grid_item_view = 'Ecommerce::shop.grid_item';

        return view('Ecommerce::shop.grid')->with(compact('grid_item_view', 'grid_items'));
    }

    public function show(Request $request, $slug)
    {
        $product = Product::where('slug', $slug)->first();
        if (!$product) {
            abort(404);

        }
        $this->canAccess('Ecommerce::shop.access');

        $this->setViewSharedData(['title_singular' => trans('Corals::labels.show_title', ['title' => $product->name])]);

        view()->share('product', $product);

        return view('Ecommerce::shop.show')->with(compact('product'));
    }

    public function settings(Request $request)
    {
        $this->canAccess('Ecommerce::settings.access');

        $this->setViewSharedData(['title_singular' => 'eCommerce Settings']);

        $settings = config('ecommerce.settings');

        return view('Ecommerce::shop.settings')->with(compact('settings'));
    }

    public function saveSettings(Request $request)
    {
        try {
            $this->canAccess('Ecommerce::settings.access');

            $settings = $request->except('_token');

            foreach ($settings as $key => $value) {
                list($setting_key, $cast) = explode('|', $key);
                \Settings::set($setting_key, $value, 'Ecommerce', $cast);
            }

            flash(trans('Corals::messages.success.saved', ['item' => $this->title_singular]))->success();
        } catch (\Exception $exception) {
            log_exception($exception, 'eCommerceSettings', 'savedSettings');
        }

        return redirectTo('e-commerce/settings');
    }
}

Spamworldpro Mini