sendmembermsg.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. /**
  3. *
  4. *
  5. *
  6. * @package library* www.33hao.com 专业团队 提供售后服务
  7. */
  8. require_once(BASE_ROOT_PATH . '/helper/push_sender.php');
  9. require_once(BASE_ROOT_PATH . '/helper/sms_helper.php');
  10. class sendMemberMsg
  11. {
  12. private $code = '';
  13. private $member_id = 0;
  14. private $member_info = array();
  15. private $mobile = '';
  16. public function set($key,$value){
  17. $this->$key = $value;
  18. }
  19. public function send($param = array())
  20. {
  21. $msg_tpl = rkcache('member_msg_tpl', true);
  22. if (!isset($msg_tpl[$this->code]) || $this->member_id <= 0) {
  23. return false;
  24. }
  25. $tpl_info = $msg_tpl[$this->code];
  26. $setting_info = Model('member_msg_setting')->getMemberMsgSettingInfo(array('mmt_code' => $this->code, 'member_id' => $this->member_id), 'is_receive');
  27. if (empty($setting_info) || $setting_info['is_receive'])
  28. {
  29. // 发送站内信
  30. if ($tpl_info['mmt_message_switch']) {
  31. $message = ncReplaceText($tpl_info['mmt_message_content'],$param);
  32. $this->sendMessage($message);
  33. }
  34. $push_success = false;
  35. if ($tpl_info['mmt_push_switch']) {
  36. $message = ncReplaceText($tpl_info['mmt_push_content'],$param);
  37. $info = push_helper::format_msg($this->member_id,$message);
  38. $sender = new push_sender();
  39. $push_success = $sender->send($info);
  40. }
  41. // 发送短消息
  42. if ($push_success == false && $tpl_info['mmt_short_switch'])
  43. {
  44. $sms_code = $setting_info['mmt_short_code'];
  45. $this->getMemberInfo();
  46. if (!empty($this->mobile)) {
  47. $this->member_info['member_mobile'] = $this->mobile;
  48. }
  49. if ($this->member_info['member_mobile_bind'] && !empty($this->member_info['member_mobile'])) {
  50. $param['site_name'] = C('site_name');
  51. $message = ncReplaceText($tpl_info['mmt_short_content'],$param);
  52. $this->sendShort($this->member_info['member_mobile'], $message);
  53. }
  54. }
  55. }
  56. }
  57. /**
  58. * 会员详细信息
  59. */
  60. private function getMemberInfo() {
  61. if (empty($this->member_info)) {
  62. $this->member_info = Model('member')->getMemberInfoByID($this->member_id);
  63. }
  64. }
  65. /**
  66. * 发送站内信
  67. * @param unknown $message
  68. */
  69. private function sendMessage($message) {
  70. //添加短消息
  71. $model_message = Model('message');
  72. $insert_arr = array();
  73. $insert_arr['from_member_id'] = 0;
  74. $insert_arr['member_id'] = $this->member_id;
  75. $insert_arr['msg_content'] = $message;
  76. $insert_arr['message_type'] = 1;
  77. $model_message->saveMessage($insert_arr);
  78. }
  79. /**
  80. * 发送短消息
  81. * @param unknown $number
  82. * @param unknown $message
  83. */
  84. private function sendShort($number, $message) {
  85. $sms = new Sms();
  86. $sms->send($number, $message);
  87. }
  88. /**
  89. * 发送邮件
  90. * @param unknown $number
  91. * @param unknown $subject
  92. * @param unknown $message
  93. */
  94. private function sendMail($number, $subject, $message) {
  95. //即时发送邮箱 v3-b11
  96. $email = new Email();
  97. $email->send_sys_email($number,$subject,$message);
  98. // 计划任务代码
  99. /*$insert = array();
  100. $insert['mail'] = $number;
  101. $insert['subject'] = $subject;
  102. $insert['contnet'] = $message;
  103. Model('mail_cron')->addMailCron($insert);*/
  104. }
  105. }