/** * */ function onHook() { $order_id = modApiFunc("Checkout", "getLastPlacedOrderID"); if ($order_id) { $notifications = modApiFunc("Notifications", "getNotificationsList", 1); foreach ($notifications as $notificationInfo) { $notification = new NotificationContent(array('notification_id' => $notificationInfo['Id'], 'order_id' => $order_id, 'action_id' => 1)); $notification->send(); } } }
/** * */ function onHook($data_obj) { $cr_id = $data_obj->_cr_id_posted; if ($cr_id > 0) { $notifications = modApiFunc('Notifications', 'getNotificationsList', 15); // CustomerReviewPosted foreach ($notifications as $info) { $notification = new NotificationContent(array('notification_id' => $info['Id'], 'cr_id' => $cr_id, 'action_id' => 15)); $notification->send(); } } }
/** * */ function onHook($actionObj) { if (isset($actionObj->result['payment_status']) && sizeof($actionObj->result['payment_status'])) { foreach ($actionObj->result['payment_status'] as $order_id => $statuses) { $order_id = intval($order_id, 10); $notifications = modApiFunc("Notifications", "getNotificationsList", 3); foreach ($notifications as $notificationInfo) { $notification = new NotificationContent(array('notification_id' => $notificationInfo['Id'], 'order_id' => $order_id, 'action_id' => 3, 'status' => 'payment', 'statuses' => $statuses)); $notification->send(); } } } }
/** * */ function onHook($actionObj) { if (isset($actionObj->result['payment_status']) && sizeof($actionObj->result['payment_status'])) { foreach ($actionObj->result['payment_status'] as $order_id => $statuses) { if ($statuses['new_status'] != 2 or $statuses['new_status'] == $statuses['old_status']) { continue; } $order_id = intval($order_id, 10); $notifications = modApiFunc("Notifications", "getNotificationsList", 5); foreach ($notifications as $notificationInfo) { $notification = new NotificationContent(array('notification_id' => $notificationInfo['Id'], 'order_id' => $order_id, 'action_id' => 5)); $notification->send(); } } } }
/** * 屏蔽用户 */ public function actionBlockuser() { if (isset($_POST["user_id"])) { $userId = $_POST["user_id"]; $loginUser = Yii::app()->user->id; if ($userId == $loginUser) { echo "DENGER"; } else { $followees = User::model()->findByPk($loginUser)->block_users; $blockArray = explode(",", rtrim($followees, ",")); if (in_array($userId, $blockArray)) { $blockString = ""; for ($i = 0; $i < count($blockArray); $i++) { if ($blockArray[$i] != $userId) { $blockString .= $followeesArray[$i] . ","; } } $model = $this->loadModelUser($loginUser); $model->block_users = $blockString; $model->save(); echo "屏蔽用户"; } else { $model = $this->loadModelUser($loginUser); $model->block_users = $model->block_users . $userId . ","; $model->save(); echo "取消屏蔽"; } $notificationContentModel = new NotificationContent(); $notificationData = array("pk_id" => $userId, "content" => in_array($userId, $blockArray) ? "取消屏蔽了" : "屏蔽了", "send_time" => time(), "notification_type" => "block"); $notificationContentModel->insertNotificationContent($notificationData); } } }
/** * 删除主题下的评论 */ public function afterDelete() { parent::afterDelete(); $criteria = new CDbCriteria(); $criteria->addCondition("pk_id=" . $this->id); $criteria->addCondition("model='topic'"); $commentModel = Comment::model()->findAll($criteria); foreach ($commentModel as $value) { Comment::model()->findByPk($value->id)->delete(); } $criteria = new CDbCriteria(); $criteria->addCondition("topic_id=" . $this->id); $commentModel = LoveTopic::model()->deleteAll($criteria); $notificationCriteria = new CDbCriteria(); $notificationCriteria->addCondition("pk_id=" . $this->id); $notificationCriteria->addCondition("notification_type='createtopic'"); $notifyModel = NotificationContent::model()->find($notificationCriteria); if ($notifyModel != null) { NotificationContent::model()->findByPk($notifyModel->id)->delete(); } }
public function insertNotification($id) { $notificationContentModel = NotificationContent::model()->findBypk($id); $success_count = 0; $to_id_arr = array(); $createUser = $notificationContentModel->from_id; if (in_array($notificationContentModel->notification_type, array("report", "reportquestion", "reportanswer", "reportarticle"))) { $userModal = User::model()->find("user_name='admin'")->id; $to_id_arr[] = $userModal; } else { if ($notificationContentModel->notification_type == "attention") { $userModel = unserialize(User::model()->findByPk($notificationContentModel->pk_id)->recv_option); if ($userModel['subscribe_member_follow'] == 1) { $userId = $notificationContentModel->pk_id; $to_id_arr[] = $userId; } } else { if ($notificationContentModel->notification_type == "answer") { $to_id_arr[] = Answer::model()->findByPk(Comment::model()->findByPk($notificationContentModel->pk_id)->pk_id)->create_user; } else { if ($notificationContentModel->notification_type == "article") { $to_id_arr[] = Article::model()->findByPk(Comment::model()->findByPk($notificationContentModel->pk_id)->pk_id)->create_user; } else { if ($notificationContentModel->notification_type == "question") { $to_id_arr[] = Question::model()->findByPk(Answer::model()->findByPk($notificationContentModel->pk_id)->question_id)->create_user; } else { if ($notificationContentModel->notification_type == "comment") { $to_id_arr[] = Comment::model()->findByPk(Comment::model()->findByPk($notificationContentModel->pk_id)->parent_id)->user_id; } } } } } } foreach (array_unique($to_id_arr) as $uid) { $model = new Notification(); $model->to_id = $uid; $model->content_id = $notificationContentModel->id; $model->remind_time = $notificationContentModel->send_time; $model->delete_flag = 0; $model->remind_flag = 0; if ($model->save()) { $success_count++; } } if (count($to_id_arr) == $success_count) { return true; } else { return false; } }
/** * 更新user表 */ public function afterDelete() { parent::afterDelete(); $createUser = Yii::app()->user->id; $time = strtotime(date("Y-m-d", time())); $count = self::model()->count("create_user = "******" and update_time > " . $time); if ($count == 0 && $this->update_time > $time && $this->publish == 1) { $userModal = User::model()->findByPk($createUser); $score = Sys::model()->getvaluesByType("artice_score"); $wealthModel = new Wealth(); if (Sys::model()->getvaluesByType("artice_type") == "0") { $userModal->wealth = $userModal->wealth - intval($score); $content = "删除文章成功,花费" . $score . "个财富值"; $data = array('content' => $content, 'create_time' => time()); $wealthModel->insertWealth($data); } $userModal->save(); } $criteria = new CDbCriteria(); $criteria->addCondition("pk_id=" . $this->id); $criteria->addCondition("model='article'"); $commentModel = Comment::model()->findAll($criteria); foreach ($commentModel as $value) { Comment::model()->findByPk($value->id)->delete(); } $criteria = new CDbCriteria(); $criteria->addCondition("pk_id=" . $this->id); $criteria->addCondition("model='article'"); Vote::model()->deleteAll($criteria); $notificationCriteria = new CDbCriteria(); $notificationCriteria->addCondition("pk_id=" . $this->id); $notificationCriteria->addCondition("notification_type='createarticle'"); $notifyModel = NotificationContent::model()->find($notificationCriteria); if ($notifyModel != null) { NotificationContent::model()->findByPk($notifyModel->id)->delete(); } }
function OnInventoryLowLevel($inventory_info) { $notifications = modApiFunc("Notifications", "getNotificationsList", 14); //: remove magic number foreach ($notifications as $notificationInfo) { $notification = new NotificationContent(array('notification_id' => $notificationInfo['Id'], 'action_id' => 14, 'inventory_info' => $inventory_info)); $notification->send(); } }
/** * 更新user表 */ public function inserNotify($id) { $model = Question::model()->findByPk($id); $createUser = $model->create_user; $userModal = User::model()->findByPk($createUser); $score = Sys::model()->getvaluesByType("question_score"); $type = Sys::model()->getvaluesByType("question_type"); $time = strtotime(date("Y-m-d", time())); $count = Question::model()->count("create_user=:create_user and create_time>:create_time", array(":create_user" => $this->create_user, ":create_time" => $time)); if ($count == 1) { $wealthModel = new Wealth(); if ($type == "0") { $userModal->wealth = $userModal->wealth + intval($score); $content = "提问成功,奖励" . $score . "个财富值"; $data = array('content' => $content, 'create_time' => $model->create_time); $wealthModel->insertWealth($data); } } if ($type == "1") { $userModal->wealth = $userModal->wealth - intval($score); $content = "提问成功,花费" . $score . "个财富值"; $data = array('content' => $content, 'create_time' => $model->create_time); $wealthModel->insertWealth($data); } $userModal->save(); $notificationData = array("pk_id" => $model->id, "content" => "提出了一个问题", "send_time" => $model->create_time, "notification_type" => "createquestion"); NotificationContent::insertNotificationContent($notificationData, true); }
/** * 更新回复表 */ public function afterDelete() { parent::afterDelete(); $criteria = new CDbCriteria(); $criteria->addCondition("parent_id=" . $this->id); Comment::model()->deleteAll($criteria); if (in_array($this->model, array('diary', 'picture', 'recent', 'timeline', 'topic'))) { if (NotificationContent::model()->count("notification_type=:notification_type and pk_id=:pk_id", array(":notification_type" => $this->model, ":pk_id" => $this->id)) > 0) { $id = NotificationContent::model()->find("notification_type=:notification_type and pk_id=:pk_id", array(":notification_type" => $this->model, ":pk_id" => $this->id))->id; NotificationContent::model()->findByPk($id)->delete(); } } }
/** * 更新user表 */ public function afterDelete() { parent::afterDelete(); $count = self::model()->count("content_id=" . $this->content_id); if ($count == 0) { NotificationContent::model()->findByPk($this->content_id)->delete(); } }