예제 #1
0
 /**
  * Creates a new Basket model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Basket();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
예제 #2
0
 /**
  * Displays a single Items model.
  * @param integer $id
  * @return mixed
  */
 public function actionView($id)
 {
     $commentsData = comment::getComments($id);
     $model = $this->findModel($id);
     $newComment = new Comment();
     $addToBasket = new basket();
     $description = new Description();
     $description->find()->where(['item_id' => $id])->all();
     $itemRating = ItemsRating::findOne($id);
     if ($model->count == 0) {
         Yii::$app->db->createCommand(" UPDATE `items` SET items.is_aviable=0 WHERE items.id =" . $id)->execute();
     } else {
         if (!Yii::$app->user->isGuest) {
             $uid = Yii::$app->user->identity->getId();
             $get_user = \dektrium\user\models\User::getUser($uid)->getModels()[0]['username'];
             if (isset($_POST['Comment'])) {
                 //            print_r($_POST['Comment']['text']);
                 $newComment = new Comment();
                 $newComment->author = $get_user;
                 $newComment->item_id = $id;
                 $newComment->user_id = $uid;
                 $newComment->date = date("Y-m-d h:i:s");
                 $newComment->text = $_POST['Comment']['text'];
                 $newComment->save();
             }
             if (isset($_POST['Basket'])) {
                 if ($model->is_aviable) {
                     if ($_POST['Basket']['count'] <= $model->count) {
                         $addToBasket = new Basket();
                         $have = $addToBasket->find()->where(['item_id' => $id, 'user_id' => $uid])->all();
                         if (!$have) {
                             $addToBasket->item_id = $id;
                             $addToBasket->user_id = $uid;
                             $addToBasket->name = $model->name;
                             $addToBasket->price = $model->price;
                             $addToBasket->count = $_POST['Basket']['count'];
                             $addToBasket->sum = $model->price * $_POST['Basket']['count'];
                             $addToBasket->save();
                         }
                     }
                 }
                 return $this->redirect(['view', 'id' => $id]);
             }
         }
     }
     return $this->render('view', ['model' => $model, 'commentsData' => $commentsData, 'newComment' => $newComment, 'itemRating' => $itemRating, 'addToBasket' => $addToBasket, 'description' => $description]);
 }