コード例 #1
0
 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"));
     }
 }
コード例 #2
0
ファイル: AdvertController.php プロジェクト: aiskimzhi/advert
 /**
  * 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]);
     }
 }
コード例 #3
0
ファイル: Views.php プロジェクト: aiskimzhi/advert
 public function countViews($id)
 {
     $views = Views::find()->where(['user_id' => Yii::$app->user->identity->getId(), 'advert_id' => $id])->all();
     return $views;
 }
コード例 #4
0
ファイル: AdvertController.php プロジェクト: aiskimzhi/repo
 /**
  * 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]);
     }
 }