sendStoremsg.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace sendmsg;
  3. class sendStoremsg {
  4. private $code = '';
  5. private $store_id = 0;
  6. /**
  7. * 设置
  8. *
  9. * @param mixed $key
  10. * @param mixed $value
  11. */
  12. public function set($key,$value){
  13. $this->$key = $value;
  14. }
  15. public function send($param = array()) {
  16. $msg_tpl = rkcache('storemsgtpl', true);
  17. if (!isset($msg_tpl[$this->code]) || $this->store_id <= 0) {
  18. return false;
  19. }
  20. $tpl_info = $msg_tpl[$this->code];
  21. $setting_info = model('storemsgsetting')->getStoremsgsettingInfo(array('storemt_code' => $this->code, 'store_id' => $this->store_id));
  22. // 发送站内信
  23. if ($tpl_info['storemt_message_switch'] && ($tpl_info['storemt_message_forced'] || $setting_info['storems_message_switch'])) {
  24. $message = ds_replace_text($tpl_info['storemt_message_content'],$param);
  25. $this->sendMessage($message);
  26. }
  27. // 发送短消息
  28. if ($tpl_info['storemt_short_switch'] && $setting_info['storems_short_number'] != '' && ($tpl_info['smt_short_forced'] || $setting_info['storems_short_switch'])) {
  29. $param['site_name'] = config('site_name');
  30. $message = ds_replace_text($tpl_info['storemt_short_content'],$param);
  31. $this->sendShort($setting_info['storems_short_number'], $message);
  32. }
  33. // 发送邮件
  34. if ($tpl_info['storemt_mail_switch'] && $setting_info['storems_mail_number'] != '' && ($tpl_info['storemt_mail_forced'] || $setting_info['storems_mail_switch'])) {
  35. $param['site_name'] = config('site_name');
  36. $param['mail_send_time'] = date('Y-m-d H:i:s');
  37. $subject = ds_replace_text($tpl_info['storemt_mail_subject'],$param);
  38. $message = ds_replace_text($tpl_info['storemt_mail_content'],$param);
  39. $this->sendMail($setting_info['storems_mail_number'], $subject, $message);
  40. }
  41. }
  42. /**
  43. * 发送站内信
  44. * @param unknown $message
  45. */
  46. private function sendMessage($message) {
  47. $insert = array();
  48. $insert['storemt_code'] = $this->code;
  49. $insert['store_id'] = $this->store_id;
  50. $insert['storemsg_content'] = $message;
  51. model('storemsg')->addStoremsg($insert);
  52. }
  53. /**
  54. * 发送短消息
  55. * @param unknown $number
  56. * @param unknown $message
  57. */
  58. private function sendShort($number, $message) {
  59. $sms = new \sendmsg\Sms();
  60. $sms->send($number, $message);
  61. }
  62. /**
  63. * 发送邮件
  64. * @param unknown $number
  65. * @param unknown $subject
  66. * @param unknown $message
  67. */
  68. private function sendMail($number, $subject, $message) {
  69. $email = new Email();
  70. $email->send_sys_email($number,$subject,$message);
  71. // 计划任务代码
  72. $insert = array();
  73. $insert['mailcron_address'] = $number;
  74. $insert['mailcron_subject'] = $subject;
  75. $insert['mailcron_contnet'] = $message;
  76. model('mailcron')->addMailCron($insert);
  77. }
  78. }