d8c1a2e0
Yarik
Big commit artbox
|
1
|
<?php
|
cc658b4c
Yarik
Big commit
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
namespace frontend\controllers;
use common\models\Banner;
use common\models\Certificate;
use common\models\Page;
use common\models\Slider;
use common\modules\product\models\Category;
use common\modules\rubrication\models\TaxGroup;
use Yii;
use yii\base\InvalidParamException;
use yii\data\ActiveDataProvider;
use yii\web\BadRequestHttpException;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\filters\AccessControl;
use common\models\LoginForm;
use frontend\models\PasswordResetRequestForm;
use frontend\models\ResetPasswordForm;
use frontend\models\SignupForm;
use yii\web\NotFoundHttpException;
|
d8c1a2e0
Yarik
Big commit artbox
|
23
|
/**
|
cc658b4c
Yarik
Big commit
|
24
|
* Site controller
|
d8c1a2e0
Yarik
Big commit artbox
|
25
|
*/
|
cc658b4c
Yarik
Big commit
|
26
|
class SiteController extends Controller
|
d8c1a2e0
Yarik
Big commit artbox
|
27
|
{
|
cc658b4c
Yarik
Big commit
|
28
29
30
31
32
33
34
35
36
37
38
39
|
/**
* @inheritdoc
*/
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'only' => [
'logout',
'signup',
|
d8c1a2e0
Yarik
Big commit artbox
|
40
|
],
|
cc658b4c
Yarik
Big commit
|
41
42
43
44
45
46
47
48
49
50
51
|
'rules' => [
[
'actions' => [ 'signup' ],
'allow' => true,
'roles' => [ '?' ],
],
[
'actions' => [ 'logout' ],
'allow' => true,
'roles' => [ '@' ],
],
|
d8c1a2e0
Yarik
Big commit artbox
|
52
53
|
],
],
|
cc658b4c
Yarik
Big commit
|
54
55
56
57
58
|
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => [ 'post' ],
],
|
d8c1a2e0
Yarik
Big commit artbox
|
59
|
],
|
cc658b4c
Yarik
Big commit
|
60
|
];
|
d8c1a2e0
Yarik
Big commit artbox
|
61
|
}
|
cc658b4c
Yarik
Big commit
|
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
/**
* @inheritdoc
*/
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : NULL,
],
];
|
d8c1a2e0
Yarik
Big commit artbox
|
77
|
}
|
cc658b4c
Yarik
Big commit
|
78
79
80
81
82
83
84
85
86
|
/**
* Displays homepage.
* @return mixed
*/
public function actionIndex()
{
$categories = Category::find()
->where([ 'depth' => 0 ])
|
d55d2fe0
Yarik
Multilanguage
|
87
|
->joinWith('lang', true, 'INNER JOIN')
|
cc658b4c
Yarik
Big commit
|
88
89
90
|
->all();
$purposes = TaxGroup::find()
->where([
|
27ad59d9
Yarik
Purpose public fix.
|
91
|
'tax_group.tax_group_id' => 5,
|
cc658b4c
Yarik
Big commit
|
92
93
|
'level' => 0,
])
|
d55d2fe0
Yarik
Multilanguage
|
94
|
->joinWith('options.lang')
|
cc658b4c
Yarik
Big commit
|
95
96
97
|
->one();
$banners = Banner::find()
->where([
|
d55d2fe0
Yarik
Multilanguage
|
98
|
'banner.banner_id' => [
|
cc658b4c
Yarik
Big commit
|
99
100
101
102
103
|
3,
4,
],
'status' => 1,
])
|
d55d2fe0
Yarik
Multilanguage
|
104
|
->joinWith('lang', true, 'INNER JOIN')
|
cc658b4c
Yarik
Big commit
|
105
106
107
|
->all();
$slider = Slider::find()
->where([
|
d55d2fe0
Yarik
Multilanguage
|
108
109
|
'slider.slider_id' => 2,
'slider.status' => 1,
|
cc658b4c
Yarik
Big commit
|
110
|
])
|
d55d2fe0
Yarik
Multilanguage
|
111
|
->joinWith('sliderImage.lang')
|
cc658b4c
Yarik
Big commit
|
112
113
114
115
116
117
118
|
->one();
return $this->render('index', [
'categories' => $categories,
'purposes' => $purposes,
'banners' => $banners,
'slider' => $slider,
]);
|
d8c1a2e0
Yarik
Big commit artbox
|
119
|
}
|
cc658b4c
Yarik
Big commit
|
120
121
122
123
124
|
/**
* Logs in a user.
* @return mixed
*/
|
d55d2fe0
Yarik
Multilanguage
|
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
// public function actionLogin()
// {
// if(!Yii::$app->user->isGuest) {
// return $this->goHome();
// }
//
// $model = new LoginForm();
// if($model->load(Yii::$app->request->post()) && $model->login()) {
// return $this->goBack();
// } else {
// return $this->render('login', [
// 'model' => $model,
// ]);
// }
// }
|
cc658b4c
Yarik
Big commit
|
140
141
142
143
144
|
/**
* Logs out the current user.
* @return mixed
*/
|
d55d2fe0
Yarik
Multilanguage
|
145
146
147
148
149
150
|
// public function actionLogout()
// {
// Yii::$app->user->logout();
//
// return $this->goHome();
// }
|
cc658b4c
Yarik
Big commit
|
151
152
153
154
155
156
157
158
|
/**
* Displays contact page.
* @return string
*/
public function actionContact()
{
return $this->render('contact');
|
d8c1a2e0
Yarik
Big commit artbox
|
159
|
}
|
cc658b4c
Yarik
Big commit
|
160
161
162
163
164
|
/**
* Signs user up.
* @return mixed
*/
|
d55d2fe0
Yarik
Multilanguage
|
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
// public function actionSignup()
// {
// $model = new SignupForm();
// if($model->load(Yii::$app->request->post())) {
// if($user = $model->signup()) {
// if(Yii::$app->getUser()
// ->login($user)
// ) {
// return $this->goHome();
// }
// }
// }
//
// return $this->render('signup', [
// 'model' => $model,
// ]);
// }
|
cc658b4c
Yarik
Big commit
|
182
183
184
185
186
|
/**
* Requests password reset.
* @return mixed
*/
|
d55d2fe0
Yarik
Multilanguage
|
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
// public function actionRequestPasswordReset()
// {
// $model = new PasswordResetRequestForm();
// if($model->load(Yii::$app->request->post()) && $model->validate()) {
// if($model->sendEmail()) {
// Yii::$app->session->setFlash('success', 'Check your email for further instructions.');
//
// return $this->goHome();
// } else {
// Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset password for email provided.');
// }
// }
//
// return $this->render('requestPasswordResetToken', [
// 'model' => $model,
// ]);
// }
|
cc658b4c
Yarik
Big commit
|
204
205
206
207
208
209
210
211
212
|
/**
* Resets password.
*
* @param string $token
*
* @return mixed
* @throws BadRequestHttpException
*/
|
d55d2fe0
Yarik
Multilanguage
|
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
|
// public function actionResetPassword($token)
// {
// try {
// $model = new ResetPasswordForm($token);
// } catch(InvalidParamException $e) {
// throw new BadRequestHttpException($e->getMessage());
// }
//
// if($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) {
// Yii::$app->session->setFlash('success', 'New password was saved.');
//
// return $this->goHome();
// }
//
// return $this->render('resetPassword', [
// 'model' => $model,
// ]);
// }
|
cc658b4c
Yarik
Big commit
|
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
|
/**
* Show certificates page.
* @return string
*/
public function actionCertificates()
{
$query = Certificate::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => false,
]);
return $this->render('certificates', [
'dataProvider' => $dataProvider,
]);
|
d8c1a2e0
Yarik
Big commit artbox
|
246
|
}
|
cc658b4c
Yarik
Big commit
|
247
248
249
|
public function actionPage($id)
{
|
d55d2fe0
Yarik
Multilanguage
|
250
|
$model = Page::find()->where(['page.id' => $id])->joinWith('lang', true, 'INNER JOIN')->one();
|
cc658b4c
Yarik
Big commit
|
251
252
253
254
255
256
|
if(empty( $model )) {
throw new NotFoundHttpException();
}
return $this->render('page', [
'model' => $model,
]);
|
36d1807a
Yarik
Big commit.
|
257
|
}
|
d8c1a2e0
Yarik
Big commit artbox
|
258
|
}
|