'Select Alert Checker Entity Type', 'padding' => TRUE, 'header-border' => TRUE ]); //echo '

Select Entity Type

'; ksort($config['entities']); foreach ($config['entities'] as $entity_type => $entity_type_array) { if (!$entity_type_array['hide']) { //echo ''; echo '' . get_icon($config['entities'][$entity_type]['icon']) . ' ' . nicecase($entity_type) . ''; } } echo generate_box_close(); echo ''; /* // Allow duplication of existing checks echo generate_box_open(array('title' => 'Duplicate Existing Checker', 'padding' => true, 'header-border' => true)); $alert_checks = cache_alert_rules($vars); $alert_checks = array_sort($alert_checks, 'alert_name'); echo '', PHP_EOL; foreach ($alert_checks as $check) { // Process the alert checker to add classes and colours and count status. humanize_alert_check($check); echo(''); echo(' '); // Print the conditions applied by this alert echo ''; echo ''; echo(''); echo(''); } // End loop of associations echo '
Name
'; echo '' . escape_html($check['alert_name']) . '
'; echo '', escape_html($check['alert_message']), ''; echo '
'; echo generate_box_close(); // End duplication of existing checks */ } else { register_html_title('Add Alert Checker'); // Duplicate alert checker when requested by $vars['duplicate_id'] alert_test_duplicate($vars); ?>
'New Checker Details', 'header-border' => TRUE, 'padding' => TRUE, ]; echo generate_box_open($box_args); ?>
' . nicecase($vars['entity_type']) . ''; ?>
'alert_name', 'name' => 'Alert name', 'placeholder' => TRUE, 'width' => '220px', 'value' => $vars['alert_name']]; echo(generate_form_element($item, 'text')); ?>
'alert_message', 'name' => 'Alert message', 'placeholder' => TRUE, //'width' => '220px', 'class' => 'col-md-11', 'rows' => 3, 'value' => $vars['alert_message']]; echo(generate_form_element($item, 'textarea')); ?>
'alert_delay', 'name' => '№ of checks to delay alert', 'placeholder' => TRUE, 'width' => '220px', 'value' => $vars['alert_delay']]; echo(generate_form_element($item, 'text')); ?>
'alert_send_recovery', 'size' => 'big', 'view' => 'toggle', 'palette' => 'blue', 'value' => $vars['alert_send_recovery'] ?? 1 ]; // Set to on by default echo(generate_form_element($item, 'toggle')); ?>
'alert_severity', //'name' => 'Severity', 'live-search' => FALSE, 'width' => '220px', 'value' => $vars['alert_severity'], 'values' => $config['alerts']['severity'], ]; echo(generate_form_element($item, 'select')); ?>
'Test Conditions', 'header-border' => TRUE, 'padding' => TRUE, ]; $box_args['header-controls'] = ['controls' => ['tooltip' => ['icon' => $config['icon']['info'], 'anchor' => TRUE, 'class' => 'tooltip-from-element', //'url' => '#', 'data' => 'data-tooltip-id="tooltip-help-conditions"']]]; echo generate_box_open($box_args); ?>
'alert_and', //'name' => 'Severity', 'live-search' => FALSE, 'width' => '220px', 'value' => $vars['alert_and'] ?? 1, // Set to and by default 'values' => [ '0' => [ 'name' => 'Require any condition', 'icon' => $config['icon']['or-gate'] ], '1' => [ 'name' => 'Require all conditions', 'icon' => $config['icon']['and-gate'] ], ] ]; echo(generate_form_element($item, 'select')); echo(PHP_EOL . '
' . PHP_EOL); $metrics_box = generate_alert_metrics_table($vars['entity_type'], $metrics_list); $item = [ 'id' => 'alert_conditions', 'name' => 'Metric Conditions', 'placeholder' => TRUE, //'width' => '220px', 'class' => 'col-md-10', 'style' => 'margin-right: 10px', 'rows' => max(count($metrics_list), 3), 'value' => $vars['alert_conditions'] ]; echo generate_form_element($item, 'textarea'); echo $metrics_box; unset($metrics_box, $metrics_list); echo generate_box_close(); $box_args = ['title' => 'Association Ruleset', 'header-border' => TRUE, 'padding' => TRUE, ]; $box_args['header-controls'] = ['controls' => ['tooltip' => ['icon' => $config['icon']['info'], 'anchor' => TRUE, 'class' => 'tooltip-from-element', //'url' => '#', 'data' => 'data-tooltip-id="tooltip-help-associations"']]]; echo generate_box_open($box_args); $form_id = 'rules-' . random_string(8); echo '
'; generate_querybuilder_form($vars['entity_type'], 'attribs', $form_id, $alert_dupe['alert_assoc']); // generate_querybuilder_form($vars['entity_type'], 'metrics'); $footer_content = '
Clear Rules Add Checker
' . $script; echo generate_box_close(['footer_content' => $footer_content]); // echo generate_box_close(); ?>
$('#btn-save').on('click', function() { var result = $('#" . $form_id . "').queryBuilder('getRules'); var div = $('#output'); if (!$.isEmptyObject(result)) { var formData = JSON.stringify({ action: 'alert_check_add', alert_assoc: JSON.stringify(result), entity_type: '" . escape_html($vars['entity_type']) . "', alert_name: document.getElementById('alert_name').value, alert_message: document.getElementById('alert_message').value, alert_delay: document.getElementById('alert_delay').value, alert_send_recovery: document.getElementById('alert_send_recovery').value, alert_severity: document.getElementById('alert_severity').value, alert_and: document.getElementById('alert_and').value, alert_conditions: document.getElementById('alert_conditions').value, requesttoken: document.getElementById('requesttoken').value }); var request = $.ajax({ type: 'POST', url: 'ajax/actions.php', data: formData, dataType: 'json', contentType : 'application/json', }); request.success( function(json) { if (json.status === 'ok') { div.html('
Creation Succeeded. Redirecting!
') window.setTimeout(window.location.href = json.redirect,5000); } else { div.html('
Creation Failed: ' + json.message + '
') } }); } }); $('#btn-reset').on('click', function() { $('#" . $form_id . "').queryBuilder('reset'); }); "; echo $script; ?>