sendmembermsg.php 3.9 KB

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