/**
  *
  */
 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();
             }
         }
     }
 }
Example #5
0
 /**
  * 屏蔽用户
  */
 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);
         }
     }
 }
Example #6
0
 /**
  * 删除主题下的评论
  */
 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();
     }
 }
Example #7
0
 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;
     }
 }
Example #8
0
 /**
  * 更新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();
     }
 }
Example #10
0
 /**
  * 更新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);
 }
Example #11
0
 /**
  * 更新回复表
  */
 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();
         }
     }
 }
Example #12
0
 /**
  * 更新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();
     }
 }