Blame view

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