$mail->msgHTML(nl2br($body));
$mail->addAddress($email);
Mailer::send($mail);
Messages::addNotice('Check your email and follow instructions in letter.');
} catch (\Exception $e) {
Logger::log('error', $e->getMessage(), ['module' => 'users', 'controller' => 'change-email', 'userId' => $userId]);
throw new Exception('Unable to send email. Please contact administrator.');
}
// try back to index
Response::redirectTo('users', 'profile');
} catch (Exception $e) {
Messages::addError($e->getMessage());
$this->assign('email', $email);
} catch (AuthException $e) {
Messages::addError($e->getMessage());
$this->assign('email', $email);
}
} elseif ($token) {
// process activation
$actionRow = UsersActions\Table::findRowWhere(['code' => $token, 'userId' => $userId]);
if (!$actionRow) {
throw new Exception('Invalid token');
}
$params = $actionRow->getParams();
$user->email = $params['email'];
$user->save();
$actionRow->delete();
Messages::addSuccess('Email was updated');
Response::redirectTo('users', 'profile');
}
};