function actionLike()
 {
     header('Content-type: application/json');
     if (!Yii::app()->request->isPostRequest) {
         IjoyPlusServiceUtils::exportServiceError(Constants::METHOD_NOT_SUPPORT);
         return;
     }
     if (!IjoyPlusServiceUtils::validateAPPKey()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID);
         return;
     }
     if (IjoyPlusServiceUtils::validateUserID()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID);
         return;
     }
     $prod_id = Yii::app()->request->getParam("prod_id");
     if (!isset($prod_id) || is_null($prod_id)) {
         IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID);
         return;
     }
     $program = Program::model()->findByPk($prod_id);
     if ($program !== null) {
         $owner_id = Yii::app()->user->id;
         $transaction = Yii::app()->db->beginTransaction();
         try {
             $program->love_user_count = $program->love_user_count + 1;
             //				$program->save();
             Program::model()->incLoveUserCount($prod_id);
             CacheManager::synProgramCache($program);
             $dynamic = new Dynamic();
             $dynamic->author_id = $owner_id;
             $dynamic->content_id = $program->d_id;
             $dynamic->status = Constants::OBJECT_APPROVAL;
             $dynamic->create_date = new CDbExpression('NOW()');
             $dynamic->content_type = $program->d_type;
             $dynamic->content_name = $program->d_name;
             $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_LIKE;
             $dynamic->content_pic_url = $program->d_pic;
             $dynamic->save();
             if (isset($program->publish_owner_id) && !is_null($program->publish_owner_id)) {
                 if ($program->publish_owner_id !== $owner_id) {
                     // add notify msg
                     $msg = new NotifyMsg();
                     $msg->author_id = $program->publish_owner_id;
                     $msg->nofity_user_id = Yii::app()->user->id;
                     $msg->notify_user_name = Yii::app()->user->getState("nickname");
                     $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url");
                     $msg->content_id = $program->d_id;
                     $msg->content_info = $program->d_name;
                     $msg->content_type = $program->d_type;
                     $msg->created_date = new CDbExpression('NOW()');
                     $msg->status = Constants::OBJECT_APPROVAL;
                     $msg->notify_type = Constants::NOTIFY_TYPE_LIKE_PROGRAM;
                     $msg->save();
                 }
             }
             $transaction->commit();
             IjoyPlusServiceUtils::exportServiceError(Constants::SUCC);
         } catch (Exception $e) {
             $transaction->rollback();
             IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR);
         }
     } else {
         IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND);
     }
 }
Example #2
0
 public function createComments()
 {
     $transaction = Yii::app()->db->beginTransaction();
     try {
         if ($this->save()) {
             $program = CacheManager::getProgramVOByID($this->content_id);
             Program::model()->incCommentCount($this->content_id);
             if ($program !== null) {
                 //	      	var_dump(($program->name));
                 $dynamic = new Dynamic();
                 $dynamic->author_id = $this->author_id;
                 $dynamic->content_id = $program->id;
                 $dynamic->status = Constants::OBJECT_APPROVAL;
                 $dynamic->create_date = new CDbExpression('NOW()');
                 $dynamic->content_desc = $this->comments;
                 $dynamic->content_type = $program->pro_type;
                 $dynamic->content_name = $program->name;
                 $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_COMMENTS;
                 $dynamic->content_pic_url = $program->poster;
                 $dynamic->save();
                 $recommendOwnerId = Dynamic::model()->getRecommendOwnsForProd($this->content_id);
                 if (isset($recommendOwnerId) && is_array($recommendOwnerId)) {
                     foreach ($recommendOwnerId as $id) {
                         if ($id['author_id'] !== Yii::app()->user->id) {
                             // add notify msg
                             $msg = new NotifyMsg();
                             $msg->author_id = $id['author_id'];
                             $msg->nofity_user_id = Yii::app()->user->id;
                             $msg->notify_user_name = Yii::app()->user->getState("nickname");
                             $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url");
                             $msg->content_id = $program->id;
                             $msg->content_info = $program->name;
                             $msg->content_type = $program->pro_type;
                             $msg->created_date = new CDbExpression('NOW()');
                             $msg->status = Constants::OBJECT_APPROVAL;
                             $msg->notify_type = Constants::NOTIFY_TYPE_COMMENT;
                             $msg->content_desc = $this->comments;
                             $msg->save();
                         }
                     }
                 }
             }
             $transaction->commit();
             return true;
         } else {
             $transaction->commit();
             return false;
         }
     } catch (Exception $e) {
         $transaction->rollback();
         return false;
     }
 }
