Пример #1
0
 public function actionCreate()
 {
     //$start = microtime();
     parent::actionIndex();
     $postId = (int) Yii::$app->getRequest()->post('post_id');
     $url = Yii::$app->getRequest()->post('post_url');
     if ($postId && $postId != "undefined") {
         $post = Post::findByMySqlId($postId, Yii::$app->getRequest()->post('project_id'));
     } elseif ($url) {
         $post = Post::findByUrl($url);
     } else {
         throw new ForbiddenHttpException("Param url is not provided", self::CODE_NO_URL);
     }
     $postViewModel = new PostView();
     $postViewModel->load(Yii::$app->getRequest()->getBodyParams(), '');
     $postViewModel->post_id = $postId;
     $postViewModel->save();
     if ($post) {
         $total = PostView::find()->where(array('project_id' => (int) Yii::$app->getRequest()->post('project_id'), 'post_id' => $postId))->count();
         //$unique = PostView::find()->where(array('project_id' => (int)Yii::$app->getRequest()->post('project_id'), 'post_id' => (int)$post->getID()))->distinct("uid");
         $response = array('total' => $total, 'unique' => (int) $post->views['unique']);
         $post->views = $response;
         $post->save();
     } else {
         $total = PostView::find()->where(array('project_id' => (int) Yii::$app->getRequest()->post('project_id'), 'post_id' => $postId, 'post_url' => $url))->count();
         $response = array('total' => $total, 'unique' => 0);
     }
     //echo microtime() - $start;
     return $response;
 }