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