added email change strategies
This commit is contained in:
@ -1,17 +1,43 @@
|
||||
<?php
|
||||
namespace Da\User\Strategy;
|
||||
|
||||
use Da\User\Contracts\StrategyInterface;
|
||||
use Da\User\Contracts\MailChangeStrategyInterface;
|
||||
use Da\User\Factory\MailFactory;
|
||||
use Da\User\Factory\TokenFactory;
|
||||
use Da\User\Form\SettingsForm;
|
||||
use Da\User\Traits\ContainerTrait;
|
||||
use Yii;
|
||||
|
||||
/**
|
||||
*
|
||||
* DefaultEmailChangeStrategy.php
|
||||
*
|
||||
* Date: 3/12/16
|
||||
* Time: 16:22
|
||||
* @author Antonio Ramirez <hola@2amigos.us>
|
||||
*/
|
||||
class DefaultEmailChangeStrategy implements StrategyInterface
|
||||
class DefaultEmailChangeStrategy implements MailChangeStrategyInterface
|
||||
{
|
||||
use ContainerTrait;
|
||||
|
||||
protected $form;
|
||||
|
||||
public function __construct(SettingsForm $form)
|
||||
{
|
||||
$this->form = $form;
|
||||
|
||||
}
|
||||
|
||||
public function run()
|
||||
{
|
||||
$this->form->getUser()->unconfirmed_email = $this->form->email;
|
||||
|
||||
$token = TokenFactory::makeConfirmNewMailToken($this->form->getUser()->id);
|
||||
|
||||
$mailService = MailFactory::makeReconfirmationMailerService($this->form->getUser(), $token);
|
||||
|
||||
if ($mailService->run()) {
|
||||
Yii::$app
|
||||
->session
|
||||
->setFlash('info', Yii::t('user', 'A confirmation message has been sent to your new email address'));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user