当前位置:Gxlcms > PHP教程 > 让禅道也可以玩BearyChat

让禅道也可以玩BearyChat

时间:2021-07-01 10:21:17 帮助过:3人阅读

简单的理解,BearycChat是一种IM,是一种能聚合各种MS系统消息的东西,是团队协作过程中消息流转的利器。

我是工具控,所以不折腾不舒服。

废话不说,上码:

/path_to_zentao/module/action/ext/model/logHistory.php

  1. <code><!--?php
  2. /**
  3. * Log histories for an action.
  4. *
  5. * @param int $actionID
  6. * @param array $changes
  7. * @access public
  8. * @return void
  9. */
  10. public function logHistory($actionID, $changes)
  11. {
  12. foreach($changes as $change)
  13. {
  14. $change['action'] = $actionID;
  15. $result = $this--->dao->insert(TABLE_HISTORY)->data($change)->exec();
  16. //bearychat notice
  17. $this->notifyBearychat($actionID, $change['new']);
  18. }
  19. }
  20. protected function notifyBearychat($actionID, $text) {
  21. $action = $this->dao->select('*')->from(TABLE_ACTION)
  22. ->where('id')->eq($actionID)
  23. ->fetch();
  24. $_actions = $this->loadModel('action')->transformActions(array($action));
  25. $action = $_actions[0];
  26. $title = strip_tags(sprintf("%s, %s <em>%s</em> %s %s %s。", $action->date, $action->actor, $action->actionLabel, $action->objectLabel, $action->objectName, 'http://'.(isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '')) . $action->objectLink));
  27. return $this->curlPostPayload2Bearychat($title, $text);//, 'project-' . $action->project . ''
  28. }
  29. protected function curlPostPayload2Bearychat($title, $text, $channel = 'pms') {
  30. $url = 'https://hook.bearychat.com/your_self_params';//简单的定义于此
  31. $str = array('payload' => json_encode(array('text' => $title, 'markdown' => true, 'channel' => $channel, 'attachments' => array(array('text' => strip_tags($text))))));//
  32. $ch = curl_init();
  33. curl_setopt($ch, CURLOPT_URL, $url);
  34. curl_setopt($ch, CURLOPT_POST, 1);
  35. curl_setopt($ch, CURLOPT_POSTFIELDS, $str);
  36. if (substr($url, 0, 8) == "https://")
  37. {
  38. $opt[CURLOPT_SSL_VERIFYHOST] = 1;
  39. $opt[CURLOPT_SSL_VERIFYPEER] = FALSE;
  40. }
  41. curl_setopt_array($ch, $opt);
  42. curl_exec($ch);
  43. curl_close($ch);
  44. }
  45. </code>

以上就介绍了让禅道也可以玩BearyChat,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行