sender; if (!$user || !$user->email) { try { self::sendTelegram($user, self::errorMessage()); } catch (Exception $e) { } return; } $userMeta = new UserCustomer(); $auth = Yii::$app->authManager; if ($user->type == UserHelper::TYPE_ADMIN) { $userMeta = new UserAdmin(); } elseif ($user->type == UserHelper::TYPE_EMPLOYEE) { $userMeta = new UserEmployee(); } elseif ($user->type == UserHelper::TYPE_EMPLOYEE) { $userMeta = new UserEmployee(); } $authRole = $auth->getRole($user->role); $auth->assign($authRole, $user->getId()); $userMeta->first_name = $user->email; $userMeta->link('user', $user); $verifyLink = Yii::$app->urlManager->createAbsoluteUrl(['/verify-email', 'token' => $user->verification_token]); if(!YII_ENV_PROD) { Yii::$app->telegram->sendMessage(Yii::$app->params['telegram']['accountExpirationChatId'], "Ссылка для верификации (test): " . $verifyLink); } try { self::sendTelegram($user, self::successMessage($user)); } catch (Exception $e) { //todo mock } } } static private function sendEmail($email): bool { // todo mock return true; } static private function sendTelegram(User $user, $message) { Yii::$app->telegram->sendMessage(Yii::$app->params['telegram']['accountExpirationChatId'], $message); } static private function errorMessage(): string { return Yii::t('user', 'Ошибка при создании пользователя'); } static private function successMessage(User $user): string { return Yii::t('user', 'Новый аккаунт {role} создан: {email}', [ 'role' => UserHelper::roleNameList($user->role), 'email' => $user->email, ]); } }