Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.47 KB | None | 0 0
  1.     /**
  2.      * Метод отправляет подарок из матрицы геймификации указанному фанату
  3.      *
  4.      * @param GamificationMatrixGift $gift
  5.      * @param Fan $fan
  6.      */
  7.  
  8.     public function sendGift(GamificationMatrixGift $gift, Fan $fan)
  9.     {
  10.  
  11.         // $this храниит текущий объект fanGamificationProgress
  12.  
  13.         // Начинаем сбор данных для их последующего включения в шаблон письма
  14.         $data = [];
  15.         $data["name"] = $fan->firstName;
  16.         $data["matchName"] = $this->match ? $this->match->name : null;
  17.  
  18.         switch ($gift->giftType) {
  19.             case 1:
  20.                 // TODO Пока пропускаем
  21.                 //PromocodeSettings::model()->linkPromocodeToFan($fan);
  22.                 // Send mail тут по шаблону подарок
  23.                 break;
  24.             case 2:
  25.                 $promocode = PromocodeSettings::model()->linkPromocodeToFan($fan);
  26.  
  27.                 // Собираем данные для шаблона письма "Промокод"
  28.                 $data["promocode"] = $promocode->promocode;
  29.                 $data["giftName"] = $gift->giftName;
  30.                 // И отправляем
  31.                 $this->sendMail($fan->email, $data, 'gamificationPromocodeTemplate');
  32.  
  33.                 $this->promocodeId = $promocode->id;
  34.                 $this->save();
  35.                 break;
  36.             case 3:
  37.                 $action = Action::model()->findByPk($gift->actionId);
  38.                 ActionFan::model()->linkFansToAction($action, [$fan->id]);
  39.  
  40.                 // Собираем данные для шаблона письма "Акция"
  41.                 $data["actionName"] = $action->name;
  42.                 $data["actionDescription"] = $action->description;
  43.  
  44.                 // И отправляем
  45.                 $this->sendMail($fan->email, $data, 'gamificationActionTemplate');
  46.  
  47.                 $this->actionId = $action->id;
  48.                 $this->save();
  49.                 break;
  50.             case 4:
  51.                 $gameficationSettings = $this->gamification;
  52.                 $email = $gameficationSettings->email;
  53.                 $data['linkToFan'] = FanHelper::getFullName($fan);
  54.                 $data["giftName"] = $gift->giftName;
  55.  
  56.                 $this->sendMail($email, $data, 'gamificationAdminNotificationTemplate');
  57.                 break;
  58.         }
  59.  
  60.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement