Пример #1
0
 /**
  * Bootstrap the application events.
  *
  * @return void
  */
 public function boot()
 {
     User::setHasher($this->app->make('hash'));
     User::setValidator($this->app->make('validator'));
     $events = $this->app->make('events');
     $events->listen(RegisterUserPreferences::class, function (RegisterUserPreferences $event) {
         $event->register('discloseOnline', 'boolval', true);
         $event->register('indexProfile', 'boolval', true);
         $event->register('locale');
     });
     $events->listen(ModelAllow::class, function (ModelAllow $event) {
         if ($event->model instanceof User) {
             if ($event->actor->hasPermission('user.' . $event->action)) {
                 return true;
             }
         }
     });
     $events->subscribe('Flarum\\Core\\Users\\Listeners\\UserMetadataUpdater');
     $events->subscribe('Flarum\\Core\\Users\\Listeners\\EmailConfirmationMailer');
 }