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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

namespace Corals\Modules\Ecommerce;

use Corals\Modules\Ecommerce\Classes\ShoppingCart as ShoppingCartClass;
use Corals\Modules\Ecommerce\Facades\Ecommerce as EcommerceFacade;
use Corals\Modules\Ecommerce\Facades\OrderManager;
use Corals\Modules\Ecommerce\Facades\Shipping;
use Corals\Modules\Ecommerce\Facades\Shop;
use Corals\Modules\Ecommerce\Facades\ShoppingCart;
use Corals\Modules\Ecommerce\Hooks\Ecommerce;
use Corals\Modules\Ecommerce\Models\Attribute;
use Corals\Modules\Ecommerce\Models\Brand;
use Corals\Modules\Ecommerce\Models\Category;
use Corals\Modules\Ecommerce\Models\Coupon;
use Corals\Modules\Ecommerce\Models\Product;
use Corals\Modules\Ecommerce\Models\SKU;
use Corals\Modules\Ecommerce\Models\Tag;
use Corals\Modules\Ecommerce\Notifications\OrderReceivedNotification;
use Corals\Modules\Ecommerce\Notifications\OrderUpdatedNotification;
use Corals\Modules\Ecommerce\Providers\EcommerceAuthServiceProvider;
use Corals\Modules\Ecommerce\Providers\EcommerceObserverServiceProvider;
use Corals\Modules\Ecommerce\Providers\EcommerceRouteServiceProvider;
use Corals\Modules\Ecommerce\Notifications\ImportStatusNotification;
use Corals\Settings\Facades\Settings;
use Corals\User\Communication\Facades\CoralsNotification;
use Illuminate\Foundation\AliasLoader;
use Illuminate\Support\ServiceProvider;

class EcommerceServiceProvider extends ServiceProvider
{
    protected $defer = true;

    /**
     * Bootstrap the application events.
     *
     * @return void
     */
    public function boot()
    {
        // Load view
        $this->loadViewsFrom(__DIR__ . '/resources/views', 'Ecommerce');

        // Load translation
        $this->loadTranslationsFrom(__DIR__ . '/resources/lang', 'Ecommerce');

        // Load migrations
        //$this->loadMigrationsFrom(__DIR__ . '/database/migrations');

        $this->registerHooks();
        $this->registerWidgets();
        $this->addEvents();
        $this->registerCustomFieldsModels();
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        $this->mergeConfigFrom(__DIR__ . '/config/ecommerce.php', 'ecommerce');
        $this->mergeConfigFrom(__DIR__ . '/config/shoppingcart.php', 'shoppingcart');


        $this->app->register(EcommerceRouteServiceProvider::class);
        $this->app->register(EcommerceAuthServiceProvider::class);
        $this->app->register(EcommerceObserverServiceProvider::class);


        $this->app->singleton(ShoppingCartClass::SERVICE, function ($app) {
            return new ShoppingCartClass($app['session'], $app['events'], $app['auth']);
        });

        //register alias instead of adding it to config/app.php
        $this->app->booted(function () {
            $loader = AliasLoader::getInstance();
            $loader->alias('ShoppingCart', ShoppingCart::class);
            $loader->alias('Ecommerce', EcommerceFacade::class);
            $loader->alias('OrderManager', OrderManager::class);
            $loader->alias('Shop', Shop::class);
            $loader->alias('Shipping', Shipping::class);
        });
    }

    public function registerHooks()
    {
        \Actions::add_action('show_navbar', [Ecommerce::class, 'show_cart_icon'], 11);
        \Actions::add_action('user_profile_tabs', [Ecommerce::class, 'show_profile_tabs_items'], 11);
        \Actions::add_action('user_profile_tabs_content', [Ecommerce::class, 'show_profile_tabs_content'], 11);
        \Filters::add_filter('dashboard_content', [Ecommerce::class, 'dashboard_content'], 8);
    }

    public function registerWidgets()
    {
        \Shortcode::addWidget('orders', \Corals\Modules\Ecommerce\Widgets\OrdersWidget::class);
        \Shortcode::addWidget('processing_orders', \Corals\Modules\Ecommerce\Widgets\ProcessingOrdersWidget::class);
        \Shortcode::addWidget('pending_orders', \Corals\Modules\Ecommerce\Widgets\PendingOrdersWidget::class);
        \Shortcode::addWidget('cancelled_orders', \Corals\Modules\Ecommerce\Widgets\CancelledOrdersWidget::class);
        \Shortcode::addWidget('products', \Corals\Modules\Ecommerce\Widgets\ProductsWidget::class);
        \Shortcode::addWidget('coupons', \Corals\Modules\Ecommerce\Widgets\CouponsWidget::class);
        \Shortcode::addWidget('product_categories', \Corals\Modules\Ecommerce\Widgets\ProductCategoriesWidget::class);
        \Shortcode::addWidget('brand_ratio', \Corals\Modules\Ecommerce\Widgets\BrandRatioWidget::class);

        \Shortcode::addWidget('my_orders', \Corals\Modules\Ecommerce\Widgets\MyOrdersWidget::class);
        \Shortcode::addWidget('my_wishlist', \Corals\Modules\Ecommerce\Widgets\MyWishlistWidget::class);
        \Shortcode::addWidget('my_downloads', \Corals\Modules\Ecommerce\Widgets\MyDownloadsWidget::class);
        \Shortcode::addWidget('my_private_pages', \Corals\Modules\Ecommerce\Widgets\MyPrivatePagesWidget::class);
        \Shortcode::addWidget('store_revenue', \Corals\Modules\Ecommerce\Widgets\StoreRevenueWidget::class);
    }

    protected function registerCustomFieldsModels()
    {
        Settings::addCustomFieldModel(Product::class, 'Product (Ecommerce)');
        Settings::addCustomFieldModel(SKU::class);
        Settings::addCustomFieldModel(Coupon::class);
        Settings::addCustomFieldModel(\Corals\Modules\Ecommerce\Models\Shipping::class);
        Settings::addCustomFieldModel(Tag::class);
        Settings::addCustomFieldModel(Attribute::class);
        Settings::addCustomFieldModel(Category::class);
        Settings::addCustomFieldModel(Brand::class);
    }

    protected function addEvents()
    {
        CoralsNotification::addEvent(
            'notifications.e_commerce.order.received',
            'Ecommerce Order Received',
            OrderReceivedNotification::class);

        CoralsNotification::addEvent(
            'notifications.e_commerce.order.updated',
            'Order Updated',
            OrderUpdatedNotification::class);

        CoralsNotification::addEvent(
            'notifications.ecommerce.import_status',
            'Ecommerce Products Import Status',
            ImportStatusNotification::class);
    }
}

Spamworldpro Mini