Blame view

frontend/controllers/BasketController.php 4.43 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
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');            
          }
          
          
      
  }