mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Improved Pushover transport code
This commit is contained in:
@@ -39,20 +39,46 @@ foreach( $opts as $api ) {
|
||||
$data = array();
|
||||
$data['token'] = $api['appkey'];
|
||||
$data['user'] = $api['userkey'];
|
||||
if( $obj['severity'] == "critical" ) {
|
||||
if( !empty($api['sound_critical']) ) {
|
||||
$data['sound'] = $api['sound_critical'];
|
||||
}
|
||||
$severity = "Critical";
|
||||
$data['priority'] = 1;
|
||||
}
|
||||
elseif( $obj['severity'] == "warning" ) {
|
||||
$severity = "Warning";
|
||||
$data['priority'] = 0;
|
||||
}
|
||||
$curl = curl_init();
|
||||
$data['title'] = $severity." - ".$obj['hostname'];
|
||||
$data['message'] = $obj['name'];
|
||||
switch( $obj['severity'] ) {
|
||||
case "critical":
|
||||
$severity = "Critical";
|
||||
$data['priority'] = 1;
|
||||
if( !empty( $api['sound_critical'] ) ) {
|
||||
$data['sound'] = $api['sound_critical'];
|
||||
}
|
||||
break;
|
||||
case "warning":
|
||||
$severity = "Warning";
|
||||
$data['priority'] = 0;
|
||||
if( !empty( $api['sound_warning'] ) ) {
|
||||
$data['sound'] = $api['sound_warning'];
|
||||
}
|
||||
break;
|
||||
}
|
||||
$curl = curl_init();
|
||||
switch( $obj['state'] ) {
|
||||
case 0:
|
||||
$title_text = "OK";
|
||||
if( !empty( $api['sound_ok'] ) ) {
|
||||
$data['sound'] = $api['sound_ok'];
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
$title_text = $severity;
|
||||
break;
|
||||
case 2:
|
||||
$title_text = "Acknowledged";
|
||||
break;
|
||||
}
|
||||
$data['title'] = $title_text." - ".$obj['hostname']." - ".$obj['name'];
|
||||
$message_text = "Timestamp: ".$obj['timestamp'];
|
||||
if( !empty( $obj['faults'] ) ) {
|
||||
$message_text .= "\n\nFaults:\n";
|
||||
foreach($obj['faults'] as $k => $faults) {
|
||||
$message_text .= "#".$k." ".$faults['string']."\n";
|
||||
}
|
||||
}
|
||||
$data['message'] = $message_text;
|
||||
curl_setopt($curl, CURLOPT_URL, 'https://api.pushover.net/1/messages.json');
|
||||
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
|
||||
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
|
||||
|
||||
Reference in New Issue
Block a user