From c1c520d781a9d4bd3254b48ee4077a11a26379a4 Mon Sep 17 00:00:00 2001 From: laf Date: Sat, 28 Feb 2015 11:45:30 +0000 Subject: [PATCH] Removing POST / GET code as slack only uses POST --- doc/Extensions/Alerting.md | 4 +-- includes/alerts/transport.slack.php | 52 ++++++++++++++--------------- 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/doc/Extensions/Alerting.md b/doc/Extensions/Alerting.md index ddeddb34f..d1b93e3d4 100644 --- a/doc/Extensions/Alerting.md +++ b/doc/Extensions/Alerting.md @@ -176,8 +176,8 @@ $config['alert']['transports']['irc'] = true; The Slack transport will POST the alert message to your Slack Incoming WebHook, you are able to specify multiple webhooks along with the relevant options to go with it. All options are optional, the only required value is for url, without this then no call to Slack will be made. Below is an example of how to send alerts to two channels with different customised options: ```php -$config['alert']['transports']['slack']['post'][] = array('url' => "https://hooks.slack.com/services/A12B34CDE/F56GH78JK/L901LmNopqrSTUVw2w3XYZAB4C", 'channel' => '#Alerting'); +$config['alert']['transports']['slack'][] = array('url' => "https://hooks.slack.com/services/A12B34CDE/F56GH78JK/L901LmNopqrSTUVw2w3XYZAB4C", 'channel' => '#Alerting'); -$config['alert']['transports']['slack']['post'][] = array('url' => "https://hooks.slack.com/services/A12B34CDE/F56GH78JK/L901LmNopqrSTUVw2w3XYZAB4C", 'channel' => '@john', 'username' => 'LibreNMS', 'icon_emoji' => ':ghost:'); +$config['alert']['transports']['slack'][] = array('url' => "https://hooks.slack.com/services/A12B34CDE/F56GH78JK/L901LmNopqrSTUVw2w3XYZAB4C", 'channel' => '@john', 'username' => 'LibreNMS', 'icon_emoji' => ':ghost:'); ``` diff --git a/includes/alerts/transport.slack.php b/includes/alerts/transport.slack.php index a623402e4..15ba3ea19 100644 --- a/includes/alerts/transport.slack.php +++ b/includes/alerts/transport.slack.php @@ -21,33 +21,31 @@ * @subpackage Alerts */ -foreach( $opts as $method=>$apis ) { - foreach( $apis as $tmp_api ) { - list($host, $api) = explode("?",$tmp_api['url'],2); - foreach( $obj as $k=>$v ) { - $api = str_replace("%".$k,$method == "get" ? urlencode($v) : $v, $api); - } - $curl = curl_init(); - $data = array( - 'text' => $obj['msg'], - 'channel' => $tmp_api['channel'], - 'username' => $tmp_api['username'], - 'icon_url' => $tmp_api['icon_url'], - 'icon_emoji' => $tmp_api['icon_emoji'], - ); - $alert_message = "payload=" . json_encode($data); - curl_setopt($curl, CURLOPT_URL, ($method == "get" ? $host."?".$api : $host) ); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($curl, CURLOPT_POST,true); - curl_setopt($curl, CURLOPT_POSTFIELDS, $alert_message ); - $ret = curl_exec($curl); - $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); - if( $code != 200 ) { - var_dump("API '$host' returnd Error"); //FIXME: propper debuging - var_dump("Params: ".$api); //FIXME: propper debuging - var_dump("Return: ".$ret); //FIXME: propper debuging - return false; - } +foreach( $opts as $tmp_api ) { + $host = $tmp_api['url']; + foreach( $obj as $k=>$v ) { + $api = str_replace("%".$k,$method == "get" ? urlencode($v) : $v, $api); + } + $curl = curl_init(); + $data = array( + 'text' => $obj['msg'], + 'channel' => $tmp_api['channel'], + 'username' => $tmp_api['username'], + 'icon_url' => $tmp_api['icon_url'], + 'icon_emoji' => $tmp_api['icon_emoji'], + ); + $alert_message = "payload=" . json_encode($data); + curl_setopt($curl, CURLOPT_URL, $host); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($curl, CURLOPT_POST,true); + curl_setopt($curl, CURLOPT_POSTFIELDS, $alert_message ); + $ret = curl_exec($curl); + $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); + if( $code != 200 ) { + var_dump("API '$host' returnd Error"); //FIXME: propper debuging + var_dump("Params: ".$alert_message); //FIXME: propper debuging + var_dump("Return: ".$ret); //FIXME: propper debuging + return false; } } return true;