2015-05-16 14:06:48 +01:00
< ? php
/*
* LibreNMS
*
* Copyright ( c ) 2014 Neil Lathwood < https :// github . com / laf / http :// www . lathwood . co . uk / fa >
*
* This program is free software : you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation , either version 3 of the License , or ( at your
* option ) any later version . Please see LICENSE . txt at the top level of
* the source code distribution for details .
*/
2015-05-25 21:51:27 +01:00
$no_refresh = TRUE ;
?>
<!-- API URL Modal -->
< div class = " modal fade " id = " new-config-api " role = " dialog " aria - hidden = " true " title = " Create new config item " >
< div class = " modal-dialog " >
< div class = " modal-content " >
< div class = " modal-body " >
< form role = " form " class = " new_config_form " >
< div class = " form-group " >
< span class = " message " ></ span >
</ div >
< div class = " form-group " >
< label for = " new_conf_name " > Method </ label >
< select name = " new_method " id = " new_method " class = " form-control " >
< option value = " get " > GET </ option >
< option value = " post " > POST </ option >
< option value = " put " > PUT </ option >
</ select >
</ div >
< div class = " form-group " >
< label for = " new_conf_value " > API URL </ label >
< input type = " text " class = " form-control " name = " new_conf_value " id = " new_conf_value " placeholder = " Enter the config value " >
</ div >
</ form >
</ div >
< div class = " modal-footer " >
< button class = " btn btn-success " id = " submit " > Add config </ button >
< a href = " # " class = " btn " data - dismiss = " modal " > Cancel </ a >
</ div >
</ div >
</ div >
</ div >
<!-- End API URL Modal -->
<!-- Slack Modal -->
< div class = " modal fade " id = " new-config-slack " role = " dialog " aria - hidden = " true " title = " Create new config item " >
< div class = " modal-dialog " >
< div class = " modal-content " >
< div class = " modal-body " >
< form role = " form " class = " new_config_form " >
< div class = " form-group " >
< span class = " message " ></ span >
</ div >
< div class = " form-group " >
< label for = " slack_value " > Slack API URL </ label >
< input type = " text " class = " form-control " name = " slack_value " id = " slack_value " placeholder = " Enter the Slack API url " >
</ div >
< div class = " form-group " >
< label for = " slack_extra " > Slack options ( specify one per line key = value ) </ label >
< textarea class = " form-control " name = " slack_extra " id = " slack_extra " placeholder = " Enter the config options " ></ textarea >
</ div >
</ form >
</ div >
< div class = " modal-footer " >
< button class = " btn btn-success " id = " submit-slack " > Add config </ button >
< a href = " # " class = " btn " data - dismiss = " modal " > Cancel </ a >
</ div >
</ div >
</ div >
</ div >
<!-- End Slack Modal -->
<!-- Hipchat Modal -->
< div class = " modal fade " id = " new-config-hipchat " role = " dialog " aria - hidden = " true " title = " Create new config item " >
< div class = " modal-dialog " >
< div class = " modal-content " >
< div class = " modal-body " >
< form role = " form " class = " new_config_form " >
< div class = " form-group " >
< span class = " message " ></ span >
</ div >
< div class = " form-group " >
< label for = " hipchat_value " > Hipchat API URL </ label >
< input type = " text " class = " form-control " name = " hipchat_value " id = " hipchat_value " placeholder = " Enter the Hipchat API url " >
</ div >
< div class = " form-group " >
< label for = " new_room_id " > Room ID </ label >
< input type = " text " class = " form-control " name = " new_room_id " id = " new_room_id " placeholder = " Enter the room ID " >
</ div >
< div class = " form-group " >
< label for = " new_from " > From </ label >
< input type = " text " class = " form-control " name = " new_from " id = " new_from " placeholder = " Enter the from details " >
</ div >
< div class = " form-group " >
< label for = " hipchat_extra " > Hipchat options ( specify one per line key = value ) </ label >
< textarea class = " form-control " name = " hipchat_extra " id = " hipchat_extra " placeholder = " Enter the config options " ></ textarea >
</ div >
</ form >
</ div >
< div class = " modal-footer " >
< button class = " btn btn-success " id = " submit-hipchat " > Add config </ button >
< a href = " # " class = " btn " data - dismiss = " modal " > Cancel </ a >
</ div >
</ div >
</ div >
</ div >
<!-- End Hipchat Modal -->
2015-06-20 12:18:37 +01:00
<!-- Pushover Modal -->
< div class = " modal fade " id = " new-config-pushover " role = " dialog " aria - hidden = " true " title = " Create new config item " >
< div class = " modal-dialog " >
< div class = " modal-content " >
< div class = " modal-body " >
< form role = " form " class = " new_config_form " >
< div class = " form-group " >
< span class = " message " ></ span >
</ div >
< div class = " form-group " >
< label for = " pushover_value " > Pushover Apikey </ label >
< input type = " text " class = " form-control " name = " pushover_value " id = " pushover_value " placeholder = " Enter the Pushover Apikey " >
</ div >
< div class = " form-group " >
< label for = " new_userkey " > Room ID </ label >
< input type = " text " class = " form-control " name = " new_userkey " id = " new_userkey " placeholder = " Enter the Userkey " >
</ div >
< div class = " form-group " >
< label for = " pushover_extra " > Pushover options ( specify one per line key = value ) </ label >
< textarea class = " form-control " name = " pushover_extra " id = " pushover_extra " placeholder = " Enter the config options " ></ textarea >
</ div >
</ form >
</ div >
< div class = " modal-footer " >
< button class = " btn btn-success " id = " submit-pushover " > Add config </ button >
< a href = " # " class = " btn " data - dismiss = " modal " > Cancel </ a >
</ div >
</ div >
</ div >
</ div >
<!-- End Pushover Modal -->
2015-05-25 21:51:27 +01:00
< ? php
2015-05-17 03:20:28 +01:00
if ( isset ( $_GET [ 'error' ])) {
print_error ( 'We had issues connecting to your Pager Duty account, please try again' );
}
if ( isset ( $_GET [ 'account' ]) && isset ( $_GET [ 'service_key' ]) && isset ( $_GET [ 'service_name' ])) {
2015-05-25 18:05:11 +01:00
set_config_name ( 'alert.transports.pagerduty' , $_GET [ 'service_key' ]);
set_config_name ( 'alert.pagerduty.account' , $_GET [ 'account' ]);
set_config_name ( 'alert.pagerduty.service' , $_GET [ 'service_name' ]);
2015-05-17 03:20:28 +01:00
}
2015-05-25 18:05:11 +01:00
$config_groups = get_config_by_group ( 'alerting' );
2015-05-17 03:20:28 +01:00
if ( isset ( $config [ 'base_url' ])) {
$callback = $config [ 'base_url' ] . '/' . $_SERVER [ 'REQUEST_URI' ] . '/' ;
} else {
$callback = get_url () . '/' ;
}
$callback = urlencode ( $callback );
2015-05-16 14:06:48 +01:00
2015-05-17 03:20:28 +01:00
echo '
2015-05-17 21:45:06 +01:00
< div class = " panel-group " id = " accordion " >
< form class = " form-horizontal " role = " form " action = " " method = " post " >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #general_settings_expand " > General alert settings </ a >
</ h4 >
</ div >
< div id = " general_settings_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
2015-05-25 18:05:11 +01:00
< label for = " admins " class = " col-sm-4 control-label " > Issue alerts to admins </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.admins'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " admins " type = " checkbox " name = " global-config-check " '.$config_groups[' alert . admins '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['alert.admins'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
</ div >
2015-05-17 03:20:28 +01:00
</ div >
2015-05-17 21:45:06 +01:00
< div class = " form-group " >
2015-05-25 18:05:11 +01:00
< label for = " globals " class = " col-sm-4 control-label " > Issue alerts to read only users </ label >
2015-05-25 21:51:27 +01:00
< div data - toggle = " tooltip " title = " '. $config_groups['alert.globals'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 21:51:27 +01:00
< input id = " globals " type = " checkbox " name = " global-config-check " '.$config_groups[' alert . globals '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['alert.globals'] ['config_id'].' " >
</ div >
</ div >
< div class = " form-group " >
< label for = " syscontact " class = " col-sm-4 control-label " > Issue alerts to sysContact </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.syscontact'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
< div class = " col-sm-4 " >
< input id = " admins " type = " checkbox " name = " global-config-check " '.$config_groups[' alert . syscontact '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['alert.syscontact'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
</ div >
</ div >
< div class = " form-group " >
2015-05-25 18:05:11 +01:00
< label for = " default_only " class = " col-sm-4 control-label " > Send alerts to default contact only </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.default_only'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " default_only " type = " checkbox " name = " global-config-check " '.$config_groups[' alert . default_only '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['alert.default_only'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " default_mail " class = " col-sm-4 control-label " > Default contact </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.default_mail'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " default_mail " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['alert.default_mail'] ['config_value'].' " data - config_id = " '. $config_groups['alert.default_mail'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " tolerance_window " class = " col-sm-4 control-label " > Tolerance window for cron </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.tolerance_window'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " tolerance_window " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['alert.tolerance_window'] ['config_value'].' " data - config_id = " '. $config_groups['alert.tolerance_window'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
2015-05-17 03:20:28 +01:00
</ div >
2015-05-25 21:51:27 +01:00
< div class = " form-group " >
< label for = " fixed_contacts " class = " col-sm-4 control-label " > Updates to contact email addresses not honored </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.fixed-contacts'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
< div class = " col-sm-4 " >
< input id = " fixed_contacts " type = " checkbox " name = " global-config-check " '.$config_groups[' alert . fixed - contacts '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['alert.fixed-contacts'] ['config_id'].' " >
</ div >
</ div >
2015-05-17 03:20:28 +01:00
</ div >
2015-05-17 21:45:06 +01:00
</ div >
</ div >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #email_transport_expand " > Email transport </ a >
</ h4 >
</ div >
< div id = " email_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
2015-05-25 18:05:11 +01:00
< label for = " default_only " class = " col-sm-4 control-label " > Enable email alerting </ label >
2015-05-25 21:51:27 +01:00
< div data - toggle = " tooltip " title = " '. $config_groups['alert.transports.mail'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 21:51:27 +01:00
< input id = " mail_transport " type = " checkbox " name = " global-config-check " '.$config_groups[' alert . transports . mail '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['alert.transports.mail'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_backend " class = " col-sm-4 control-label " > How to deliver mail </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_backend'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< select id = " email_backend " class = " form-control " name = " global-config-select " data - config_id = " '. $config_groups['email_backend'] ['config_id'].' " > ' ;
foreach ( $dyn_config [ 'email_backend' ] as $backend ) {
echo '<option value="' . $backend . '"' ;
if ( $config_groups [ 'email_backend' ][ 'config_value' ] == $backend ) {
echo ' selected' ;
}
echo '>' . $backend . '</option>' ;
}
echo ' </ select >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_from " class = " col-sm-4 control-label " > From address </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_from'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_from " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_from'] ['config_value'].' " data - config_id = " '. $config_groups['email_from'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_user " class = " col-sm-4 control-label " > From name </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_user'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_user " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_user'] ['config_value'].' " data - config_id = " '. $config_groups['email_user'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_sendmail_path " class = " col-sm-4 control-label " > Sendmail path </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_sendmail_path'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_sendmail_path " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_sendmail_path'] ['config_value'].' " data - config_id = " '. $config_groups['email_sendmail_path'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_smtp_host " class = " col-sm-4 control-label " > SMTP Host </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_smtp_host'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_smtp_host " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_smtp_host'] ['config_value'].' " data - config_id = " '. $config_groups['email_smtp_host'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_smtp_port " class = " col-sm-4 control-label " > SMTP Port </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_smtp_port'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_smtp_port " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_smtp_port'] ['config_value'].' " data - config_id = " '. $config_groups['email_smtp_port'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_smtp_timeout " class = " col-sm-4 control-label " > SMTP Timeout </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_smtp_timeout'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_smtp_timeout " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_smtp_timeout'] ['config_value'].' " data - config_id = " '. $config_groups['email_smtp_timeout'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_smtp_secure " class = " col-sm-4 control-label " > SMTP Secure </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_smtp_secure'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< select id = " email_smtp_secure " class = " form-control " name = " global-config-select " data - config_id = " '. $config_groups['email_smtp_secure'] ['config_id'].' " > ' ;
foreach ( $dyn_config [ 'email_smtp_secure' ] as $secure ) {
echo " <option value=' $secure ' " ;
if ( $config_groups [ 'email_smtp_secure' ][ 'config_value' ] == $secure ) {
echo " selected " ;
}
echo " > $secure </option> " ;
}
echo ' </ select >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group " >
2015-05-25 18:05:11 +01:00
< label for = " email_smtp_auth " class = " col-sm-4 control-label " > SMTP Authentication </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_smtp_auth'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_smtp_auth " type = " checkbox " name = " global-config-check " '.$config_groups[' email_smtp_auth '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['email_smtp_auth'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_smtp_username " class = " col-sm-4 control-label " > SMTP Authentication username </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_smtp_username'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_smtp_username " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_smtp_username'] ['config_value'].' " data - config_id = " '. $config_groups['email_smtp_username'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
2015-05-25 18:05:11 +01:00
< label for = " email_smtp_password " class = " col-sm-4 control-label " > SMTP AUthentication passoword </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['email_smtp_password'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
2015-05-17 21:45:06 +01:00
< div class = " col-sm-4 " >
2015-05-25 18:05:11 +01:00
< input id = " email_smtp_password " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['email_smtp_password'] ['config_value'].' " data - config_id = " '. $config_groups['email_smtp_password'] ['config_id'].' " >
2015-05-17 21:45:06 +01:00
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
2015-05-17 03:20:28 +01:00
</ div >
</ div >
2015-05-17 21:45:06 +01:00
</ div >
</ div >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #api_transport_expand " > API transport </ a >
</ h4 >
</ div >
< div id = " api_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
< div class = " col-sm-8 " >
2015-05-25 21:51:27 +01:00
< button class = " btn btn-success btn-xs " type = " button " name = " new_config " id = " new_config_item " data - toggle = " modal " data - target = " #new-config-api " > Add API URL </ button >
</ div >
</ div > ' ;
$api_urls = get_config_like_name ( 'alert.transports.api.%.' );
foreach ( $api_urls as $api_url ) {
$api_split = split ( " \ . " , $api_url [ 'config_name' ]);
$api_method = $api_split [ 3 ];
echo '<div class="form-group has-feedback" id="' . $api_url [ 'config_id' ] . ' " >
< label for = " api_url " class = " col-sm-4 control-label " > API URL ( '.$api_method.' ) </ label >
< div class = " col-sm-4 " >
< input id = " api_url " class = " form-control " type = " text " name = " global-config-input " value = " '. $api_url['config_value'] .' " data - config_id = " '. $api_url['config_id'] .' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-api-config " name = " del-api-call " data - config_id = " '. $api_url['config_id'] .' " >< i class = " fa fa-minus " ></ i ></ button >
</ div >
</ div > ' ;
}
echo ' < div class = " form-group has-feedback hide " id = " api_url_template " >
< label for = " api_url " class = " col-sm-4 control-label api-method " > API URL </ label >
< div class = " col-sm-4 " >
< input id = " api_url " class = " form-control " type = " text " name = " global-config-input " value = " " data - config_id = " " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-api-config " name = " del-api-call " data - config_id = " " >< i class = " fa fa-minus " ></ i ></ button >
2015-05-17 21:45:06 +01:00
</ div >
2015-05-17 03:20:28 +01:00
</ div >
</ div >
2015-05-17 21:45:06 +01:00
</ div >
</ div >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #pagerduty_transport_expand " > Pagerduty transport </ a >
</ h4 >
</ div >
< div id = " pagerduty_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
2015-05-25 18:05:11 +01:00
< div class = " col-sm-2 " >
2015-05-17 21:45:06 +01:00
< a href = " https://connect.pagerduty.com/connect?vendor=2fc7c9f3c8030e74aae6&callback='. $callback .' " >< img src = " images/pd_connect_button.png " width = " 202 " height = " 36 " alt = " Connect to PagerDuty " ></ a >
</ div >
2015-05-25 18:05:11 +01:00
< div class = " col-sm-1 " > ' ;
if ( empty ( $config_groups [ 'alert.transports.pagerduty' ][ 'config_value' ]) === FALSE ) {
2015-05-25 21:51:27 +01:00
echo " <i class='fa fa-check-square-o fa-col-success fa-3x'></i> " ;
2015-05-25 18:05:11 +01:00
} else {
echo " <i class='fa fa-check-square-o fa-col-danger fa-3x'></i> " ;
}
echo ' </ div >
2015-05-17 03:20:28 +01:00
</ div >
</ div >
2015-05-17 21:45:06 +01:00
</ div >
2015-05-17 03:20:28 +01:00
</ div >
2015-05-25 21:51:27 +01:00
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #nagios_transport_expand " > Nagios compatible transport </ a >
</ h4 >
</ div >
< div id = " nagios_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group has-feedback " >
< label for = " nagios " class = " col-sm-4 control-label " > Nagios compatible FIFO </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.transports.nagios'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
< div class = " col-sm-4 " >
< input id = " nagios " class = " form-control " type = " text " name = " global-config-input " value = " '. $config_groups['alert.transports.nagios'] ['config_value'].' " data - config_id = " '. $config_groups['alert.transports.nagios'] ['config_id'].' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
</ div >
</ div >
</ div >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #irc_transport_expand " > IRC transport </ a >
</ h4 >
</ div >
< div id = " irc_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
< label for = " irc " class = " col-sm-4 control-label " > Enable irc transport </ label >
< div data - toggle = " tooltip " title = " '. $config_groups['alert.transports.irc'] ['config_descr'].' " class = " toolTip glyphicon glyphicon-question-sign " ></ div >
< div class = " col-sm-4 " >
< input id = " irc " type = " checkbox " name = " global-config-check " '.$config_groups[' alert . transports . irc '][' config_checked '].' data - on - text = " Yes " data - off - text = " No " data - size = " small " data - config_id = " '. $config_groups['alert.transports.irc'] ['config_id'].' " >
</ div >
</ div >
</ div >
</ div >
</ div >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #slack_transport_expand " > Slack transport </ a >
</ h4 >
</ div >
< div id = " slack_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
< div class = " col-sm-8 " >
< button class = " btn btn-success btn-xs " type = " button " name = " new_config " id = " new_config_item " data - toggle = " modal " data - target = " #new-config-slack " > Add Slack URL </ button >
</ div >
</ div > ' ;
$slack_urls = get_config_like_name ( 'alert.transports.slack.%.url' );
foreach ( $slack_urls as $slack_url ) {
unset ( $upd_slack_extra );
$new_slack_extra = array ();
$slack_extras = get_config_like_name ( 'alert.transports.slack.' . $slack_url [ 'config_id' ] . '.%' );
foreach ( $slack_extras as $extra ) {
$split_extra = explode ( '.' , $extra [ 'config_name' ]);
if ( $split_extra [ 4 ] != 'url' ) {
$new_slack_extra [] = $split_extra [ 4 ] . '=' . $extra [ 'config_value' ];
}
}
$upd_slack_extra = implode ( PHP_EOL , $new_slack_extra );
echo '<div id="' . $slack_url [ 'config_id' ] . ' " >
< div class = " form-group has-feedback " >
< label for = " slack_url " class = " col-sm-4 control-label " > Slack URL </ label >
< div class = " col-sm-4 " >
< input id = " slack_url " class = " form-control " type = " text " name = " global-config-input " value = " '. $slack_url['config_value'] .' " data - config_id = " '. $slack_url['config_id'] .' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-slack-config " name = " del-slack-call " data - config_id = " '. $slack_url['config_id'] .' " >< i class = " fa fa-minus " ></ i ></ button >
</ div >
</ div >
< div class = " form-group has-feedback " >
< div class = " col-sm-offset-4 col-sm-4 " >
< textarea class = " form-control " name = " global-config-textarea " id = " upd_slack_extra " placeholder = " Enter the config options " data - config_id = " '. $slack_url['config_id'] .' " data - type = " slack " > '.$upd_slack_extra.' </ textarea >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
</ div > ' ;
}
echo ' < div class = " hide " id = " slack_url_template " >
< div class = " form-group has-feedback " >
< label for = " slack_url " class = " col-sm-4 control-label api-method " > Slack URL </ label >
< div class = " col-sm-4 " >
< input id = " slack_url " class = " form-control " type = " text " name = " global-config-input " value = " " data - config_id = " " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-slack-config " name = " del-slack-call " data - config_id = " " >< i class = " fa fa-minus " ></ i ></ button >
</ div >
</ div >
< div class = " form-group has-feedback " >
< div class = " col-sm-offset-4 col-sm-4 " >
< textarea class = " form-control " name = " global-config-textarea " id = " upd_slack_extra " placeholder = " Enter the config options " data - config_id = " " data - type = " slack " ></ textarea >
</ div >
</ div >
</ div >
</ div >
</ div >
</ div >
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #hipchat_transport_expand " > Hipchat transport </ a >
</ h4 >
</ div >
< div id = " hipchat_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
< div class = " col-sm-8 " >
< button class = " btn btn-success btn-xs " type = " button " name = " new_config " id = " new_config_item " data - toggle = " modal " data - target = " #new-config-hipchat " > Add Hipchat URL </ button >
</ div >
</ div > ' ;
$hipchat_urls = get_config_like_name ( 'alert.transports.hipchat.%.url' );
foreach ( $hipchat_urls as $hipchat_url ) {
unset ( $upd_hipchat_extra );
$new_hipchat_extra = array ();
$hipchat_extras = get_config_like_name ( 'alert.transports.hipchat.' . $hipchat_url [ 'config_id' ] . '.%' );
$hipchat_room_id = get_config_by_name ( 'alert.transports.hipchat.' . $hipchat_url [ 'config_id' ] . '.room_id' );
$hipchat_from = get_config_by_name ( 'alert.transports.hipchat.' . $hipchat_url [ 'config_id' ] . '.from' );
foreach ( $hipchat_extras as $extra ) {
$split_extra = explode ( '.' , $extra [ 'config_name' ]);
if ( $split_extra [ 4 ] != 'url' && $split_extra [ 4 ] != 'room_id' && $split_extra [ 4 ] != 'from' ) {
$new_hipchat_extra [] = $split_extra [ 4 ] . '=' . $extra [ 'config_value' ];
}
}
$upd_hipchat_extra = implode ( PHP_EOL , $new_hipchat_extra );
echo '<div id="' . $hipchat_url [ 'config_id' ] . ' " >
< div class = " form-group has-feedback " >
< label for = " hipchat_url " class = " col-sm-4 control-label " > Hipchat URL </ label >
< div class = " col-sm-4 " >
< input id = " hipchat_url " class = " form-control " type = " text " name = " global-config-input " value = " '. $hipchat_url['config_value'] .' " data - config_id = " '. $hipchat_url['config_id'] .' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-hipchat-config " name = " del-hipchat-call " data - config_id = " '. $hipchat_url['config_id'] .' " >< i class = " fa fa-minus " ></ i ></ button >
</ div >
</ div >
< div class = " form-group has-feedback " >
< label for = " hipchat_room_id " class = " col-sm-4 control-label " > Room ID </ label >
< div class = " col-sm-4 " >
< input id = " hipchat_room_id " class = " form-control " type = " text " name = " global-config-input " value = " '. $hipchat_room_id['config_value'] .' " data - config_id = " '. $hipchat_room_id['config_id'] .' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
< label for = " hipchat_from " class = " col-sm-4 control-label " > From </ label >
< div class = " col-sm-4 " >
< input id = " hipchat_from " class = " form-control " type = " text " name = " global-config-input " value = " '. $hipchat_from['config_value'] .' " data - config_id = " '. $hipchat_from['config_id'] .' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
< div class = " col-sm-offset-4 col-sm-4 " >
< textarea class = " form-control " name = " global-config-textarea " id = " upd_hipchat_extra " placeholder = " Enter the config options " data - config_id = " '. $hipchat_url['config_id'] .' " data - type = " hipchat " > '.$upd_hipchat_extra.' </ textarea >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
</ div > ' ;
}
echo ' < div id = " hipchat_url_template " class = " hide " >
< div class = " form-group has-feedback " >
< label for = " hipchat_url " class = " col-sm-4 control-label api-method " > Hipchat URL </ label >
< div class = " col-sm-4 " >
< input id = " hipchat_url " class = " form-control " type = " text " name = " global-config-input " value = " " data - config_id = " " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-hipchat-config " id = " del-hipchat-call " name = " del-hipchat-call " data - config_id = " " >< i class = " fa fa-minus " ></ i ></ button >
</ div >
</ div >
< div class = " form-group has-feedback " >
< label for = " hipchat_room_id " class = " col-sm-4 control-label " > Room ID </ label >
< div class = " col-sm-4 " >
< input id = " global-config-room_id " class = " form-control " type = " text " name = " global-config-input " value = " " data - config_id = " " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
< label for = " hipchat_from " class = " col-sm-4 control-label " > From </ label >
< div class = " col-sm-4 " >
< input id = " global-config-from " class = " form-control " type = " text " name = " global-config-input " value = " " data - config_id = " " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
< div class = " col-sm-offset-4 col-sm-4 " >
< textarea class = " form-control " name = " global-config-textarea " id = " upd_hipchat_extra " placeholder = " Enter the config options " data - config_id = " " data - type = " hipchat " ></ textarea >
</ div >
</ div >
</ div >
</ div >
</ div >
</ div >
2015-06-20 12:18:37 +01:00
< div class = " panel panel-default " >
< div class = " panel-heading " >
< h4 class = " panel-title " >
< a data - toggle = " collapse " data - parent = " #accordion " href = " #pushover_transport_expand " > Pushover transport </ a >
</ h4 >
</ div >
< div id = " pushover_transport_expand " class = " panel-collapse collapse " >
< div class = " panel-body " >
< div class = " form-group " >
< div class = " col-sm-8 " >
< button class = " btn btn-success btn-xs " type = " button " name = " new_config " id = " new_config_item " data - toggle = " modal " data - target = " #new-config-pushover " > Add Pushover config </ button >
</ div >
</ div > ' ;
$pushover_appkeys = get_config_like_name ( 'alert.transports.pushover.%.appkey' );
foreach ( $pushover_appkeys as $pushover_appkey ) {
unset ( $upd_pushover_extra );
$new_pushover_extra = array ();
$pushover_extras = get_config_like_name ( 'alert.transports.pushover.' . $pushover_appkey [ 'config_id' ] . '.%' );
$pushover_userkey = get_config_by_name ( 'alert.transports.pushover.' . $pushover_appkey [ 'config_id' ] . '.userkey' );
foreach ( $pushover_extras as $extra ) {
$split_extra = explode ( '.' , $extra [ 'config_name' ]);
if ( $split_extra [ 4 ] != 'appkey' && $split_extra [ 4 ] != 'userkey' ) {
$new_pushover_extra [] = $split_extra [ 4 ] . '=' . $extra [ 'config_value' ];
}
}
$upd_pushover_extra = implode ( PHP_EOL , $new_pushover_extra );
echo '<div id="' . $pushover_appkey [ 'config_id' ] . ' " >
< div class = " form-group has-feedback " >
< label for = " pushover_appkey " class = " col-sm-4 control-label " > Pushover Appkey </ label >
< div class = " col-sm-4 " >
< input id = " pushover_appkey " class = " form-control " type = " text " name = " global-config-input " value = " '. $pushover_appkey['config_value'] .' " data - config_id = " '. $pushover_appkey['config_id'] .' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-pushover-config " name = " del-pushover-call " data - config_id = " '. $pushover_appkey['config_id'] .' " >< i class = " fa fa-minus " ></ i ></ button >
</ div >
</ div >
< div class = " form-group has-feedback " >
< label for = " pushover_userkey " class = " col-sm-4 control-label " > Userkey </ label >
< div class = " col-sm-4 " >
< input id = " pushover_userkey " class = " form-control " type = " text " name = " global-config-input " value = " '. $pushover_userkey['config_value'] .' " data - config_id = " '. $pushover_userkey['config_id'] .' " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
< div class = " col-sm-offset-4 col-sm-4 " >
< textarea class = " form-control " name = " global-config-textarea " id = " upd_pushover_extra " placeholder = " Enter the config options " data - config_id = " '. $pushover_appkey['config_id'] .' " data - type = " pushover " > '.$upd_pushover_extra.' </ textarea >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
</ div > ' ;
}
echo ' < div id = " pushover_appkey_template " class = " hide " >
< div class = " form-group has-feedback " >
< label for = " pushover_appkey " class = " col-sm-4 control-label api-method " > Pushover Appkey </ label >
< div class = " col-sm-4 " >
< input id = " pushover_appkey " class = " form-control " type = " text " name = " global-config-input " value = " " data - config_id = " " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
< div class = " col-sm-2 " >
< button type = " button " class = " btn btn-danger del-pushover-config " id = " del-pushover-call " name = " del-pushover-call " data - config_id = " " >< i class = " fa fa-minus " ></ i ></ button >
</ div >
</ div >
< div class = " form-group has-feedback " >
< label for = " pushover_userkey " class = " col-sm-4 control-label " > Userkey </ label >
< div class = " col-sm-4 " >
< input id = " global-config-userkey " class = " form-control " type = " text " name = " global-config-input " value = " " data - config_id = " " >
< span class = " glyphicon form-control-feedback " aria - hidden = " true " ></ span >
</ div >
</ div >
< div class = " form-group has-feedback " >
< div class = " col-sm-offset-4 col-sm-4 " >
< textarea class = " form-control " name = " global-config-textarea " id = " upd_pushover_extra " placeholder = " Enter the config options " data - config_id = " " data - type = " pushover " ></ textarea >
</ div >
</ div >
</ div >
</ div >
</ div >
</ div >
2015-05-17 21:45:06 +01:00
</ form >
2015-05-17 03:20:28 +01:00
</ div >
' ;
?>
< script >
2015-05-17 21:45:06 +01:00
2015-05-25 21:51:27 +01:00
< ? php
if ( isset ( $_GET [ 'service_key' ])) {
echo " $ ('#pagerduty_transport_expand').collapse('show'); " ;
}
?>
2015-05-17 21:45:06 +01:00
$ ( " .toolTip " ) . tooltip ();
2015-05-25 21:51:27 +01:00
apiIndex = 0 ;
// Add API config
$ ( " button#submit " ) . click ( function (){
var config_name = 'alert.transports.api.' + $ ( '#new_method' ) . val () + '.' ;
var new_api_method = $ ( '#new_method' ) . val ();
var config_value = $ ( '#new_conf_value' ) . val ();
$ . ajax ({
type : " POST " ,
url : " /ajax_form.php " ,
data : { type : " config-item " , config_group : " alerting " , config_sub_group : " transports " , config_name : config_name , config_value : config_value },
dataType : " json " ,
success : function ( data ){
if ( data . status == 'ok' ) {
apiIndex ++ ;
var $template = $ ( '#api_url_template' ),
$clone = $template
. clone ()
. removeClass ( 'hide' )
. attr ( 'id' , data . config_id )
. attr ( 'api-url-index' , apiIndex )
. insertBefore ( $template );
$clone . find ( '[name="global-config-input"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[name="del-api-call"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[name="global-config-input"]' ) . attr ( 'value' , config_value );
$clone . find ( '.api-method' ) . text ( " API URL ( " + new_api_method + " ) " );
console . log ( new_api_method );
$ ( " #new-config-api " ) . modal ( 'hide' );
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function (){
$ ( " #message " ) . html ( '<div class="alert alert-info">Error creating config item</div>' );
}
});
}); // End Add API config
// Add Slack config
slackIndex = 0 ;
$ ( " button#submit-slack " ) . click ( function (){
var config_value = $ ( '#slack_value' ) . val ();
var config_extra = $ ( '#slack_extra' ) . val ();
$ . ajax ({
type : " POST " ,
url : " /ajax_form.php " ,
data : { type : " config-item " , action : 'add-slack' , config_group : " alerting " , config_sub_group : " transports " , config_extra : config_extra , config_value : config_value },
dataType : " json " ,
success : function ( data ){
if ( data . status == 'ok' ) {
slackIndex ++ ;
var $template = $ ( '#slack_url_template' ),
$clone = $template
. clone ()
. removeClass ( 'hide' )
. attr ( 'id' , data . config_id )
. attr ( 'slack-url-index' , slackIndex )
. insertBefore ( $template );
$clone . find ( '[name="global-config-input"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[name="del-slack-call"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[name="global-config-input"]' ) . attr ( 'value' , config_value );
$clone . find ( '[name="global-config-textarea"]' ) . val ( config_extra );
$clone . find ( '[name="global-config-textarea"]' ) . attr ( 'data-config_id' , data . config_id );
$ ( " #new-config-slack " ) . modal ( 'hide' );
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function (){
$ ( " #message " ) . html ( '<div class="alert alert-info">Error creating config item</div>' );
}
});
}); // End Add Slack config
// Add Hipchat config
hipchatIndex = 0 ;
$ ( " button#submit-hipchat " ) . click ( function (){
var config_value = $ ( '#hipchat_value' ) . val ();
var config_extra = $ ( '#hipchat_extra' ) . val ();
var config_room_id = $ ( '#new_room_id' ) . val ();
var config_from = $ ( '#new_from' ) . val ();
$ . ajax ({
type : " POST " ,
url : " /ajax_form.php " ,
data : { type : " config-item " , action : 'add-hipchat' , config_group : " alerting " , config_sub_group : " transports " , config_extra : config_extra , config_value : config_value , config_room_id : config_room_id , config_from : config_from },
dataType : " json " ,
success : function ( data ){
if ( data . status == 'ok' ) {
hipchatIndex ++ ;
var $template = $ ( '#hipchat_url_template' ),
$clone = $template
. clone ()
. removeClass ( 'hide' )
. attr ( 'id' , data . config_id )
. attr ( 'hipchat-url-index' , hipchatIndex )
. insertBefore ( $template );
$clone . find ( '[id="hipchat_url"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[id="del-hipchat-call"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[name="global-config-input"]' ) . attr ( 'value' , config_value );
$clone . find ( '[id="global-config-room_id"]' ) . attr ( 'value' , config_room_id );
$clone . find ( '[id="global-config-from"]' ) . attr ( 'value' , config_from );
$clone . find ( '[id="upd_hipchat_extra"]' ) . val ( config_extra );
$clone . find ( '[id="upd_hipchat_extra"]' ) . attr ( 'data-config_id' , data . config_id );
$ ( " #new-config-hipchat " ) . modal ( 'hide' );
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function (){
$ ( " #message " ) . html ( '<div class="alert alert-info">Error creating config item</div>' );
}
});
}); // End Add Hipchat config
2015-06-20 12:18:37 +01:00
// Add Pushover config
pushoverIndex = 0 ;
$ ( " button#submit-pushover " ) . click ( function (){
var config_value = $ ( '#pushover_value' ) . val ();
var config_extra = $ ( '#pushover_extra' ) . val ();
var config_userkey = $ ( '#new_userkey' ) . val ();
$ . ajax ({
type : " POST " ,
url : " /ajax_form.php " ,
data : { type : " config-item " , action : 'add-pushover' , config_group : " alerting " , config_sub_group : " transports " , config_extra : config_extra , config_value : config_value , config_userkey : config_userkey },
dataType : " json " ,
success : function ( data ){
if ( data . status == 'ok' ) {
pushoverIndex ++ ;
var $template = $ ( '#pushover_appkey_template' ),
$clone = $template
. clone ()
. removeClass ( 'hide' )
. attr ( 'id' , data . config_id )
. attr ( 'pushover-appkey-index' , pushoverIndex )
. insertBefore ( $template );
$clone . find ( '[id="pushover_appkey"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[id="del-pushover-call"]' ) . attr ( 'data-config_id' , data . config_id );
$clone . find ( '[name="global-config-input"]' ) . attr ( 'value' , config_value );
$clone . find ( '[id="global-config-userkey"]' ) . attr ( 'value' , config_userkey );
$clone . find ( '[id="global-config-userkey"]' ) . attr ( 'data-config_id' , data . additional_id [ 'userkey' ]);
$clone . find ( '[id="upd_pushover_extra"]' ) . val ( config_extra );
$clone . find ( '[id="upd_pushover_extra"]' ) . attr ( 'data-config_id' , data . config_id );
$ ( " #new-config-pushover " ) . modal ( 'hide' );
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function (){
$ ( " #message " ) . html ( '<div class="alert alert-info">Error creating config item</div>' );
}
});
}); // End Add Pushover config
2015-05-25 21:51:27 +01:00
// Delete api config
$ ( document ) . on ( 'click' , 'button[name="del-api-call"]' , function ( event ) {
var config_id = $ ( this ) . data ( 'config_id' );
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " config-item " , action : 'remove' , config_id : config_id },
dataType : " json " ,
success : function ( data ) {
if ( data . status == 'ok' ) {
$ ( " # " + config_id ) . remove ();
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
}); // End delete api config
// Delete slack config
$ ( document ) . on ( 'click' , 'button[name="del-slack-call"]' , function ( event ) {
var config_id = $ ( this ) . data ( 'config_id' );
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " config-item " , action : 'remove-slack' , config_id : config_id },
dataType : " json " ,
success : function ( data ) {
if ( data . status == 'ok' ) {
$ ( " # " + config_id ) . remove ();
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
}); // End delete slack config
// Delete hipchat config
$ ( document ) . on ( 'click' , 'button[name="del-hipchat-call"]' , function ( event ) {
var config_id = $ ( this ) . data ( 'config_id' );
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " config-item " , action : 'remove-hipchat' , config_id : config_id },
dataType : " json " ,
success : function ( data ) {
if ( data . status == 'ok' ) {
$ ( " # " + config_id ) . remove ();
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
}); // End delete hipchat config
2015-06-20 12:18:37 +01:00
// Delete pushover config
$ ( document ) . on ( 'click' , 'button[name="del-pushover-call"]' , function ( event ) {
var config_id = $ ( this ) . data ( 'config_id' );
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " config-item " , action : 'remove-pushover' , config_id : config_id },
dataType : " json " ,
success : function ( data ) {
if ( data . status == 'ok' ) {
$ ( " # " + config_id ) . remove ();
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
}); // End delete pushover config
2015-05-17 03:20:28 +01:00
$ ( " [name='global-config-check'] " ) . bootstrapSwitch ( 'offColor' , 'danger' );
$ ( 'input[name="global-config-check"]' ) . on ( 'switchChange.bootstrapSwitch' , function ( event , state ) {
event . preventDefault ();
var config_id = $ ( this ) . data ( " config_id " );
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " update-config-item " , config_id : config_id , config_value : state },
dataType : " json " ,
success : function ( data ) {
if ( data . status == 'ok' ) {
} else {
$ ( " #message " ) . html ( '<div class="alert alert-info">' + data . message + '</div>' );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
});
2015-05-25 21:51:27 +01:00
$ ( document ) . on ( 'blur' , 'input[name="global-config-input"]' , function ( event ) {
2015-05-17 21:45:06 +01:00
event . preventDefault ();
var $this = $ ( this );
var config_id = $this . data ( " config_id " );
var config_value = $this . val ();
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " update-config-item " , config_id : config_id , config_value : config_value },
dataType : " json " ,
2015-05-25 18:05:11 +01:00
success : function ( data ) {
if ( data . status == 'ok' ) {
$this . closest ( '.form-group' ) . addClass ( 'has-success' );
$this . next () . addClass ( 'glyphicon-ok' );
setTimeout ( function (){
$this . closest ( '.form-group' ) . removeClass ( 'has-success' );
$this . next () . removeClass ( 'glyphicon-ok' );
}, 2000 );
} else {
$ ( this ) . closest ( '.form-group' ) . addClass ( 'has-error' );
$this . next () . addClass ( 'glyphicon-remove' );
setTimeout ( function (){
$this . closest ( '.form-group' ) . removeClass ( 'has-error' );
$this . next () . removeClass ( 'glyphicon-remove' );
}, 2000 );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
});
$ ( 'select[name="global-config-select"]' ) . change ( function ( event ) {
event . preventDefault ();
var $this = $ ( this );
var config_id = $this . data ( " config_id " );
var config_value = $this . val ();
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " update-config-item " , config_id : config_id , config_value : config_value },
dataType : " json " ,
2015-05-25 21:51:27 +01:00
success : function ( data ) {
if ( data . status == 'ok' ) {
$this . closest ( '.form-group' ) . addClass ( 'has-success' );
$this . next () . addClass ( 'glyphicon-ok' );
setTimeout ( function (){
$this . closest ( '.form-group' ) . removeClass ( 'has-success' );
$this . next () . removeClass ( 'glyphicon-ok' );
}, 2000 );
} else {
$ ( this ) . closest ( '.form-group' ) . addClass ( 'has-error' );
$this . next () . addClass ( 'glyphicon-remove' );
setTimeout ( function (){
$this . closest ( '.form-group' ) . removeClass ( 'has-error' );
$this . next () . removeClass ( 'glyphicon-remove' );
}, 2000 );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
});
$ ( document ) . on ( 'blur' , 'textarea[name="global-config-textarea"]' , function ( event ) {
event . preventDefault ();
var $this = $ ( this );
var config_id = $this . data ( " config_id " );
var config_value = $this . val ();
var config_type = $this . data ( " type " );
$ . ajax ({
type : 'POST' ,
url : '/ajax_form.php' ,
data : { type : " update-config-item " , action : 'update-textarea' , config_type : config_type , config_id : config_id , config_value : config_value },
dataType : " json " ,
2015-05-17 21:45:06 +01:00
success : function ( data ) {
if ( data . status == 'ok' ) {
$this . closest ( '.form-group' ) . addClass ( 'has-success' );
$this . next () . addClass ( 'glyphicon-ok' );
setTimeout ( function (){
$this . closest ( '.form-group' ) . removeClass ( 'has-success' );
$this . next () . removeClass ( 'glyphicon-ok' );
}, 2000 );
} else {
$ ( this ) . closest ( '.form-group' ) . addClass ( 'has-error' );
$this . next () . addClass ( 'glyphicon-remove' );
setTimeout ( function (){
$this . closest ( '.form-group' ) . removeClass ( 'has-error' );
$this . next () . removeClass ( 'glyphicon-remove' );
}, 2000 );
}
},
error : function () {
$ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' );
}
});
});
2015-05-17 03:20:28 +01:00
</ script >