Example #3
0
 public function followFriends($friends)
 {
     if (isset($friends) && is_array($friends)) {
         $transaction = Yii::app()->db->beginTransaction();
         try {
             $userid = Yii::app()->user->id;
             $count = 0;
             foreach ($friends as $id) {
                 if ($id === $userid) {
                     continue;
                 }
                 $user = User::model()->findByPk($id);
                 if (isset($user) && !is_null($user)) {
                     $friendt = $this->getFriend($userid, $id);
                     if (!(isset($friendt) && !is_null($friendt) && $friendt->status == Constants::OBJECT_APPROVAL)) {
                         if (isset($friendt) && !is_null($friendt)) {
                             $friendt->status = Constants::OBJECT_APPROVAL;
                             $friendt->save();
                         } else {
                             $friend = new Friend();
                             $friend->author_id = $userid;
                             $friend->friend_id = $id;
                             $friend->friend_photo_url = $user->user_photo_url;
                             $friend->friend_username = $user->nickname;
                             $friend->create_date = new CDbExpression('NOW()');
                             $friend->status = Constants::OBJECT_APPROVAL;
                             $friend->save();
                         }
                         $count++;
                         $user->fan_number = $user->fan_number + 1;
                         $user->save();
                         //add dynamic
                         $dynamic = new Dynamic();
                         $dynamic->author_id = $userid;
                         $dynamic->content_id = $id;
                         $dynamic->status = Constants::OBJECT_APPROVAL;
                         $dynamic->create_date = new CDbExpression('NOW()');
                         $dynamic->content_name = $user->nickname;
                         $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_FOLLOW;
                         $dynamic->content_pic_url = $user->user_photo_url;
                         $dynamic->save();
                         //ADD NOTIFY MSG
                         $msg = new NotifyMsg();
                         $msg->author_id = $id;
                         $msg->nofity_user_id = Yii::app()->user->id;
                         $msg->notify_user_name = Yii::app()->user->getState("nickname");
                         $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url");
                         $msg->created_date = new CDbExpression('NOW()');
                         $msg->status = Constants::OBJECT_APPROVAL;
                         $msg->notify_type = Constants::NOTIFY_TYPE_FOLLOW;
                         $msg->save();
                     }
                 }
             }
             if ($count > 0) {
                 User::model()->updateFollowUserCount($userid, $count);
             }
             $transaction->commit();
             return true;
         } catch (Exception $e) {
             $transaction->rollback();
             return false;
         }
     }
     return true;
 }
 function actionReply()
 {
     header('Content-type: application/json');
     if (!Yii::app()->request->isPostRequest) {
         IjoyPlusServiceUtils::exportServiceError(Constants::METHOD_NOT_SUPPORT);
         return;
     }
     if (!IjoyPlusServiceUtils::validateAPPKey()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID);
         return;
     }
     if (IjoyPlusServiceUtils::validateUserID()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID);
         return;
     }
     if (!IjoyPlusServiceUtils::checkCSRCToken()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::DUPLICAT_REQUEST);
         return;
     }
     $transaction = Yii::app()->db->beginTransaction();
     try {
         $thread_id = Yii::app()->request->getParam("thread_id");
         $parentComm = Comment::model()->findByPk($thread_id);
         if (isset($parentComm) && !is_null($parentComm)) {
             $model = new Comment();
             $model->status = Constants::OBJECT_APPROVAL;
             $model->create_date = new CDbExpression('NOW()');
             $model->comments = Yii::app()->request->getParam("content");
             $model->thread_id = Yii::app()->request->getParam("thread_id");
             $model->author_id = Yii::app()->user->id;
             $model->author_username = Yii::app()->user->getState("nickname");
             $model->author_photo_url = Yii::app()->user->getState("pic_url");
             $model->save();
             //add dynamic
             $dynamic = new Dynamic();
             $dynamic->author_id = Yii::app()->user->id;
             $dynamic->content_id = $thread_id;
             $dynamic->status = Constants::OBJECT_APPROVAL;
             $dynamic->create_date = new CDbExpression('NOW()');
             $dynamic->content_desc = $model->comments;
             $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_COMMENT_REPLI;
             $dynamic->content_name = $parentComm->content_name;
             $dynamic->content_type = $parentComm->content_type;
             $dynamic->content_pic_url = $parentComm->content_pic_url;
             $dynamic->save();
             if ($parentComm->author_id !== Yii::app()->user->id) {
                 // add notify msg
                 $msg = new NotifyMsg();
                 $msg->author_id = $parentComm->author_id;
                 $msg->nofity_user_id = Yii::app()->user->id;
                 $msg->notify_user_name = Yii::app()->user->getState("nickname");
                 $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url");
                 $msg->content_id = $thread_id;
                 $msg->content_desc = $model->comments;
                 $msg->content_type = $parentComm->content_type;
                 $msg->content_info = $parentComm->content_name;
                 $msg->created_date = new CDbExpression('NOW()');
                 $msg->status = Constants::OBJECT_APPROVAL;
                 $msg->notify_type = Constants::NOTIFY_TYPE_REPLIE_COMMENT;
                 $msg->save();
             }
         }
         $transaction->commit();
         IjoyPlusServiceUtils::exportServiceError(Constants::SUCC);
     } catch (Exception $e) {
         $transaction->rollback();
         IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR);
     }
 }
 public function actionLike()
 {
     header('Content-type: application/json');
     if (!Yii::app()->request->isPostRequest) {
         IjoyPlusServiceUtils::exportServiceError(Constants::METHOD_NOT_SUPPORT);
         return;
     }
     if (!IjoyPlusServiceUtils::validateAPPKey()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID);
         return;
     }
     if (IjoyPlusServiceUtils::validateUserID()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID);
         return;
     }
     $user_id = Yii::app()->request->getParam("user_id");
     $ownerid = Yii::app()->user->id;
     if (!isset($user_id) || is_null($user_id) || $ownerid === $user_id) {
         IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID);
         return;
     }
     try {
         $transaction = Yii::app()->db->beginTransaction();
         $user = User::model()->findByPk($user_id);
         if (isset($user) && !is_null($user)) {
             IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND);
         }
         $dynamicObj = Dynamic::model()->find(array('condition' => 'author_id=:author_id and content_id=:friend_id and status=:status and dynamic_type=:type', 'params' => array(':author_id' => $userid, ':friend_id' => $user_id, ':type' => Constants::DYNAMIC_TYPE_LIKE_FRIEND, ':status' => Constants::OBJECT_APPROVAL)));
         if (!(isset($dynamicObj) && !is_null($dynamicObj))) {
             $user->like_number = $user->like_number + 1;
             $user->save();
             //add dynamic
             $dynamic = new Dynamic();
             $dynamic->author_id = $userid;
             $dynamic->content_id = $user_id;
             $dynamic->status = Constants::OBJECT_APPROVAL;
             $dynamic->create_date = new CDbExpression('NOW()');
             $dynamic->content_name = $user->nickname;
             $dynamic->dynamic_type = Constants::DYNAMIC_TYPE_LIKE_FRIEND;
             $dynamic->content_pic_url = $user->user_photo_url;
             $dynamic->save();
             //ADD NOTIFY MSG
             $msg = new NotifyMsg();
             $msg->author_id = $user_id;
             $msg->nofity_user_id = Yii::app()->user->id;
             $msg->notify_user_name = Yii::app()->user->getState("nickname");
             $msg->notify_user_pic_url = Yii::app()->user->getState("pic_url");
             $msg->created_date = new CDbExpression('NOW()');
             $msg->status = Constants::OBJECT_APPROVAL;
             $msg->notify_type = Constants::NOTIFY_TYPE_LIKE_FRIEND;
             $msg->save();
             $transaction->commit();
             IjoyPlusServiceUtils::exportServiceError(Constants::SUCC);
         } else {
             IjoyPlusServiceUtils::exportServiceError(Constants::PERSON_IS_LIKED);
         }
     } catch (Exception $e) {
         $transaction->rollback();
         IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR);
     }
 }
 public function actionMsgs()
 {
     header('Content-type: application/json');
     if (!IjoyPlusServiceUtils::validateAPPKey()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID);
         return;
     }
     if (IjoyPlusServiceUtils::validateUserID()) {
         IjoyPlusServiceUtils::exportServiceError(Constants::USER_ID_INVALID);
         return;
     }
     $page_size = Yii::app()->request->getParam("page_size");
     $page_num = Yii::app()->request->getParam("page_num");
     if (!(isset($page_size) && is_numeric($page_size))) {
         $page_size = 10;
         $page_num = 1;
     } else {
         if (!(isset($page_num) && is_numeric($page_num))) {
             $page_num = 1;
         }
     }
     try {
         $msgs = NotifyMsg::model()->myNotifyMsgs(Yii::app()->user->id, $page_size, $page_size * ($page_num - 1));
         if (isset($msgs) && !is_null($msgs) && is_array($msgs)) {
             IjoyPlusServiceUtils::exportEntity(array('msgs' => $this->transferMsgs($msgs)));
         } else {
             IjoyPlusServiceUtils::exportEntity(array('msgs' => array()));
         }
     } catch (Exception $e) {
         IjoyPlusServiceUtils::exportServiceError(Constants::SYSTEM_ERROR);
     }
 }