Blame view

frontend/controllers/BasketController.php 4.47 KB
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
                  return Yii::$app->response->redirect(['basket/index']);
              }
              
5b353122   Administrator   image size
28
29
              if(isset($_POST['update']) && isset($_POST['ProductVariant'])){
  
8df8067a   Administrator   basket
30
                  foreach ($_POST['ProductVariant'] as $index=>$row) {
90a6ed1a   Administrator   basket
31
                      $modelOrder->updateBasket($row);
ecf49b1b   Administrator   second
32
                  }
8df8067a   Administrator   basket
33
34
              }elseif(isset($_POST['ProductVariant'])){
  //                die(print_r($_POST));
ecf49b1b   Administrator   second
35
                  $body = '';
8df8067a   Administrator   basket
36
                  foreach ($_POST['ProductVariant'] as $index=>$row) {
ecf49b1b   Administrator   second
37
38
39
40
41
                    $body .= $row['product_name'].' '.$row['name'].' Кол:'.$row['count'].' Цена:'.$row['sum_cost'];
                    $body .= "\n\r";
                  }
                  $body .= "\n\r";
    
d8d0c38c   Administrator   add active menu
42
                      if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save()) {
8df8067a   Administrator   basket
43
                          foreach ($_POST['ProductVariant'] as $index=>$row) {
90a6ed1a   Administrator   basket
44
                            $modelOrdersProducts = new OrdersProducts();
ecf49b1b   Administrator   second
45
46
47
48
49
50
51
52
53
                              $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
54
                          if(!Yii::$app->user->id && !empty($modelOrder->email)){
90a6ed1a   Administrator   basket
55
                          $modelUser = new Customer();
ecf49b1b   Administrator   second
56
57
58
59
60
61
62
63
                          $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
64
                          $modelOrder->clearBasket();
ecf49b1b   Administrator   second
65
66
67
68
                          return Yii::$app->response->redirect(['basket/success']);      
                      }
                  }            
              
90a6ed1a   Administrator   basket
69
              $basket_mods = $modelOrder->getBasketMods();
ecf49b1b   Administrator   second
70
71
  
              if(!empty(Yii::$app->user->id)){
90a6ed1a   Administrator   basket
72
                  $user = Customer::findOne(Yii::$app->user->id);
ecf49b1b   Administrator   second
73
74
75
                  $modelOrder->email = $user->username;
                  $modelOrder->phone = $user->phone;
                  $modelOrder->name = $user->name;
ecf49b1b   Administrator   second
76
77
78
79
80
81
82
83
84
85
              }
             
              return $this->render('index', [
                      'modelMod'=>$modelMod,
                      'basket_mods'=>$basket_mods,
                      'modelOrder'=>$modelOrder,
              ]);        
      }
  
      public function actionItems(){
90a6ed1a   Administrator   basket
86
          $modelMod = new Orders;
030aa37f   Administrator   image size
87
88
  
  
c9689278   Administrator   image size
89
  
ecf49b1b   Administrator   second
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
          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
108
              $modelMod = new Orders();
ecf49b1b   Administrator   second
109
110
111
112
113
114
115
              $info = $modelMod->rowBasket();
              return $this->renderAjax('ajax_info', [
                      'info'=>$info,
              ]);
      } 
      
          public function actionAdd(){
90a6ed1a   Administrator   basket
116
  		$modelOrders = new Orders();
ecf49b1b   Administrator   second
117
                  if(isset($_GET['mod_id'],$_GET['count']) && $_GET['mod_id']>0 && $_GET['count']>0){
90a6ed1a   Administrator   basket
118
                      $modelOrders->addBasket($_GET['mod_id'],$_GET['count']);
ecf49b1b   Administrator   second
119
120
121
122
123
124
125
126
127
128
129
130
131
  		}
                  
                  Yii::$app->end();
          }
          
          
          public function actionSuccess(){
              return $this->render('success');            
          }
          
          
      
  }