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/Reservation/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

namespace Corals\Modules\Reservation;

use Corals\Modules\Reservation\Notifications\ReservationCancelledNotification;
use Corals\Modules\Reservation\Notifications\ReservationConfirmedNotification;
use Corals\Modules\Reservation\Facades\ServiceSchedule;
use Corals\Modules\Reservation\Facades\RatesFacade;
use Corals\Modules\Reservation\Facades\ReservationFacade;
use Corals\Modules\Reservation\Models\Reservation;
use Corals\Modules\Reservation\Models\Service;
use Corals\Modules\Reservation\Providers\ReservationAuthServiceProvider;
use Corals\Modules\Reservation\Providers\ReservationObserverServiceProvider;
use Corals\Modules\Reservation\Providers\ReservationRouteServiceProvider;
use Corals\Modules\Reservation\Widgets\DailyReservationsWidget;
use Corals\Modules\Reservation\Widgets\ThisWeekReservationsByStatusWidget;
use Corals\Modules\Reservation\Widgets\TopServicesCategoriesWidget;
use Corals\Settings\Facades\Settings;
use Corals\User\Communication\Facades\CoralsNotification;
use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Foundation\AliasLoader;
use Illuminate\Support\ServiceProvider;

class ReservationServiceProvider extends ServiceProvider
{
    protected $defer = true;

    /**
     * Bootstrap the application events.
     *
     * @return void
     */

    public function boot()
    {
        // Load view
        $this->loadViewsFrom(__DIR__ . '/resources/views', 'Reservation');

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

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

        $this->registerMorphMaps();
        $this->registerCustomFieldsModels();
        $this->registerWidgets();

        $this->addEvents();
    }

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

        $this->app->register(ReservationRouteServiceProvider::class);
        $this->app->register(ReservationAuthServiceProvider::class);
        $this->app->register(ReservationObserverServiceProvider::class);

        $this->app->booted(function () {
            $loader = AliasLoader::getInstance();
            $loader->alias('ReservationFacade', ReservationFacade::class);
            $loader->alias('RatesFacade', RatesFacade::class);
            $loader->alias('ServiceSchedule', ServiceSchedule::class);
        });
    }

    protected function registerCustomFieldsModels()
    {
        Settings::addCustomFieldModel(getMorphAlias(Reservation::class));
        Settings::addCustomFieldModel(getMorphAlias(Service::class));
    }

    protected function registerMorphMaps()
    {
        Relation::morphMap([
            'Reservation' => Reservation::class,
            'ResService' => Service::class,
        ]);
    }

    /**
     *
     */
    protected function addEvents(): void
    {
        CoralsNotification::addEvent(
            'notifications.reservation.reservation_confirmed',
            'Reservation Confirmed',
            ReservationConfirmedNotification::class
        );

        CoralsNotification::addEvent(
            'notifications.reservation.reservation_cancelled',
            'Reservation Cancelled',
            ReservationCancelledNotification::class
        );
    }

    public function registerWidgets()
    {
        \Shortcode::addWidget('top_services_categories', TopServicesCategoriesWidget::class);
        \Shortcode::addWidget('daily_reservations', DailyReservationsWidget::class);
        \Shortcode::addWidget('this_week_reservations_by_status', ThisWeekReservationsByStatusWidget::class);
    }
}

Spamworldpro Mini