* * 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. */ $no_refresh = true; ?> 'alert.disable', 'descr' => 'Disable alerting', 'type' => 'checkbox', ), array('name' => 'alert.admins', 'descr' => 'Issue alerts to admins', 'type' => 'checkbox', ), array('name' => 'alert.globals', 'descr' => 'Issue alerts to read only users', 'type' => 'checkbox', ), array('name' => 'alert.syscontact', 'descr' => 'Issue alerts to sysContact', 'type' => 'checkbox', ), array('name' => 'alert.default_only', 'descr' => 'Send alerts to default contact only', 'type' => 'checkbox', ), array('name' => 'alert.default_mail', 'descr' => 'Default contact', 'type' => 'text', ), array('name' => 'alert.tolerance_window', 'descr' => 'Tolerance window for cron', 'type' => 'text', ), array('name' => 'alert.fixed-contacts', 'descr' => 'Updates to contact email addresses not honored', 'type' => 'checkbox', ), ); $mail_conf = array( array('name' => 'alert.transports.mail', 'descr' => 'Enable email alerting', 'type' => 'checkbox', ), array('name' => 'email_backend', 'descr' => 'How to deliver mail', 'options' => $dyn_config['email_backend'], 'type' => 'select', ), array('name' => 'email_user', 'descr' => 'From name', 'type' => 'text', ), array('name' => 'email_from', 'descr' => 'From email address', 'type' => 'text', ), array('name' => 'email_html', 'descr' => 'Use HTML emails', 'type' => 'checkbox', ), array('name' => 'email_sendmail_path', 'descr' => 'Sendmail path', 'type' => 'text', ), array('name' => 'email_smtp_host', 'descr' => 'SMTP Host', 'type' => 'text', ), array('name' => 'email_smtp_port', 'descr' => 'SMTP Port', 'type' => 'text', ), array('name' => 'email_smtp_timeout', 'descr' => 'SMTP Timeout', 'type' => 'text', ), array('name' => 'email_smtp_secure', 'descr' => 'SMTP Secure', 'type' => 'select', 'options' => $dyn_config['email_smtp_secure'], ), array('name' => 'email_smtp_auth', 'descr' => 'SMTP Authentication', 'type' => 'checkbox', ), array('name' => 'email_smtp_username', 'descr' => 'SMTP Authentication Username', 'type' => 'text', ), array('name' => 'email_smtp_password', 'descr' => 'SMTP Authentication Password', 'type' => 'text', ), ); echo '
'; echo generate_dynamic_config_panel('General alert settings',true,$config_groups,$general_conf); echo generate_dynamic_config_panel('Email transport',true,$config_groups,$mail_conf,'mail'); echo '

API transport

'; $api_urls = get_config_like_name('alert.transports.api.%.'); foreach ($api_urls as $api_url) { $api_split = explode('.', $api_url['config_name']); $api_method = $api_split[3]; echo '
'; } echo '

Pagerduty transport

Connect to PagerDuty
'; if (empty($config_groups['alert.transports.pagerduty']['config_value']) === false) { echo ""; } else { echo ""; } echo '

IRC transport

Slack transport

'; $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 '
'; }//end foreach echo '

Hipchat transport

'; $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 '
'; }//end foreach echo '

Pushover transport

'; $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 '
'; }//end foreach echo '

Boxcar transport

'; $boxcar_appkeys = get_config_like_name('alert.transports.boxcar.%.access_token'); foreach ($boxcar_appkeys as $boxcar_appkey) { unset($upd_boxcar_extra); $new_boxcar_extra = array(); $boxcar_extras = get_config_like_name('alert.transports.boxcar.'.$boxcar_appkey['config_id'].'.%'); foreach ($boxcar_extras as $extra) { $split_extra = explode('.', $extra['config_name']); if ($split_extra[4] != 'access_token') { $new_boxcar_extra[] = $split_extra[4].'='.$extra['config_value']; } } $upd_boxcar_extra = implode(PHP_EOL, $new_boxcar_extra); echo '
'; }//end foreach echo '

Pushbullet

VictorOps

'; $clickatell = get_config_by_name('alert.transports.clickatell.token'); $mobiles = get_config_like_name('alert.transports.clickatell.to.%'); $new_mobiles = array(); foreach ($mobiles as $mobile) { $new_mobiles[] = $mobile['config_value']; } $upd_mobiles = implode(PHP_EOL, $new_mobiles); echo '

Clickatell transport

'; $playsms_url = get_config_by_name('alert.transports.playsms.url'); $playsms_user = get_config_by_name('alert.transports.playsms.user'); $playsms_token = get_config_by_name('alert.transports.playsms.token'); $playsms_from = get_config_by_name('alert.transports.playsms.from'); $mobiles = get_config_like_name('alert.transports.playsms.to.%'); $new_mobiles = array(); foreach ($mobiles as $mobile) { $new_mobiles[] = $mobile['config_value']; } $upd_mobiles = implode(PHP_EOL, $new_mobiles); echo '

PlaySMS transport

'; $canopsis_host = get_config_by_name('alert.transports.canopsis.host'); $canopsis_port = get_config_by_name('alert.transports.canopsis.port'); $canopsis_user = get_config_by_name('alert.transports.canopsis.user'); $canopsis_passwd = get_config_by_name('alert.transports.canopsis.passwd'); $canopsis_vhost = get_config_by_name('alert.transports.canopsis.vhost'); echo '

Canopsis transport

'; ?>