if ($userEvent->getErrors()) {
return $userEvent->getErrors();
+ } else {
+ $userBonus = UsersBonus::find()->where(['phone' => $phone, 'tip_sale' => 'memorable300'])->one();
+ if ($userBonus) {
+ return;
+ }
+ $userEvents = UsersEvents::find()->where(['phone' => $phone])->all();
+ if (count($userEvents) == 5) {
+ $maxInd = 6;
+ for ($i = 0; $i < 5; $i++) {
+ $d = date("Y-m-d", strtotime("+$i days", time()));
+ $dd = date("d", strtotime($d));
+ $dm = date("m", strtotime($d));
+ if (!(+$userEvents[$i]->date_day == +$dd && +$userEvents[$i]->date_month == +$dm)) {
+ $maxInd = $i;
+ break;
+ }
+ }
+ $bonusStart = date("Y-m-d 08:00:00", strtotime("+" . $maxInd . " days", time()));
+ $usersBonus = new UsersBonus;
+ $usersBonus->date = date('Y-m-d H:i:s');
+ $usersBonus->tip = 'plus';
+ $usersBonus->tip_sale = 'memorable300';
+ $usersBonus->phone = "" . $phone;
+ $usersBonus->name = "Приветственный бонус за указание 5 памятных дат.";
+ $usersBonus->store_id = 0;
+ $usersBonus->site_id = 0;
+ $usersBonus->referal_id = 0;
+ $usersBonus->admin_id = 0;
+ $usersBonus->price = 0;
+ $usersBonus->price_skidka = 0;
+ $usersBonus->bonus = 300;
+ $usersBonus->store_id_1c = "-";
+ $usersBonus->seller_id_1c = "-";
+ $usersBonus->date_start = date('Y-m-d 08:00:00', strtotime('+0 day', strtotime($bonusStart)));
+ $usersBonus->date_end = date('Y-m-d H:i:s', strtotime('+365 days', strtotime($usersBonus->date_start)));
+ $usersBonus->save();
+ if ($usersBonus->getErrors()) {
+ return $usersBonus->getErrors();
+ }
+ }
}
}