public function actionCreate() { $model = new Dynamic(); if ($_POST['Dynamic']) { $accessKey = Yii::app()->params['qiniu']['accessKey']; $secretKey = Yii::app()->params['qiniu']['secretKey']; $auth = new Auth($accessKey, $secretKey); $bucket = 'urtime1'; $token = $auth->uploadToken($bucket); $uploadMgr = new UploadManager(); $_POST['Dynamic']['dy_type'] = 2; /*var_dump($_POST['Dynamic']); var_dump($_FILES); exit;*/ if ($_FILES['upImage']['name'] != null) { $images = $this->setImageInformation($_FILES, $token, $uploadMgr); if ($images) { //$images_str = implode(',',$images); $_POST['Dynamic']['dy_images'] = json_encode($images); //$images_str; } } $model->attributes = $_POST['Dynamic']; if ($model->validate() && $model->save()) { //$this->redirect('site/index'); Yii::app()->user->setFlash('dynamic', '创建成功'); // Yii::app()->end(); $this->redirect(array('/dynamic/index')); } } $stores = Store::model()->getName(); $this->render('create', ['model' => $model, 'stores' => $stores]); }
function actionShare() { 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 { $favority = Dynamic::model()->getDynamicByProd($owner_id, $prod_id, Constants::DYNAMIC_TYPE_SHARE); if (!(isset($favority) && !is_null($favority))) { $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_SHARE; $dynamic->content_pic_url = $program->d_pic; // $dynamic->content_desc=$share_to_where; $dynamic->save(); User::model()->updateShareCount($owner_id, 1); Program::model()->incShareCount($prod_id); $program->share_number = $program->share_number + 1; CacheManager::synProgramCache($program); } // if(isset($program->publish_owner_id) && !is_null($program->publish_owner_id) && $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("username"); // $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_SHARE; // $msg->content_desc=$share_to_where; // $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); } }
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; } }
public function save($runValidation = true, $attributes = null) { $beforeTokenSave = new PluginEvent('beforeTokenSave'); $beforeTokenSave->set('model', $this); $beforeTokenSave->set('iSurveyID', $this->dynamicId); App()->getPluginManager()->dispatchEvent($beforeTokenSave); return parent::save($runValidation, $attributes); }
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 addDynamic($params = array()) { extract($params); if (isset($id) && $id && isset($type)) { $dynamic = array('dy_user' => $id, 'dy_type' => $type ? $type : 0); if (isset($content) && $content) { $dynamic['dy_content'] = $content; } if (isset($image) && $image) { if (!is_null(json_decode($image))) { $images = json_decode($image); $dynamic['dy_images'] = implode(',', $images); } else { $dynamic['dy_images'] = $image; } } $model = new Dynamic(); $model->attributes = $dynamic; if ($model->validate() && $model->save()) { $id = $model->getPrimaryKey(); $result = array('id' => $id); $ret = $this->notice('OK', 0, '成功', $result); } else { $ret = $this->notice('ERR', 307, '操作数据错误', $model->getErrors()); } return $ret; } else { return $this->notice('ERR', 301, '缺少关键参数', []); } }
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); } }