diff --git a/app/Notifications/Admin/UnknownUserLoginAttempt.php b/app/Notifications/Admin/UnknownUserLoginAttempt.php index d402830e2b..4632a06e7e 100644 --- a/app/Notifications/Admin/UnknownUserLoginAttempt.php +++ b/app/Notifications/Admin/UnknownUserLoginAttempt.php @@ -97,18 +97,6 @@ class UnknownUserLoginAttempt extends Notification public function toNtfy(OwnerNotifiable $notifiable): Message { $settings = ReturnsSettings::getSettings('ntfy', 'owner', null); - - // overrule config. - config(['ntfy-notification-channel.server' => $settings['ntfy_server']]); - config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]); - - if ($settings['ntfy_auth']) { - // overrule auth as well. - config(['ntfy-notification-channel.authentication.enabled' => true]); - config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]); - config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]); - } - $message = new Message(); $message->topic($settings['ntfy_topic']); $message->title((string) trans('email.unknown_user_subject')); diff --git a/app/Notifications/Admin/UserInvitation.php b/app/Notifications/Admin/UserInvitation.php index 5696f41247..761d410f4c 100644 --- a/app/Notifications/Admin/UserInvitation.php +++ b/app/Notifications/Admin/UserInvitation.php @@ -116,18 +116,6 @@ class UserInvitation extends Notification { Log::debug('Now in toNtfy() for UserInvitation'); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null); - - // overrule config. - config(['ntfy-notification-channel.server' => $settings['ntfy_server']]); - config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]); - - if ($settings['ntfy_auth']) { - // overrule auth as well. - config(['ntfy-notification-channel.authentication.enabled' => true]); - config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]); - config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]); - } - $message = new Message(); $message->topic($settings['ntfy_topic']); $message->title((string) trans('email.invitation_created_subject')); diff --git a/app/Notifications/Admin/UserRegistration.php b/app/Notifications/Admin/UserRegistration.php index 71606cb5ba..5745ca9e6d 100644 --- a/app/Notifications/Admin/UserRegistration.php +++ b/app/Notifications/Admin/UserRegistration.php @@ -110,18 +110,6 @@ class UserRegistration extends Notification { Log::debug('Now in toNtfy() for (Admin) UserRegistration'); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null); - - // overrule config. - config(['ntfy-notification-channel.server' => $settings['ntfy_server']]); - config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]); - - if ($settings['ntfy_auth']) { - // overrule auth as well. - config(['ntfy-notification-channel.authentication.enabled' => true]); - config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]); - config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]); - } - $message = new Message(); $message->topic($settings['ntfy_topic']); $message->title((string) trans('email.registered_subject_admin')); diff --git a/app/Notifications/Admin/VersionCheckResult.php b/app/Notifications/Admin/VersionCheckResult.php index a9a347e794..001c9c838f 100644 --- a/app/Notifications/Admin/VersionCheckResult.php +++ b/app/Notifications/Admin/VersionCheckResult.php @@ -115,18 +115,6 @@ class VersionCheckResult extends Notification { Log::debug('Now in toNtfy() for VersionCheckResult'); $settings = ReturnsSettings::getSettings('ntfy', 'owner', null); - - // overrule config. - config(['ntfy-notification-channel.server' => $settings['ntfy_server']]); - config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]); - - if ($settings['ntfy_auth']) { - // overrule auth as well. - config(['ntfy-notification-channel.authentication.enabled' => true]); - config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]); - config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]); - } - $message = new Message(); $message->topic($settings['ntfy_topic']); $message->title((string) trans('email.new_version_email_subject')); diff --git a/app/Notifications/ReturnsSettings.php b/app/Notifications/ReturnsSettings.php index 59f8d8b3fb..6dd2a365c6 100644 --- a/app/Notifications/ReturnsSettings.php +++ b/app/Notifications/ReturnsSettings.php @@ -65,6 +65,17 @@ class ReturnsSettings $settings['ntfy_pass'] = FireflyConfig::getEncrypted('ntfy_pass', '')->data; } + // overrule config. + config(['ntfy-notification-channel.server' => $settings['ntfy_server']]); + config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]); + + if ($settings['ntfy_auth']) { + // overrule auth as well. + config(['ntfy-notification-channel.authentication.enabled' => true]); + config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]); + config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]); + } + return $settings; } } diff --git a/app/Notifications/Security/DisabledMFANotification.php b/app/Notifications/Security/DisabledMFANotification.php index 96022b12c8..f0efecf0cb 100644 --- a/app/Notifications/Security/DisabledMFANotification.php +++ b/app/Notifications/Security/DisabledMFANotification.php @@ -25,12 +25,16 @@ declare(strict_types=1); namespace FireflyIII\Notifications\Security; use FireflyIII\Notifications\ReturnsAvailableChannels; +use FireflyIII\Notifications\ReturnsSettings; use FireflyIII\Support\Notifications\UrlValidator; use FireflyIII\User; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\SlackMessage; use Illuminate\Notifications\Notification; +use Illuminate\Support\Facades\Log; +use NotificationChannels\Pushover\PushoverMessage; +use Ntfy\Message; class DisabledMFANotification extends Notification { @@ -93,6 +97,24 @@ class DisabledMFANotification extends Notification return (new SlackMessage())->content($message); } + public function toPushover(User $notifiable): PushoverMessage + { + Log::debug('Now in (user) toPushover()'); + + return PushoverMessage::create((string) trans('email.disabled_mfa_slack', ['email' => $this->user->email])) + ->title((string)trans('email.disabled_mfa_subject')); + } + public function toNtfy(User $user): Message + { + $settings = ReturnsSettings::getSettings('ntfy', 'user', $user); + $message = new Message(); + $message->topic($settings['ntfy_topic']); + $message->title((string)trans('email.disabled_mfa_subject')); + $message->body((string) trans('email.disabled_mfa_slack', ['email' => $this->user->email])); + + return $message; + } + /** * Get the notification's delivery channels. * diff --git a/app/Notifications/Test/OwnerTestNotificationNtfy.php b/app/Notifications/Test/OwnerTestNotificationNtfy.php index 4f57590dc2..d06594d542 100644 --- a/app/Notifications/Test/OwnerTestNotificationNtfy.php +++ b/app/Notifications/Test/OwnerTestNotificationNtfy.php @@ -68,18 +68,6 @@ class OwnerTestNotificationNtfy extends Notification public function toNtfy(OwnerNotifiable $notifiable): Message { $settings = ReturnsSettings::getSettings('ntfy', 'owner', null); - - // overrule config. - config(['ntfy-notification-channel.server' => $settings['ntfy_server']]); - config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]); - - if ($settings['ntfy_auth']) { - // overrule auth as well. - config(['ntfy-notification-channel.authentication.enabled' => true]); - config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]); - config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]); - } - $message = new Message(); $message->topic($settings['ntfy_topic']); $message->title((string) trans('email.admin_test_subject')); diff --git a/app/Notifications/Test/UserTestNotificationNtfy.php b/app/Notifications/Test/UserTestNotificationNtfy.php index 15e31fdafd..73877acd4a 100644 --- a/app/Notifications/Test/UserTestNotificationNtfy.php +++ b/app/Notifications/Test/UserTestNotificationNtfy.php @@ -68,18 +68,6 @@ class UserTestNotificationNtfy extends Notification public function toNtfy(User $user): Message { $settings = ReturnsSettings::getSettings('ntfy', 'user', $user); - - // overrule config. - config(['ntfy-notification-channel.server' => $settings['ntfy_server']]); - config(['ntfy-notification-channel.topic' => $settings['ntfy_topic']]); - - if ($settings['ntfy_auth']) { - // overrule auth as well. - config(['ntfy-notification-channel.authentication.enabled' => true]); - config(['ntfy-notification-channel.authentication.username' => $settings['ntfy_user']]); - config(['ntfy-notification-channel.authentication.password' => $settings['ntfy_pass']]); - } - $message = new Message(); $message->topic($settings['ntfy_topic']); $message->title((string) trans('email.admin_test_subject'));