diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php index 2a86aa055..3bb433ddd 100644 --- a/html/includes/functions.inc.php +++ b/html/includes/functions.inc.php @@ -789,7 +789,18 @@ function add_config_item($new_conf_name,$new_conf_value,$new_conf_type,$new_conf function get_config_by_group($group) { $group = array($group); foreach (dbFetchRows("SELECT * FROM `config` WHERE `config_group` = '?'", array($group)) as $config_item) { - $items[] = $config_item; + $val = $config_item['config_value']; + if (filter_var($val,FILTER_VALIDATE_INT)) { + $val = (int) $val; + } elseif (filter_var($val,FILTER_VALIDATE_FLOAT)) { + $val = (float) $val; + } elseif (filter_var($val,FILTER_VALIDATE_BOOLEAN)) { + $val =(boolean) $val; + } + if ($val === TRUE) { + $config_item += array('config_checked'=>'checked'); + } + $items[$config_item['config_name']] = $config_item; } return $items; } diff --git a/html/pages/settings/alerting.inc.php b/html/pages/settings/alerting.inc.php index 0cc6811a1..2092b1084 100644 --- a/html/pages/settings/alerting.inc.php +++ b/html/pages/settings/alerting.inc.php @@ -17,56 +17,12 @@ if (isset($_GET['error'])) { } if (isset($_GET['account']) && isset($_GET['service_key']) && isset($_GET['service_name'])) { - 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']); + 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']); } -// Default settings config -$admin_config = get_config_by_name('alert,admins'); -if (strcasecmp($admin_config[0]['config_value'],"true") == 0) { - $admin_checked = 'checked'; -} else { - $admin_checked = ''; -} -$read_config = get_config_by_name('alert,globals'); -if (strcasecmp($read_config[0]['config_value'],"true") == 0) { - $read_checked = 'checked'; -} else { - $read_checked = ''; -} -$default_only_config = get_config_by_name('alert,default_only'); -if (strcasecmp($default_only_config[0]['config_value'],"true") == 0) { - $default_only_checked = 'checked'; -} else { - $default_only_checked = ''; -} -$default_mail_config = get_config_by_name('alert,default_mail'); -$tolerance_window_config = get_config_by_name('alert,tolerance_window'); - -// Mail transport config -$email_transport_config = get_config_by_name('alert,transports,mail'); -if (strcasecmp($email_transport_config[0]['config_value'],"true") == 0) { - $email_transport_checked = 'checked'; -} else { - $email_transport_checked = ''; -} -$email_backend_config = get_config_by_name('email_backend'); -$email_from_config = get_config_by_name('email_from'); -$email_user_config = get_config_by_name('email_user'); -$email_sendmail_path_config = get_config_by_name('email_sendmail_path'); -$email_smtp_host_config = get_config_by_name('email_smtp_host'); -$email_smtp_port_config = get_config_by_name('email_smtp_port'); -$email_smtp_timeout_config = get_config_by_name('email_smtp_timeout'); -$email_smtp_secure_config = get_config_by_name('email_smtp_secure'); -$email_smtp_auth_config = get_config_by_name('email_smtp_auth'); -if (strcasecmp($email_smtp_auth_config[0]['config_value'],"true") == 0) { - $email_smtp_auth_checked = 'checked'; -} else { - $email_smtp_auth_checked = ''; -} -$email_smtp_username_config = get_config_by_name('email_smtp_username'); -$email_smtp_password_config = get_config_by_name('email_smtp_password'); +$config_groups = get_config_by_group('alerting'); if (isset($config['base_url'])) { $callback = $config['base_url'].'/'.$_SERVER['REQUEST_URI'].'/'; @@ -87,39 +43,39 @@ echo '