간단히 이해하면 BearycChat은 일종의 IM으로, 다양한 MS 시스템의 메시지를 집계할 수 있으며 팀 협업 중 메시지 흐름을 위한 강력한 도구입니다.
저는 도구를 좋아하는 편이라 불편함은 없어요.
말도 안 돼요. 코드는 다음과 같습니다.
/path_to_zentao/module/action/ext/model/logHistory.php
<code><?php /** * Log histories for an action. * * @param int $actionID * @param array $changes * @access public * @return void */ public function logHistory($actionID, $changes) { foreach($changes as $change) { $change['action'] = $actionID; $result = $this->dao->insert(TABLE_HISTORY)->data($change)->exec(); //bearychat notice $this->notifyBearychat($actionID, $change['new']); } } protected function notifyBearychat($actionID, $text) { $action = $this->dao->select('*')->from(TABLE_ACTION) ->where('id')->eq($actionID) ->fetch(); $_actions = $this->loadModel('action')->transformActions(array($action)); $action = $_actions[0]; $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)); return $this->curlPostPayload2Bearychat($title, $text);//, 'project-' . $action->project . '' } protected function curlPostPayload2Bearychat($title, $text, $channel = 'pms') { $url = 'https://hook.bearychat.com/your_self_params';//简单的定义于此 $str = array('payload' => json_encode(array('text' => $title, 'markdown' => true, 'channel' => $channel, 'attachments' => array(array('text' => strip_tags($text))))));// $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $str); if (substr($url, 0, 8) == "https://") { $opt[CURLOPT_SSL_VERIFYHOST] = 1; $opt[CURLOPT_SSL_VERIFYPEER] = FALSE; } curl_setopt_array($ch, $opt); curl_exec($ch); curl_close($ch); } </code>
위 내용은 관련 내용을 포함하여 ZenTao를 사용하여 BearyChat을 플레이하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.