ecf49b1b
Administrator
second
|
1
2
|
<?php
|
90a6ed1a
Administrator
basket
|
3
|
namespace frontend\controllers;
|
ecf49b1b
Administrator
second
|
4
|
|
90a6ed1a
Administrator
basket
|
5
6
7
|
use common\models\Customer;
use common\models\OrdersProducts;
|
ecf49b1b
Administrator
second
|
8
9
|
use Yii;
use yii\web\Controller;
|
90a6ed1a
Administrator
basket
|
10
11
12
13
|
use common\modules\product\models\ProductVariant;
use common\models\Orders;
//use app\models\User;
//use app\models\OrdersProducts;
|
ecf49b1b
Administrator
second
|
14
15
16
17
18
19
|
use yii\web\HttpException;
class BasketController extends Controller
{
public function actionIndex(){
|
90a6ed1a
Administrator
basket
|
20
21
|
$modelMod = new ProductVariant;
$modelOrder = new Orders;
|
ecf49b1b
Administrator
second
|
22
23
|
if(!empty($_GET['deleteID'])){
|
90a6ed1a
Administrator
basket
|
24
|
$modelOrder->deleteBasketMod($_GET['deleteID']);
|
ecf49b1b
Administrator
second
|
25
26
27
28
|
return Yii::$app->response->redirect(['basket/index']);
}
if(isset($_POST['update'])){
|
8df8067a
Administrator
basket
|
29
|
foreach ($_POST['ProductVariant'] as $index=>$row) {
|
90a6ed1a
Administrator
basket
|
30
|
$modelOrder->updateBasket($row);
|
ecf49b1b
Administrator
second
|
31
|
}
|
8df8067a
Administrator
basket
|
32
33
|
}elseif(isset($_POST['ProductVariant'])){
// die(print_r($_POST));
|
ecf49b1b
Administrator
second
|
34
|
$body = '';
|
8df8067a
Administrator
basket
|
35
|
foreach ($_POST['ProductVariant'] as $index=>$row) {
|
ecf49b1b
Administrator
second
|
36
37
38
39
40
|
$body .= $row['product_name'].' '.$row['name'].' Кол:'.$row['count'].' Цена:'.$row['sum_cost'];
$body .= "\n\r";
}
$body .= "\n\r";
|
d8d0c38c
Administrator
add active menu
|
41
|
if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save()) {
|
8df8067a
Administrator
basket
|
42
|
foreach ($_POST['ProductVariant'] as $index=>$row) {
|
90a6ed1a
Administrator
basket
|
43
|
$modelOrdersProducts = new OrdersProducts();
|
ecf49b1b
Administrator
second
|
44
45
46
47
48
49
50
51
52
|
$mod_id = $row['id'];
unset($row['id']);
$data['OrdersProducts'] = $row;
$data['OrdersProducts']['mod_id'] = $mod_id;
$data['OrdersProducts']['order_id'] = $modelOrder->id;
$modelOrdersProducts->load($data);
$modelOrdersProducts->save();
}
|
84b2aead
Administrator
add active menu
|
53
|
if(!Yii::$app->user->id && !empty($modelOrder->email)){
|
90a6ed1a
Administrator
basket
|
54
|
$modelUser = new Customer();
|
ecf49b1b
Administrator
second
|
55
56
57
58
59
60
61
62
|
$modelUser->role = 'person';
$modelUser->username = $modelOrder->email;
$modelUser->name = $modelOrder->name;
$modelUser->phone = $modelOrder->phone;
$modelUser->password = Yii::$app->getSecurity()->generateRandomString(10);
$modelUser->group_id = 2;
$modelUser->save();
}
|
8df8067a
Administrator
basket
|
63
|
$modelOrder->clearBasket();
|
ecf49b1b
Administrator
second
|
64
65
66
67
|
return Yii::$app->response->redirect(['basket/success']);
}
}
|
90a6ed1a
Administrator
basket
|
68
|
$basket_mods = $modelOrder->getBasketMods();
|
ecf49b1b
Administrator
second
|
69
70
|
if(!empty(Yii::$app->user->id)){
|
90a6ed1a
Administrator
basket
|
71
|
$user = Customer::findOne(Yii::$app->user->id);
|
ecf49b1b
Administrator
second
|
72
73
74
|
$modelOrder->email = $user->username;
$modelOrder->phone = $user->phone;
$modelOrder->name = $user->name;
|
ecf49b1b
Administrator
second
|
75
76
77
78
79
80
81
82
83
84
|
}
return $this->render('index', [
'modelMod'=>$modelMod,
'basket_mods'=>$basket_mods,
'modelOrder'=>$modelOrder,
]);
}
public function actionItems(){
|
90a6ed1a
Administrator
basket
|
85
|
$modelMod = new Orders;
|
ecf49b1b
Administrator
second
|
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
if(!empty($_GET['deleteID'])){
$modelMod->deleteBasketMod($_GET['deleteID']);
}
if(isset($_POST['Mod'])){
foreach ($_POST['Mod'] as $index=>$row) {
$modelMod->updateBasket($row);
}
}
$basket_mods = $modelMod->getBasketMods();
return $this->renderAjax('ajax_items', [
'modelMod'=>$modelMod,
'basket_mods'=>$basket_mods,
]);
}
public function actionInfo()
{
|
90a6ed1a
Administrator
basket
|
104
|
$modelMod = new Orders();
|
ecf49b1b
Administrator
second
|
105
106
107
108
109
110
111
|
$info = $modelMod->rowBasket();
return $this->renderAjax('ajax_info', [
'info'=>$info,
]);
}
public function actionAdd(){
|
90a6ed1a
Administrator
basket
|
112
|
$modelOrders = new Orders();
|
ecf49b1b
Administrator
second
|
113
|
if(isset($_GET['mod_id'],$_GET['count']) && $_GET['mod_id']>0 && $_GET['count']>0){
|
90a6ed1a
Administrator
basket
|
114
|
$modelOrders->addBasket($_GET['mod_id'],$_GET['count']);
|
ecf49b1b
Administrator
second
|
115
116
117
118
119
120
121
122
123
124
125
126
127
|
}
Yii::$app->end();
}
public function actionSuccess(){
return $this->render('success');
}
}
|