/**
* Register notification types.
*/
public function registerNotificationTypes()
{
$blueprints = ['Flarum\\Core\\Notification\\DiscussionRenamedBlueprint' => ['alert']];
$this->app->make('events')->fire(new ConfigureNotificationTypes($blueprints));
foreach ($blueprints as $blueprint => $enabled) {
Notification::setSubjectModel($type = $blueprint::getType(), $blueprint::getSubjectModel());
User::addPreference(User::getNotificationPreferenceKey($type, 'alert'), 'boolval', in_array('alert', $enabled));
if ((new ReflectionClass($blueprint))->implementsInterface('Flarum\\Core\\Notification\\MailableInterface')) {
User::addPreference(User::getNotificationPreferenceKey($type, 'email'), 'boolval', in_array('email', $enabled));
}
}
}