public function clickAction() { $id = $this->dispatcher->getParam('id'); $banner = Banners::findFirst(array('id = :id:', 'bind' => array('id' => $id))); if ($id && $banner) { $view_id = $this->request->getQuery('view'); $view = Views::findFirst(array('id = :id:', 'bind' => array('id' => $view_id))); $view->update(array('clicked' => 1)); return $this->response->redirect($banner->link, true, 302); } else { $this->dispatcher->forward(array("namespace" => 'App\\Controllers', "controller" => "error", "action" => "notFound")); } }
/** * Displays a single Advert model. * @param integer $id * @return mixed */ public function actionView($id) { if (Currency::find()->where(['>', 'date', time()])->orderBy(['date' => SORT_DESC])->asArray()->one() == null) { $currency = new Currency(); if ($currency->exchangeRates()) { Yii::$app->session->setFlash('warning', 'Exchange rates might differ from actual ones'); } } $model = $this->findModel($id); $pic = new Pictures(); $imgModel = new UploadForm(); $n = Bookmark::find()->where(['user_id' => Yii::$app->user->identity->getId(), 'advert_id' => $id])->all(); if ($model->user_id == Yii::$app->user->identity->getId()) { if (isset($_POST['delete'])) { $model->deletePic(); } if (!empty($n)) { $value = 'Delete ' . 'from bookmarks'; } else { $value = 'Add to bookmarks'; } if (Yii::$app->request->isPost) { $imgModel->imageFiles = UploadedFile::getInstances($imgModel, 'imageFiles'); if ($imgModel->upload($id)) { return $this->render('view-my-advert', ['model' => $this->findModel($id), 'imgModel' => $imgModel, 'pic' => $pic]); } } return $this->render('view-my-advert', ['model' => $this->findModel($id), 'imgModel' => $imgModel, 'pic' => $pic, 'value' => $value]); } else { $views = new Views(); $n = Bookmark::find()->where(['user_id' => Yii::$app->user->identity->getId(), 'advert_id' => $id])->all(); if (!empty($n)) { $value = 'Delete ' . 'from bookmarks'; } else { $value = 'Add to bookmarks'; } if (!$views->countViews($id)) { if ($model->user_id !== Yii::$app->user->identity->getId()) { $advert = new Advert(); $advert->countViews($id); $views->advert_id = $id; $views->user_id = Yii::$app->user->identity->getId(); $views->save(); } } return $this->render('view-adv', ['model' => $this->findModel($id), 'pic' => $pic, 'imgModel' => $imgModel, 'value' => $value]); } }
public function countViews($id) { $views = Views::find()->where(['user_id' => Yii::$app->user->identity->getId(), 'advert_id' => $id])->all(); return $views; }
/** * Displays a single Advert model. * @param integer $id * @return mixed */ public function actionView($id) { $model = $this->findModel($id); $pic = new Pictures(); $imgModel = new UploadForm(); if ($model->user_id == Yii::$app->user->identity->getId()) { if (isset($_POST['delete'])) { $model->deletePic(); } if (Yii::$app->request->isPost) { $imgModel->imageFile = UploadedFile::getInstance($imgModel, 'imageFile'); if ($imgModel->upload($id)) { return $this->render('view-my-advert', ['model' => $this->findModel($id), 'imgModel' => $imgModel, 'pic' => $pic]); } } return $this->render('view-my-advert', ['model' => $this->findModel($id), 'imgModel' => $imgModel, 'pic' => $pic]); } else { $views = new Views(); if (!$views->countViews($id)) { if ($model->user_id !== Yii::$app->user->identity->getId()) { $advert = new Advert(); $advert->countViews($id); $views->advert_id = $id; $views->user_id = Yii::$app->user->identity->getId(); $views->save(); } } return $this->render('view-adv', ['model' => $this->findModel($id), 'pic' => $pic, 'imgModel' => $imgModel]); } }