/
Vladimir_Yii_ModerationController.php
121 lines (105 loc) · 3.96 KB
/
Vladimir_Yii_ModerationController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
class ModerationController extends AdminController {
//отправка писем
public function SendMail($email="", $subject='', $message=""){
$mail = new YiiMailMessage;
$mail->setBody($message, 'text/html');
$mail->subject = $subject;
$mail->addTo($email);
$mail->from = Yii::app()->params['regEmail'];
$mail->setFrom(array( 'reg@stolica-skidok.ru' => 'Столица Скидок' ));
return Yii::app()->mail_reg->send($mail);
}
/*организаторы (Владельцы)*/
public function actionOwner(){
//список городов
$city = Yii::app()->session->get("user_city");
$city = 2;
$cityFilters = CityForFilters::model()->findAll();
$data = Coupon::model()->findAll(array('order'=>'created DESC'));
$this->render('owner', array('cityFilters'=>$cityFilters,
'data'=>$data
));
}
//просмотр организатора
public function actionOneVendor(){
if(isset($_GET['id'])){
$id = $_GET['id'];
$data = Coupon::model()->findAll(array('condition'=>'user = '.$id));
}
$this->render('oneVendor', array( 'data'=>$data));
}
//публикация выбраных заявок
public function actionPublic(){
if(isset($_POST['cupid'])){
$cup = $_POST['cupid']; //получаю массив ид купонов на публикацию
$mail = array();
$i=0;
foreach($cup as $k => $c):
//обновляю статус купона на активный
$a=Coupon::model()->updateByPk($c,array('status'=>"Active"));
//ищу к какому разделу принадлежит купон
$sec = CouponSection::model()->findByAttributes(array('id_coupon'=>$c));
//ищу запросы по найденому разделу
$rs = RequestSection::model()->findAll(array('condition'=>'id_section = '.$sec['id_section']));
//отправляю письма на запросы
if($rs){
foreach($rs as $idreq):
$request_date = $idreq->Request->validTill;
if($request_date >= date("Y-m-d")){
//$this->repMails($idreq->Request->email,$c);
$mail[$i]['email']=$idreq->Request->email;
$mail[$i]['id']=$c;
$i++;
}
endforeach;
}
endforeach;
//Bug::pre($mail);
foreach($mail as $m):
$this->repMails($m['email'],$m['id']);
endforeach;
echo "ok";
}
}
//отправка писем пользователям, которые сделали заявки на разделы данных купонов
public function repMails($email,$id){
//получаю шаблон письма
$sms = Mails::model()->findByPk(1);
if($sms){
//вставляю тело
$html = $sms['body'];
//тема
$subject = $sms['theme'];
//нахожу нужный купон
$coupon = Coupon::model()->findByPk($id);
//название купона
$product = $coupon['title'];
//скидка
$sale = $coupon['discount'];
//цен до скидки
$before = $coupon['discountPrice'] ." рублей";
if($before ==0){
$before = "Не ограничена";
$after = "Не ограничена";
}
else{
//цена после скидки
$after = round(($before - ($sale*$before/100)),2);
$after .=" рублей";
}
//ссылка на купон
$link = $_SERVER['HTTP_HOST'].Yii::app()->createUrl("/coupon",array('id' => $coupon['id'],
'title'=>$coupon['title']));
$link = "<a href='http://".$link."'>".$link."</a>";
//подставляю в шаблон
$html = str_replace('[product]',$product,$html);
$html = str_replace('[before]',$before,$html);
$html = str_replace('[after]',$after,$html);
$html = str_replace('[sale]',$sale,$html);
$html = str_replace('[link]',$link,$html);
//отправляем письмо
$this->sendMail($email,$subject,$html);
}
}
}