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;
 }
 public function actionCreate()
 {
     parent::actionIndex();
     if (!($url = Yii::$app->getRequest()->post('url'))) {
         throw new ForbiddenHttpException("Param url is not provided", self::CODE_NO_URL);
     }
     if (substr($url, -1) != "/") {
         $url = $url . "/";
     }
     $socialShare = new SocialShare($url);
     $post = Post::findByUrl($url);
     if (!$post) {
         throw new ForbiddenHttpException("Post not found", self::CODE_NO_POST);
     }
     return $socialShare->save($post);
 }
 public function actionIndex()
 {
     parent::actionIndex();
     if (!($projectId = Yii::$app->getRequest()->getQueryParam('project_id'))) {
         throw new ForbiddenHttpException("Project_id is required", self::CODE_NO_PROJECT);
     }
     if (!($postId = Yii::$app->getRequest()->getQueryParam('post_id'))) {
         throw new ForbiddenHttpException("Post_id is required", self::CODE_NO_POST);
     }
     $whereCondition['ID'] = (int) $postId;
     $whereCondition['project_id'] = (int) $projectId;
     $post = Post::find()->where($whereCondition)->one();
     $response = array();
     if (!is_null($post)) {
         $response = array('shares' => $post->shares, 'clicks' => $post->clicks, 'views' => $post->views);
     }
     return $response;
 }