讓禪道也可以玩BearyChat

WBOY
發布: 2016-07-30 13:29:39
原創
965 人瀏覽過

簡單的理解,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[&#39;action&#39;] = $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>
登入後複製

以上就介紹了讓禪道也可以玩BearyChat,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!