![]() 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/Jobs/ |
<?php namespace Corals\Modules\Jobs; use Corals\Modules\Jobs\Facades\Candidates; use Corals\Modules\Jobs\Facades\Employers; use Corals\Modules\Jobs\Facades\Jobs; use Corals\Modules\Jobs\Hooks\Jobs as JobsHook; use Corals\Modules\Jobs\Models\Job; use Corals\Modules\Jobs\Notifications\JobApplicationSubmittedNotification; use Corals\Modules\Jobs\Notifications\JobApplicationSubmittedOfUserNotification; use Corals\Modules\Jobs\Providers\JobsAuthServiceProvider; use Corals\Modules\Jobs\Providers\JobsObserverServiceProvider; use Corals\Modules\Jobs\Providers\JobsRouteServiceProvider; use Corals\Modules\Utility\Facades\Utility; use Corals\Settings\Facades\Settings; use Corals\User\Communication\Facades\CoralsNotification; use Illuminate\Foundation\AliasLoader; use Illuminate\Support\ServiceProvider; class JobsServiceProvider extends ServiceProvider { protected $defer = true; /** * Bootstrap the application events. * * @return void */ public function boot() { // Load view $this->loadViewsFrom(__DIR__ . '/resources/views', 'Jobs'); // Load translation $this->loadTranslationsFrom(__DIR__ . '/resources/lang', 'Jobs'); // Load migrations // $this->loadMigrationsFrom(__DIR__ . '/database/migrations'); \Filters::add_filter('dashboard_content', [JobsHook::class, 'dashboard_content'], 8); \Filters::add_filter('registration_validation_rules', [JobsHook::class, 'registration_validation_rules'], 25); \Actions::add_action('user_registered', [JobsHook::class, 'create_employer'], 5); $this->registerCustomFieldsModels(); $this->addEvents(); $this->registerWidgets(); } /** * Register the service provider. * * @return void */ public function register() { $this->mergeConfigFrom(__DIR__ . '/config/jobs.php', 'jobs'); $this->app->register(JobsRouteServiceProvider::class); $this->app->register(JobsAuthServiceProvider::class); $this->app->register(JobsObserverServiceProvider::class); $this->app->booted(function () { $loader = AliasLoader::getInstance(); $loader->alias('Jobs', Jobs::class); $loader->alias('Candidates', Candidates::class); $loader->alias('Employers', Employers::class); }); Utility::addToUtilityModules('Jobs'); } protected function registerCustomFieldsModels() { Settings::addCustomFieldModel(Job::class); } protected function addEvents() { CoralsNotification::addEvent( 'notifications.jobs.job_application_submitted', 'Job Application Notification for Owner', JobApplicationSubmittedNotification::class, 'Jobs::job_application_submitted'); CoralsNotification::addEvent( 'notifications.jobs.job_application_status_changed', 'Job Application Notification for User', JobApplicationSubmittedOfUserNotification::class, 'Jobs::job_application_status_changed'); } public function registerWidgets() { \Shortcode::addWidget('AdminJobsCountEachCategory', \Corals\Modules\Jobs\Widgets\AdminJobsCountEachCategoryWidget::class); \Shortcode::addWidget('adminJobsCount', \Corals\Modules\Jobs\Widgets\AdminJobsCountWidget::class); \Shortcode::addWidget('JobsAdminCount', \Corals\Modules\Jobs\Widgets\JobsAdminCountWidget::class); } }