1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-19 16:01:34 +02:00
invoiceninja/app/Listeners/HandleUserSettingsChanged.php
2019-05-23 21:17:47 +03:00

55 lines
1.3 KiB
PHP

<?php
namespace App\Listeners;
use App\Events\UserSettingsChanged;
use App\Ninja\Mailers\UserMailer;
use App\Ninja\Repositories\AccountRepository;
use Auth;
use Session;
/**
* Class HandleUserSettingsChanged.
*/
class HandleUserSettingsChanged
{
/**
* Create the event handler.
*
* @param AccountRepository $accountRepo
* @param UserMailer $userMailer
*/
public function __construct(AccountRepository $accountRepo, UserMailer $userMailer)
{
$this->accountRepo = $accountRepo;
$this->userMailer = $userMailer;
}
/**
* Handle the event.
*
* @param UserSettingsChanged $event
*
* @return void
*/
public function handle(UserSettingsChanged $event)
{
if (! Auth::check()) {
return;
}
$account = Auth::user()->account;
$account->loadLocalizationSettings();
$users = $this->accountRepo->loadAccounts(Auth::user()->id);
Session::put(SESSION_USER_ACCOUNTS, $users);
if ($event->user && $event->user->confirmed && $event->user->isEmailBeingChanged()) {
$this->userMailer->sendConfirmation($event->user);
$this->userMailer->sendEmailChanged($event->user);
Session::flash('warning', trans('texts.verify_email'));
}
}
}