diff --git a/.htaccess b/.htaccess index 9a57485..e0d7e7b 100644 --- a/.htaccess +++ b/.htaccess @@ -97,8 +97,6 @@ ExpiresByType image/x-icon "access 1 year" ExpiresByType application/x-shockwave-flash "access 1 year" - -# кеширование в браузере на стороне пользователя AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html diff --git a/common/models/Orders.php b/common/models/Orders.php index 68b43a3..61cec67 100755 --- a/common/models/Orders.php +++ b/common/models/Orders.php @@ -17,8 +17,7 @@ class Orders extends \yii\db\ActiveRecord { return [ [['name', 'phone'], 'required','whenClient' => true], - //['email', 'email'], - [['total','body','email','phone2','delivery','payment'], 'safe'], + [['total','body','email','phone2','delivery','payment','adress','city'], 'safe'], [['email'],'email'], ]; } diff --git a/frontend/controllers/OrdersController.php b/frontend/controllers/OrdersController.php deleted file mode 100755 index 294bcd5..0000000 --- a/frontend/controllers/OrdersController.php +++ /dev/null @@ -1,311 +0,0 @@ -id == 'buy-items' || $action->id == 'delete') { - Yii::$app->controller->enableCsrfValidation = false; - } - - return true; - } - - public function actionFirst(){ - - $array = Yii::$app->session->get('order'); - - if(isset($array['order_id']) ) { - $model = Orders::findOne($array['order_id']); - }else { - $model = new Orders(); - } - - - if(Yii::$app->request->post() && $model->load(Yii::$app->request->post())){ - - if($model->save()){ - - $array['order_id'] = $model->order_id; - - Yii::$app->session->set('order', $array ); - - return $this->redirect(['orders/second']); - } - - } else { - if (!Yii::$app->user->isGuest) { - $customer = Yii::$app->user->identity; - $model->name = $customer->name; - $model->email = $customer->email; - $model->phone = $customer->phone; - } - } - - - return $this->render('basket-step-01',[ - 'model' => $model - ]); - } - - public function actionSecond(){ - - $sessionData = \Yii::$app->session->get('order'); - - $order_id = $sessionData['order_id']; - - if(!empty($order_id)){ - $order_model = Orders::findOne($order_id); - } else{ - $order_model = new Orders; - } - - unset($sessionData['order_id']); - - $variant = ProductVariant::find()->where(['product_variant_id'=>array_keys($sessionData)])->indexBy('product_variant_id')->all(); - - - if(Yii::$app->request->post()){ - - foreach ($sessionData as $k => $item) { - $itemModel = OrderItems::find()->where(['order_id'=>$order_id, 'item_id'=> $variant[$k]->product_variant_id])->one(); - if($itemModel instanceof OrderItems){ - $itemModel->order_id = $order_id; - $itemModel->item_id = $variant[$k]->product_variant_id; - $itemModel->item_count = $sessionData[$k]['num']; - $itemModel->price = $variant[$k]->price; - $itemModel->save(); - } else { - $itemModel = new OrderItems(); - $itemModel->order_id = $order_id; - $itemModel->item_id = $variant[$k]->product_variant_id; - $itemModel->item_count = $sessionData[$k]['num']; - $itemModel->price = $variant[$k]->price; - $itemModel->save(); - } - - } - Yii::$app->session->set('order', [] ); - return $this->redirect(['orders/third']); - - } else { - - $price = 0; - - $count = count($sessionData); - - foreach ($sessionData as $k => $item) { - $sessionData[$k]['item'] = $variant[$k]; - $price += $variant[$k]->price * $sessionData[$k]['num']; - } - - } - - return $this->render('basket-step-02',[ - 'items'=>$sessionData, - 'count' => $count, - 'price' => $price, - 'order_id' => $order_id, - 'order_model' => $order_model, - ]); - - } - - public function actionThird(){ - return $this->render('basket-step-03'); - } - - -// /** -// * Lists all Order models. -// * @return mixed -// */ -// public function actionIndex() -// { -// -// if (Yii::$app->request->post()) { -// $item = $items_id = array(); -// -// $i = 0; -// $order = Yii::$app->request->post(); -// -// $orderData['Order'] = $order['OrderForm']; -// -// foreach($order['OrderForm']['one_item'] as $k => $v ){ -// $item[$k]['num'] = $v['num']; -// $items_id[] = $k; -// $i++; -// } -// -// $items = Items::find()->where(['id'=>$items_id])->all(); -// -// -// $orderModel = new Order(); -// $orderModel->load($orderData); -// $orderModel->save(); -// -// -// foreach($items as $one_item){ -// $ItemOrderModel = new ItemOrder(); -// $ItemOrderModel->order_id = $orderModel->id; -// $ItemOrderModel->num = $item[$one_item->id]['num']; -// $ItemOrderModel->item_id = $one_item->id; -// $ItemOrderModel->price = $one_item->price * $item[$one_item->id]['num']; -// $ItemOrderModel->item_name = $one_item->name; -// $ItemOrderModel->save(); -// } -// Yii::$app->session->set('order', [] ); -// return $this->redirect(['order/complete']); -// } -// $total_price = 0; -// -// $items_id = []; -// -// $orders = Yii::$app->session->get('order'); -// -// if(!empty($orders)){ -// foreach($orders as $k => $v) { -// $items_id[] = $k; -// } -// } -// -// -// $items = Items::find()->where(['id'=>$items_id])->all(); -// -// foreach($items as $item) { -// $total_price += $orders[$item['id']]['num'] * $item['price']; -// } -// -// -// $dataProvider = new ArrayDataProvider([ -// 'allModels' => $items -// ]); -// -// return $this->render('index', [ -// 'dataProvider' => $dataProvider, -// 'total_price'=> $total_price, -// 'model' => new OrderForm() -// ]); -// } - - - public function actionComplete() - { - return $this->render('complete', [ - ]); - } - - public function actionBuyItems(){ - $data = Yii::$app->request->post(); - $sessionData = Yii::$app->session->get('order'); - if(isset($sessionData) && !array_search($data['id'],Yii::$app->session->get('order')) ){ - $array = Yii::$app->session->get('order'); - $array[$data['id']] = $data; - Yii::$app->session->set('order', $array ); - } else { - $array[$data['id']] = $data; - Yii::$app->session->set('order', $array ); - } - echo BasketModal::widget([]); - - } - /** - * Displays a single Order model. - * @param integer $id - * @return mixed - */ - public function actionView($id) - { - return $this->render('view', [ - 'model' => $this->findModel($id), - ]); - } - - /** - * Creates a new Order model. - * If creation is successful, the browser will be redirected to the 'view' page. - * @return mixed - */ - public function actionCreate() - { - $model = new Orders(); - - if ($model->load(Yii::$app->request->post()) && $model->save()) { - return $this->redirect(['view', 'id' => $model->id]); - } else { - return $this->render('create', [ - 'model' => $model, - ]); - } - } - - /** - * Updates an existing Order model. - * If update is successful, the browser will be redirected to the 'view' page. - * @param integer $id - * @return mixed - */ - public function actionUpdate($id) - { - $model = $this->findModel($id); - - if ($model->load(Yii::$app->request->post()) && $model->save()) { - return $this->redirect(['view', 'id' => $model->id]); - } else { - return $this->render('update', [ - 'model' => $model, - ]); - } - } - - /** - * Deletes an existing Order model. - * If deletion is successful, the browser will be redirected to the 'index' page. - * @param integer $id - * @return mixed - */ - public function actionDelete() - { - $data = Yii::$app->request->post(); - $sessionData = Yii::$app->session->get('order'); - unset($sessionData[$data['id']]); - Yii::$app->session->set('order', $sessionData); - return count(Yii::$app->session->get('order')); - } - - /** - * Finds the Order model based on its primary key value. - * If the model is not found, a 404 HTTP exception will be thrown. - * @param integer $id - * @return Orders the loaded model - * @throws NotFoundHttpException if the model cannot be found - */ - protected function findModel($id) - { - if (($model = Orders::findOne($id)) !== null) { - return $model; - } else { - throw new NotFoundHttpException('The requested page does not exist.'); - } - } -} -- libgit2 0.21.4