Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Метод отправляет подарок из матрицы геймификации указанному фанату
- *
- * @param GamificationMatrixGift $gift
- * @param Fan $fan
- */
- public function sendGift(GamificationMatrixGift $gift, Fan $fan)
- {
- // $this храниит текущий объект fanGamificationProgress
- // Начинаем сбор данных для их последующего включения в шаблон письма
- $data = [];
- $data["name"] = $fan->firstName;
- $data["matchName"] = $this->match ? $this->match->name : null;
- switch ($gift->giftType) {
- case 1:
- // TODO Пока пропускаем
- //PromocodeSettings::model()->linkPromocodeToFan($fan);
- // Send mail тут по шаблону подарок
- break;
- case 2:
- $promocode = PromocodeSettings::model()->linkPromocodeToFan($fan);
- // Собираем данные для шаблона письма "Промокод"
- $data["promocode"] = $promocode->promocode;
- $data["giftName"] = $gift->giftName;
- // И отправляем
- $this->sendMail($fan->email, $data, 'gamificationPromocodeTemplate');
- $this->promocodeId = $promocode->id;
- $this->save();
- break;
- case 3:
- $action = Action::model()->findByPk($gift->actionId);
- ActionFan::model()->linkFansToAction($action, [$fan->id]);
- // Собираем данные для шаблона письма "Акция"
- $data["actionName"] = $action->name;
- $data["actionDescription"] = $action->description;
- // И отправляем
- $this->sendMail($fan->email, $data, 'gamificationActionTemplate');
- $this->actionId = $action->id;
- $this->save();
- break;
- case 4:
- $gameficationSettings = $this->gamification;
- $email = $gameficationSettings->email;
- $data['linkToFan'] = FanHelper::getFullName($fan);
- $data["giftName"] = $gift->giftName;
- $this->sendMail($email, $data, 'gamificationAdminNotificationTemplate');
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement