Merge branch 'ent-9662-second-round' into 'develop'

fixed styles

See merge request artica/pandorafms!5586
This commit is contained in:
daniel 2023-03-08 18:33:19 +00:00
commit 2f3ceb0f82
32 changed files with 2171 additions and 1227 deletions

View File

@ -471,10 +471,6 @@ echo sprintf('<div id="header_table" class="header_table_%s">', $menuTypeClass);
</div> <!-- Closes #table_header_inner -->
</div> <!-- Closes #table_header -->
<!-- Notifications content wrapper-->
<div id='notification-content' class='invisible'/></div>
<!-- Old style div wrapper -->
<div id="alert_messages" class="invisible"></div>

View File

@ -34,7 +34,6 @@ $url = sprintf(
$url_id_agente
);
enterprise_include('godmode/agentes/module_manager.php');
$isFunctionPolicies = enterprise_include_once('include/functions_policies.php');
require_once $config['homedir'].'/include/functions_modules.php';
require_once $config['homedir'].'/include/functions_agents.php';
@ -51,196 +50,10 @@ if (isset($policy_page) === false) {
$checked = (bool) get_parameter('checked');
$sec2 = (string) get_parameter('sec2');
// Table for filter bar.
$filterTable = new stdClass();
$filterTable->class = 'fixed_filter_bar';
$filterTable->data = [];
$filterTable->cellstyle[0][0] = 'width:0';
$filterTable->data[0][0] = __('Search');
$filterTable->data[1][0] .= html_print_input_text(
'search_string',
$search_string,
'',
30,
255,
true,
false,
false,
'',
''
);
$filterTable->data[0][0] .= html_print_input_hidden('search', 1, true);
if ((bool) $policy_page === false) {
$filterTable->data[0][1] = __('Show in hierachy mode');
$filterTable->data[1][1] = html_print_checkbox_switch(
'status_hierachy_mode',
'',
((string) $checked === 'true'),
true,
false,
'onChange=change_mod_filter();'
);
}
$filterTable->data[1][2] = html_print_submit_button(
__('Filter'),
'filter',
false,
[
'icon' => 'search',
'class' => 'float-right',
'mode' => 'secondary mini',
],
true
);
// Print filter table.
echo '<form id="create_module_type" method="post" action="'.$url.'">';
html_print_table($filterTable);
echo '</form>';
// Check if there is at least one server of each type available to assign that
// kind of modules. If not, do not show server type in combo.
$network_available = db_get_sql(
'SELECT count(*)
FROM tserver
WHERE server_type = '.SERVER_TYPE_NETWORK
);
// POSTGRESQL AND ORACLE COMPATIBLE.
$wmi_available = db_get_sql(
'SELECT count(*)
FROM tserver
WHERE server_type = '.SERVER_TYPE_WMI
);
// POSTGRESQL AND ORACLE COMPATIBLE.
$plugin_available = db_get_sql(
'SELECT count(*)
FROM tserver
WHERE server_type = '.SERVER_TYPE_PLUGIN
);
// POSTGRESQL AND ORACLE COMPATIBLE.
$prediction_available = db_get_sql(
'SELECT count(*)
FROM tserver
WHERE server_type = '.SERVER_TYPE_PREDICTION
);
// POSTGRESQL AND ORACLE COMPATIBLE.
$web_available = db_get_sql(
'SELECT count(*)
FROM tserver
WHERE server_type = '.SERVER_TYPE_WEB
);
// POSTGRESQL AND ORACLE COMPATIBLE.
// Development mode to use all servers.
if ($develop_bypass || is_metaconsole()) {
$network_available = 1;
$wmi_available = 1;
$plugin_available = 1;
// FIXME when prediction predictions server modules can be configured.
// on metaconsole.
$prediction_available = (is_metaconsole() === true) ? 0 : 1;
}
$modules = [];
$modules['dataserver'] = __('Create a new data server module');
if ($network_available) {
$modules['networkserver'] = __('Create a new network server module');
}
if ($plugin_available) {
$modules['pluginserver'] = __('Create a new plugin server module');
}
if ($wmi_available) {
$modules['wmiserver'] = __('Create a new WMI server module');
}
if ($prediction_available) {
$modules['predictionserver'] = __('Create a new prediction server module');
}
if (is_metaconsole() === true || $web_available >= '1') {
$modules['webserver'] = __('Create a new web Server module');
}
if (enterprise_installed() === true) {
set_enterprise_module_types($modules);
}
if (strstr($sec2, 'enterprise/godmode/policies/policies') !== false) {
// It is unset because the policies haven't a table tmodule_synth and the
// some part of code to apply this kind of modules in policy agents.
// But in the future maybe will be good to make this feature, but remember
// the modules to show in syntetic module policy form must be the policy
// modules from the same policy.
unset($modules['predictionserver']);
if (enterprise_installed() === true) {
unset($modules['webux']);
}
}
if (($policy_page === true) || (isset($agent) === true)) {
if ($policy_page === true) {
$show_creation = is_management_allowed();
} else {
if (isset($all_groups) === false) {
$all_groups = agents_get_all_groups_agent(
$agent['id_agente'],
$agent['id_grupo']
);
}
$show_creation = check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') === true;
}
} else {
$show_creation = false;
}
if ($show_creation === true) {
// Create module/type combo.
$tableCreateModule = new stdClass();
$tableCreateModule->id = 'create';
$tableCreateModule->class = 'create_module_dialog';
$tableCreateModule->width = '100%';
$tableCreateModule->data = [];
$tableCreateModule->style = [];
$tableCreateModule->data['caption_type'] = html_print_input_hidden('edit_module', 1);
$tableCreateModule->data['caption_type'] .= __('Type');
$tableCreateModule->data['type'] = html_print_select(
$modules,
'moduletype',
'',
'',
'',
'',
true,
false,
false,
'',
false,
'width:380px;'
);
// Link for get more modules.
if ((bool) $config['disable_help'] === false) {
$tableCreateModule->data['get_more_modules'] = html_print_anchor(
[
'href' => 'https://pandorafms.com/Library/Library/',
'target' => '_blank',
'class' => 'color-black-grey',
'content' => __('Get more modules on Monitoring Library'),
],
true
);
}
}
if (isset($id_agente) === false) {
return;
}
$module_action = (string) get_parameter('module_action');
if ($module_action === 'delete') {
@ -1256,35 +1069,6 @@ if ((bool) check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') === tr
[ 'type' => 'data_table' ]
);
echo '</form>';
$modalCreateModule = '<form name="create_module_form" method="post">';
$modalCreateModule .= html_print_table($tableCreateModule, true);
$modalCreateModule .= html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Create'),
'create_module',
false,
[
'icon' => 'next',
'mode' => 'mini secondary',
],
true
),
],
true
);
$modalCreateModule .= '</form>';
html_print_div(
[
'id' => 'modal',
'style' => 'display: none',
'content' => $modalCreateModule,
]
);
}
?>

View File

@ -325,7 +325,7 @@ if ($edit === false) {
$table_simple->data['module_n_type'][1] = '<span class="result_info_text">'.modules_get_moduletype_description($id_module_type).' ('.$type_names_hash[$id_module_type].')</span>';
} else {
$idModuleType = (isset($id_module_type) === true) ? $idModuleType : '';
$idModuleType = (isset($id_module_type) === true) ? $id_module_type : '';
// Removed web analysis and log4x from select.
$tipe_not_in = '24, 25';
if (is_metaconsole() === true) {
@ -444,7 +444,7 @@ $tableBasicThresholds->data = [];
$tableBasicThresholds->rowclass['caption_warning_threshold'] = 'field_half_width pdd_t_10px';
$tableBasicThresholds->rowclass['warning_threshold'] = 'field_half_width';
$tableBasicThresholds->data['caption_warning_threshold'][0] .= __('Warning threshold').'&nbsp;';
if ($edit_module === false || (isset($stringTypeModule) === true && $stringTypeModule === false)) {
if ($edit_module === false && (isset($stringTypeModule) === false || $stringTypeModule === false)) {
$tableBasicThresholds->data['caption_warning_threshold'][0] .= '<span class="font_11" id="caption_minmax_warning">('.__('Min / Max').')</span>';
$tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text(
'min_warning',
@ -482,7 +482,7 @@ if ($edit_module === false || (isset($stringTypeModule) === true && $stringTypeM
);
}
if ($edit_module === false || (isset($stringTypeModule) === true && $stringTypeModule === true)) {
if ($edit_module === false && isset($stringTypeModule) === true && $stringTypeModule === true) {
$basicThresholdsIntervalWarning = [];
$basicThresholdsIntervalWarning[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalWarning[] = html_print_checkbox_switch(
@ -531,7 +531,7 @@ $tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_div(
$tableBasicThresholds->rowclass['caption_critical_threshold'] = 'field_half_width pdd_t_10px';
$tableBasicThresholds->rowclass['critical_threshold'] = 'field_half_width';
$tableBasicThresholds->data['caption_critical_threshold'][0] .= __('Critical threshold').'&nbsp;';
if ($edit_module === false || (isset($stringTypeModule) === true && $stringTypeModule === false)) {
if ($edit_module === false && (isset($stringTypeModule) === false || $stringTypeModule === false)) {
$tableBasicThresholds->data['caption_critical_threshold'][0] .= '<span class="font_11" id="caption_minmax_critical">('.__('Min / Max').')</span>';
$tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text(
'min_critical',
@ -569,7 +569,7 @@ if ($edit_module === false || (isset($stringTypeModule) === true && $stringTypeM
);
}
if ($edit_module === false || (isset($stringTypeModule) === true && $stringTypeModule === true)) {
if ($edit_module === false && isset($stringTypeModule) === true && $stringTypeModule === true) {
$basicThresholdsIntervalCritical = [];
$basicThresholdsIntervalCritical[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalCritical[] = html_print_checkbox_switch(

View File

@ -128,6 +128,7 @@ if ($page === 'enterprise/godmode/policies/policy_modules') {
// In ICMP modules, port is not configurable.
if ($id_module_type !== 6 && $id_module_type !== 7) {
$tcp_port = (empty($tcp_port) === false) ? $tcp_port : get_parameter('tcp_port');
$data[1] = html_print_input_text(
'tcp_port',
$tcp_port,

View File

@ -15,7 +15,7 @@
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
* Copyright (c) 2005-2023 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -29,8 +29,6 @@
global $config;
check_login();
$agent_d = check_acl($config['id_user'], 0, 'AD');
@ -54,23 +52,33 @@ require_once $config['homedir'].'/include/functions_cron.php';
// Buttons.
$buttons = [
'text' => "<a href='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.list'>".html_print_image(
'images/list.png',
'images/logs@svg.svg',
true,
[
'title' => __('List'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>',
];
// Header.
ui_print_page_header(
ui_print_standard_header(
__('Scheduled Downtime'),
'images/gm_monitoring.png',
false,
'',
true,
$buttons
$buttons,
[
[
'link' => '',
'label' => __('Tools'),
],
[
'link' => '',
'label' => __('Scheduled Downtime'),
],
]
);
// Recursion group filter.
@ -813,227 +821,7 @@ if (users_can_manage_group_all('AW') === true || $disabled) {
$return_all_group = true;
}
$table = new StdClass();
$table->class = 'databox filters';
$table->width = '100%';
$table->data = [];
$table->data[0][0] = __('Name');
$table->data[0][1] = html_print_input_text(
'name',
$name,
'',
25,
40,
true,
$disabled_in_execution
);
$table->data[1][0] = __('Group');
$table->data[1][1] = '<div class="w250px">'.html_print_select_groups(
false,
$access,
$return_all_group,
'id_group',
$id_group,
'',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
).'</div>';
$table->data[2][0] = __('Description');
$table->data[2][1] = html_print_textarea(
'description',
3,
35,
$description,
'',
true
);
$table->data[3][0] = __('Type').ui_print_help_tip(
__('Quiet: Modules will not generate events or fire alerts.').'<br>'.__('Disable Agents: Disables the selected agents.').'<br>'.__('Disable Alerts: Disable alerts for the selected agents.'),
true
);
$table->data[3][1] = html_print_select(
[
'quiet' => __('Quiet'),
'disable_agents' => __('Disabled Agents'),
'disable_agent_modules' => __('Disable Modules'),
'disable_agents_alerts' => __('Disabled only Alerts'),
],
'type_downtime',
$type_downtime,
'change_type_downtime()',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
);
$table->data[4][0] = __('Execution');
$table->data[4][1] = html_print_select(
[
'once' => __('Once'),
'periodically' => __('Periodically'),
'cron' => __('Cron from/to'),
],
'type_execution',
$type_execution,
'change_type_execution();',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
);
$days = array_combine(range(1, 31), range(1, 31));
$table->data[5][0] = __('Configure the time').'&nbsp;';
;
$table->data[5][1] = "
<div id='once_time' style='display: none;'>
<table>
<tr>
<td>".__('From:').'</td>
<td>'.html_print_input_text('once_date_from', $once_date_from, '', 10, 10, true, $disabled_in_execution).html_print_input_text('once_time_from', $once_time_from, '', 9, 9, true, $disabled_in_execution).'</td>
</tr>
<tr>
<td>'.__('To:').'</td>
<td>'.html_print_input_text('once_date_to', $once_date_to, '', 10, 10, true).html_print_input_text('once_time_to', $once_time_to, '', 9, 9, true)."</td>
</tr>
</table>
</div>
<div id='periodically_time' style='display: none;'>
<table>
<tr><td>".ui_get_using_system_timezone_warning().'</td></tr>
<tr>
<td>'.__('Type Periodicity:').'&nbsp;'.html_print_select(
[
'weekly' => __('Weekly'),
'monthly' => __('Monthly'),
],
'type_periodicity',
$type_periodicity,
'change_type_periodicity();',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
)."</td>
</tr>
<tr>
<td colspan='2'>
<table id='weekly_item' style='display: none;'>
<tr>
<td>".__('Mon').html_print_checkbox('monday', 1, $monday, true, $disabled_in_execution).'</td>
<td>'.__('Tue').html_print_checkbox('tuesday', 1, $tuesday, true, $disabled_in_execution).'</td>
<td>'.__('Wed').html_print_checkbox('wednesday', 1, $wednesday, true, $disabled_in_execution).'</td>
<td>'.__('Thu').html_print_checkbox('thursday', 1, $thursday, true, $disabled_in_execution).'</td>
<td>'.__('Fri').html_print_checkbox('friday', 1, $friday, true, $disabled_in_execution).'</td>
<td>'.__('Sat').html_print_checkbox('saturday', 1, $saturday, true, $disabled_in_execution).'</td>
<td>'.__('Sun').html_print_checkbox('sunday', 1, $sunday, true, $disabled_in_execution)."</td>
</tr>
</table>
<table id='monthly_item' style='display: none;'>
<tr>
<td>".__('From day:').'</td>
<td>'.html_print_select(
$days,
'periodically_day_from',
$periodically_day_from,
'',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
).'</td>
<td>'.__('To day:').'</td>
<td>'.html_print_select(
$days,
'periodically_day_to',
$periodically_day_to,
'',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
).'</td>
<td>'.ui_print_help_tip(__('The end day must be higher than the start day'), true).'</td>
</tr>
</table>
<table>
<tr>
<td>'.__('From hour:').'</td>
<td>'.html_print_input_text(
'periodically_time_from',
$periodically_time_from,
'',
7,
7,
true,
$disabled_in_execution
).ui_print_help_tip(
__('The end time must be higher than the start time'),
true
).'</td>
<td>'.__('To hour:').'</td>
<td>'.html_print_input_text(
'periodically_time_to',
$periodically_time_to,
'',
7,
7,
true,
$disabled_in_execution
).ui_print_help_tip(
__('The end time must be higher than the start time'),
true
).'</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div id="cron_time" style="display: none;">
<table class="w100p">
<tr>
<td>'.__('Cron from:').'</td>
<td>'.html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, false, false, true, 'from').'</td>
</tr>
<tr>
<td>'.__('Cron to:').'</td>
<td>'.html_print_extended_select_for_cron($hour_to, $minute_to, $mday_to, $month_to, $wday_to, true, false, true, true, 'to').'</td>
</tr>
</table>
</div>';
if ($id_downtime > 0) {
echo "<form method=post action='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.editor&insert_downtime_agent=1&id_downtime=$id_downtime'>";
} else {
echo '<form method="POST" action="index.php?sec=extensions&amp;sec2=godmode/agentes/planned_downtime.editor">';
}
// Editor form.
html_print_table($table);
echo "<td valign=top style='width:300px;padding-left:20px;'>";
$filter_group = (int) get_parameter('filter_group', 0);
@ -1074,105 +862,467 @@ if (empty($agents) || $disabled_in_execution) {
$disabled_add_button = true;
}
// Show available agents to include into downtime
$table = new StdClass();
$table->class = 'databox filters';
$table->class = 'databox filter-table-adv';
$table->id = 'principal_table_scheduled';
$table->width = '100%';
$table->size = [];
$table->size[0] = '50%';
$table->size[1] = '50%';
$table->data = [];
$table->size[0] = '25%';
$table->data[0][0] = __('Group filter');
$table->data[0][1] = html_print_select_groups(
false,
$access,
$return_all_group,
'filter_group',
$filter_group,
'',
'',
'',
true,
false,
true,
'',
false,
'min-width:180px;margin-right:15px;'
);
$table->data[0][2] = __('Recursion').'&nbsp&nbsp'.html_print_checkbox('recursion', 1, $recursion, true, false, '');
$table->data[1][0] = __('Available agents');
$table->data[1][1] = html_print_select($agents, 'id_agents[]', -1, '', _('Any'), -2, true, true, true, '', false, 'min-width: 250px;width: 70%;');
$table->rowid[2] = 'available_modules_selection_mode';
$table->data[2][1] = html_print_select(
$table->data['first_title'][] = html_print_div(
[
'common' => __('Show common modules'),
'all' => __('Show all modules'),
'class' => 'section_table_title',
'content' => __('Editor'),
],
'modules_selection_mode',
'common',
false,
'',
'',
true,
false,
true,
'',
false,
'min-width:180px;'
true
);
$table->data[0][] = html_print_label_input_block(
__('Name'),
html_print_input_text(
'name',
$name,
'',
25,
40,
true,
$disabled_in_execution
)
);
$table->data[0][] = html_print_label_input_block(
__('Group'),
html_print_select_groups(
false,
$access,
$return_all_group,
'id_group',
$id_group,
'',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
)
);
$table->rowid[3] = 'available_modules';
$table->data[3][0] = __('Available modules:').ui_print_help_tip(
__('Only for type Quiet for downtimes.'),
$table->data[1][] = html_print_label_input_block(
__('Description'),
html_print_textarea(
'description',
3,
35,
$description,
'',
true
)
);
$table->data[1][] = html_print_label_input_block(
__('Type'),
html_print_select(
[
'quiet' => __('Quiet'),
'disable_agents' => __('Disabled Agents'),
'disable_agent_modules' => __('Disable Modules'),
'disable_agents_alerts' => __('Disabled only Alerts'),
],
'type_downtime',
$type_downtime,
'change_type_downtime()',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
).ui_print_input_placeholder(
__('Quiet: Modules will not generate events or fire alerts.').'<br>'.__('Disable Agents: Disables the selected agents.').'<br>'.__('Disable Alerts: Disable alerts for the selected agents.'),
true
)
);
$table->data[2][] = html_print_label_input_block(
__('Execution'),
html_print_select(
[
'once' => __('Once'),
'periodically' => __('Periodically'),
'cron' => __('Cron from/to'),
],
'type_execution',
$type_execution,
'change_type_execution();',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
)
);
$timeInputs = [];
$timeInputs[] = html_print_div(
[
'id' => 'once_time',
'style' => 'display: none',
'content' => html_print_div(
[
'class' => '',
'content' => html_print_input_text(
'once_date_from',
$once_date_from,
'',
10,
10,
true,
$disabled_in_execution
).html_print_input_text(
'once_time_from',
$once_time_from,
'',
9,
9,
true,
$disabled_in_execution
).'<span class="margin-lr-10 result_info_text">'.__(
'To'
).'</span>'.html_print_input_text(
'once_date_to',
$once_date_to,
'',
10,
10,
true
).html_print_input_text(
'once_time_to',
$once_time_to,
'',
9,
9,
true
),
],
true
),
],
true
);
$table->data[3][1] = html_print_select(
[],
'module[]',
'',
'',
'',
0,
true,
true,
true,
'',
false,
'min-width: 250px;width: 70%;'
$timeInputs[] = html_print_div(
[
'id' => 'periodically_time',
'style' => 'display: none',
'content' => html_print_div(
[
'class' => 'filter-table-adv-manual w50p',
'content' => html_print_label_input_block(
__('Type Periodicity'),
html_print_select(
[
'weekly' => __('Weekly'),
'monthly' => __('Monthly'),
],
'type_periodicity',
$type_periodicity,
'change_type_periodicity();',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
)
),
],
true
).html_print_div(
[
'id' => 'weekly_item',
'class' => '',
'content' => '<ul class="flex-row-center mrgn_top_15px mrgn_btn_15px">
<li class="flex">'.__('Mon').html_print_checkbox('monday', 1, $monday, true, $disabled_in_execution, '', false, ['label_style' => 'margin: 0 5px;' ]).'</li>
<li class="flex">'.__('Tue').html_print_checkbox('tuesday', 1, $tuesday, true, $disabled_in_execution, '', false, ['label_style' => 'margin: 0 5px;' ]).'</li>
<li class="flex">'.__('Wed').html_print_checkbox('wednesday', 1, $wednesday, true, $disabled_in_execution, '', false, ['label_style' => 'margin: 0 5px;' ]).'</li>
<li class="flex">'.__('Thu').html_print_checkbox('thursday', 1, $thursday, true, $disabled_in_execution, '', false, ['label_style' => 'margin: 0 5px;' ]).'</li>
<li class="flex">'.__('Fri').html_print_checkbox('friday', 1, $friday, true, $disabled_in_execution, '', false, ['label_style' => 'margin: 0 5px;' ]).'</li>
<li class="flex">'.__('Sat').html_print_checkbox('saturday', 1, $saturday, true, $disabled_in_execution, '', false, ['label_style' => 'margin: 0 5px;' ]).'</li>
<li class="flex">'.__('Sun').html_print_checkbox('sunday', 1, $sunday, true, $disabled_in_execution, '', false, ['label_style' => 'margin: 0 5px;' ]).'</li>
</ul>',
],
true
).html_print_div(
[
'id' => 'monthly_item',
'style' => 'margin-top: 12px;',
'class' => 'filter-table-adv-manual flex-row-start w50p',
'content' => html_print_label_input_block(
__('From day'),
html_print_select(
$days,
'periodically_day_from',
$periodically_day_from,
'',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
),
[ 'div_style' => 'flex: 50; margin-right: 5px;' ]
).html_print_label_input_block(
__('To day'),
html_print_select(
$days,
'periodically_day_to',
$periodically_day_to,
'',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
).ui_print_input_placeholder(
__('The end day must be higher than the start day'),
true
),
[ 'div_style' => 'flex: 50; margin-left: 5px;' ]
),
],
true
).html_print_div(
[
'class' => 'filter-table-adv-manual flex-row-start w50p',
'content' => html_print_label_input_block(
__('From hour'),
html_print_input_text(
'periodically_time_from',
$periodically_time_from,
'',
7,
7,
true,
$disabled_in_execution
).ui_print_input_placeholder(
__('The start time must be lower than the end time'),
true
),
[ 'div_style' => 'flex: 50; margin-right: 5px;' ]
).html_print_label_input_block(
__('To hour'),
html_print_input_text(
'periodically_time_to',
$periodically_time_to,
'',
7,
7,
true,
$disabled_in_execution
).ui_print_input_placeholder(
__('The end time must be higher than the start time'),
true
),
[ 'div_style' => 'flex: 50; margin-left: 5px;' ]
),
],
true
).ui_get_using_system_timezone_warning(),
],
true
);
$timeInputs[] = html_print_div(
[
'id' => 'cron_time',
'style' => 'display: none',
'content' => html_print_label_input_block(
__('Cron from'),
html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, false, false, true, 'from')
).html_print_label_input_block(
__('Cron to'),
html_print_extended_select_for_cron($hour_to, $minute_to, $mday_to, $month_to, $wday_to, true, false, true, true, 'to')
),
],
true
);
$table->colspan[3][0] = 2;
$table->data[3][0] = html_print_label_input_block(
__('Configure the time'),
implode('', $timeInputs)
);
$table->data[4][] = html_print_div(
[
'class' => 'section_table_title',
'content' => __('Filtering'),
],
true
);
$table->data[5][] = html_print_label_input_block(
__('Group filter'),
html_print_select_groups(
false,
$access,
$return_all_group,
'filter_group',
$filter_group,
'',
'',
'',
true,
false,
true,
'',
false,
'min-width:180px;margin-right:15px;'
)
);
$table->data[5][] = html_print_label_input_block(
__('Recursion'),
html_print_checkbox_switch(
'recursion',
1,
$recursion,
true,
false,
''
)
);
$table->colspan[6][0] = 2;
$availableModules = html_print_label_input_block(
__('Available agents'),
html_print_select(
$agents,
'id_agents[]',
-1,
'',
__('Any'),
-2,
true,
true,
true,
'',
false,
'min-width: 250px;width: 70%;'
),
[
'div_class' => 'flex-column',
'div_style' => 'flex: 33',
]
);
$availableModules .= html_print_label_input_block(
__('Selection mode'),
html_print_select(
[
'common' => __('Show common modules'),
'all' => __('Show all modules'),
],
'modules_selection_mode',
'common',
false,
'',
'',
true,
false,
true,
'',
false,
'min-width:180px;'
),
[
'div_class' => 'available_modules_selection_mode flex-column',
'div_style' => 'flex: 33',
]
);
$availableModules .= html_print_label_input_block(
__('Available modules'),
html_print_select(
[],
'module[]',
'',
'',
'',
0,
true,
true,
true,
'',
false,
'min-width: 250px;width: 70%;'
).ui_print_input_placeholder(
__('Only for type Quiet for downtimes.'),
true
),
[
'div_class' => 'available_modules flex-column',
'div_style' => 'flex: 33',
]
);
$table->data[6][0] = html_print_div(
[
'style' => 'flex-direction: row;align-items: flex-start;',
'content' => $availableModules,
],
true
);
// Print agent table.
if ($id_downtime > 0) {
echo "<form method=post action='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.editor&insert_downtime_agent=1&id_downtime=$id_downtime'>";
} else {
echo '<form method="POST" action="index.php?sec=extensions&amp;sec2=godmode/agentes/planned_downtime.editor">';
}
html_print_table($table);
echo '<br /><br /><br />';
$buttons = '';
html_print_input_hidden('id_agent', $id_agent);
echo '<div class="action-buttons w100p" >';
if ($id_downtime > 0) {
html_print_input_hidden('update_downtime', 1);
html_print_input_hidden('id_downtime', $id_downtime);
html_print_submit_button(
$buttons .= html_print_submit_button(
__('Update'),
'updbutton',
false,
'class="sub upd"'
['icon' => 'update'],
true
);
} else {
html_print_input_hidden('create_downtime', 1);
html_print_submit_button(
$buttons .= html_print_submit_button(
__('Add'),
'crtbutton',
false,
'class="sub wand"'
['icon' => 'wand'],
true
);
}
echo '</div>';
html_print_action_buttons(
$buttons
);
html_print_input_hidden('all_common_modules', '');
echo '</form>';
@ -1208,11 +1358,17 @@ if (empty($downtimes_agents)) {
$table->head[2] = __('OS');
$table->head[3] = __('Last contact');
$table->head['count_modules'] = __('Modules');
$table->align = [];
$table->align[0] = 'center';
$table->align[1] = 'center';
$table->align[2] = 'center';
$table->align[3] = 'center';
$table->align[4] = 'center';
if (!$running) {
$table->head[5] = __('Actions');
$table->align[5] = 'center';
$table->size[5] = '5%';
$table->align[5] = 'right';
$table->size[5] = '10%';
}
foreach ($downtimes_agents as $downtime_agent) {
@ -1232,7 +1388,13 @@ if (empty($downtimes_agents)) {
WHERE id_grupo = '.$downtime_agent['id_grupo']
);
$data[2] = ui_print_os_icon($downtime_agent['id_os'], true, true);
$data[2] = html_print_div(
[
'class' => 'main_menu_icon invert_filter',
'content' => ui_print_os_icon($downtime_agent['id_os'], false, true),
],
true
);
$data[3] = $downtime_agent['ultimo_contacto'];
@ -1251,10 +1413,10 @@ if (empty($downtimes_agents)) {
if (!$running) {
$data[5] = '';
if ($type_downtime !== 'disable_agents') {
$data[5] = '<a href="javascript:show_editor_module('.$downtime_agent['id_agente'].');">'.html_print_image('images/config.png', true, ['border' => '0', 'alt' => __('Delete'), 'class' => 'invert_filter']).'</a>';
$data[5] = '<a href="javascript:show_editor_module('.$downtime_agent['id_agente'].');">'.html_print_image('images/edit.svg', true, ['alt' => __('Edit'), 'class' => 'main_menu_icon invert_filter']).'</a>';
}
$data[5] .= '<a href="index.php?sec=extensions&amp;sec2=godmode/agentes/planned_downtime.editor&id_agent='.$downtime_agent['id_agente'].'&delete_downtime_agent=1&id_downtime_agent='.$downtime_agent['id'].'&id_downtime='.$id_downtime.'">'.html_print_image('images/cross.png', true, ['border' => '0', 'alt' => __('Delete'), 'class' => 'invert_filter']).'</a>';
$data[5] .= '<a href="index.php?sec=extensions&amp;sec2=godmode/agentes/planned_downtime.editor&id_agent='.$downtime_agent['id_agente'].'&delete_downtime_agent=1&id_downtime_agent='.$downtime_agent['id'].'&id_downtime='.$id_downtime.'">'.html_print_image('images/delete.svg', true, ['alt' => __('Delete'), 'class' => 'main_menu_icon invert_filter']).'</a>';
}
$table->data['agent_'.$downtime_agent['id_agente']] = $data;
@ -1263,17 +1425,7 @@ if (empty($downtimes_agents)) {
html_print_table($table);
}
$table = new stdClass();
$table->id = 'loading';
$table->width = '100%';
$table->colspan['loading'][0] = '6';
$table->style[0] = 'text-align: center;';
$table->data = [];
$table->data['loading'] = [];
$table->data['loading'][0] = html_print_image('images/spinner.gif', true);
echo "<div class='invisible'>";
html_print_table($table);
echo '</div>';
ui_print_spinner('Loading');
$table = new stdClass();
$table->id = 'editor';
@ -1577,13 +1729,13 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
switch ($("#type_downtime").val()) {
case 'disable_agents_alerts':
case 'disable_agents':
$("#available_modules").hide();
$("#available_modules_selection_mode").hide();
$(".available_modules").hide();
$(".available_modules_selection_mode").hide();
break;
case 'quiet':
case 'disable_agent_modules':
$("#available_modules_selection_mode").show();
$("#available_modules").show();
$(".available_modules_selection_mode").show();
$(".available_modules").show();
break;
}
}

View File

@ -14,7 +14,7 @@
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2022 Artica Soluciones Tecnologicas
* Copyright (c) 2005-2023 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -89,7 +89,7 @@ if (is_ajax() === true) {
[
'id' => 'agent_modules_affected_planned_downtime',
'class' => 'info_table',
'style' => 'width: 100%',
'style' => 'width: 99%',
'columns' => $columns,
'column_names' => $column_names,
'ajax_url' => 'godmode/agentes/planned_downtime.list',
@ -103,6 +103,7 @@ if (is_ajax() === true) {
],
'search_button_class' => 'sub filter float-right',
'form' => [
'class' => 'filter-table-adv',
'inputs' => [
[
'label' => __('Agents'),
@ -207,13 +208,23 @@ if ($migrate_malformed === true) {
}
// Header.
ui_print_page_header(
ui_print_standard_header(
__('Scheduled Downtime'),
'images/gm_monitoring.png',
false,
'',
true,
''
[],
[
[
'link' => '',
'label' => __('Tools'),
],
[
'link' => '',
'label' => __('Scheduled Downtime'),
],
],
);
$id_downtime = (int) get_parameter('id_downtime', 0);
@ -308,34 +319,8 @@ $filter_params['module_name'] = $module_name;
$filter_params_str = http_build_query($filter_params);
// Table filter.
$table_form = new StdClass();
$table_form->class = 'databox filters';
$table_form->width = '100%';
$table_form->rowstyle = [];
$table_form->cellstyle[0] = ['width: 100px;'];
$table_form->cellstyle[1] = ['width: 100px;'];
$table_form->cellstyle[1][2] = 'display: flex; align-items: center;';
$table_form->cellstyle[2] = ['width: 100px;'];
$table_form->cellstyle[3] = ['text-align: right;'];
$table_form->colspan[3][0] = 3;
$table_form->data = [];
$row = [];
// Search text.
$row[] = __('Search');
$row[] = html_print_input_text(
'search_text',
$search_text,
'',
50,
250,
true
);
// Dates.
$date_inputs = __('From').'&nbsp;'.html_print_input_text(
// From/To inputs.
$date_inputs = html_print_input_text(
'date_from',
$date_from,
'',
@ -343,8 +328,8 @@ $date_inputs = __('From').'&nbsp;'.html_print_input_text(
10,
true
);
$date_inputs .= '&nbsp;&nbsp;';
$date_inputs .= __('To').'&nbsp;'.html_print_input_text(
$date_inputs .= '&nbsp;'.__('To').'&nbsp;';
$date_inputs .= html_print_input_text(
'date_to',
$date_to,
'',
@ -352,11 +337,6 @@ $date_inputs .= __('To').'&nbsp;'.html_print_input_text(
10,
true
);
$row[] = $date_inputs;
$table_form->data[] = $row;
$row = [];
// Execution type.
$execution_type_fields = [
@ -364,29 +344,6 @@ $execution_type_fields = [
'periodically' => __('Periodically'),
'cron' => __('Cron'),
];
$row[] = __('Execution type');
$row[] = html_print_select(
$execution_type_fields,
'execution_type',
$execution_type,
'',
__('Any'),
'',
true,
false,
false
);
// Show past downtimes.
$row[] = __('Show past downtimes').'&nbsp;&nbsp;&nbsp;&nbsp;'.html_print_switch(
[
'name' => 'archived',
'value' => $show_archived,
]
);
$table_form->data[] = $row;
$row = [];
// Agent.
$params = [];
@ -397,36 +354,89 @@ $params['return'] = true;
$params['print_hidden_input_idagent'] = true;
$params['hidden_input_idagent_name'] = 'agent_id';
$params['hidden_input_idagent_value'] = $agent_id;
$row[] = __('Agent');
$row[] = ui_print_agent_autocomplete_input($params);
// Module.
$row[] = __('Module').'&nbsp;'.html_print_autocomplete_modules(
'module_name',
$module_name,
false,
true,
'',
[],
true
);
$table_form->data[] = $row;
$row = [];
$row[] = html_print_submit_button(
// Table filter.
$table_form = new stdClass();
$table_form->class = 'filter-table-adv';
$table_form->id = 'filter_scheduled_downtime';
$table_form->width = '100%';
$table_form->rowstyle = [];
$table_form->cellstyle[0] = ['width: 100px;'];
$table_form->cellstyle[1] = ['width: 100px;'];
$table_form->cellstyle[1][2] = 'display: flex; align-items: center;';
$table_form->cellstyle[2] = ['width: 100px;'];
$table_form->cellstyle[3] = ['text-align: right;'];
$table_form->data = [];
// Search text.
$table_form->data[0][] = html_print_label_input_block(
__('Search'),
'search',
false,
[
'icon' => 'search',
'mode' => 'mini',
],
true
html_print_input_text(
'search_text',
$search_text,
'',
50,
250,
true
)
);
// From / To.
$table_form->data[0][] = html_print_label_input_block(
__('Between dates'),
html_print_div(
[
'class' => 'flex-content-left',
'content' => $date_inputs,
],
true
)
);
// Show past downtimes.
$table_form->data[0][] = html_print_label_input_block(
__('Show past downtimes'),
html_print_switch(
[
'name' => 'archived',
'value' => $show_archived,
]
)
);
// Execution type.
$table_form->data[1][] = html_print_label_input_block(
__('Execution type'),
html_print_select(
$execution_type_fields,
'execution_type',
$execution_type,
'',
__('Any'),
'',
true,
false,
false
)
);
$table_form->data[1][] = html_print_label_input_block(
__('Agent'),
ui_print_agent_autocomplete_input($params)
);
$table_form->data[1][] = html_print_label_input_block(
__('Module'),
html_print_autocomplete_modules(
'module_name',
$module_name,
false,
true,
'',
[],
true,
0,
30,
true
)
);
$table_form->data[] = $row;
// End of table filter.
// Useful to know if the user has done a form filtering.
$filter_performed = false;
@ -629,41 +639,86 @@ if ($downtimes === false && $filter_performed === false) {
// No downtimes cause the user performed a search.
// Filter form.
echo '<form method="post" action="'.$url_list.'">';
html_print_table($table_form);
$outputTable = html_print_table($table_form, true);
$outputTable .= html_print_div(
[
'class' => 'action-buttons-right-forced',
'content' => html_print_submit_button(
__('Filter'),
'search',
false,
[
'icon' => 'search',
'mode' => 'mini',
],
true
),
],
true
);
ui_toggle(
$outputTable,
'<span class="subsection_header_title">'.__('Filters').'</span>',
__('Filters'),
'',
true,
false,
'',
'white-box-content',
'box-flat white_table_graph fixed_filter_bar'
);
echo '</form>';
// Info message.
echo '<div class="nf">'.__('No scheduled downtime').'</div>';
ui_print_info_message(__('No scheduled downtime'));
// Create button.
if ($write_permisson === true) {
echo '<form method="post" class="display_in" action="'.$url_editor.'">';
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Create'),
'create',
false,
['icon' => 'next'],
true
),
]
html_print_action_buttons(
html_print_submit_button(
__('Create'),
'create',
false,
['icon' => 'next'],
true
)
);
echo '</form>';
}
} else {
// Has downtimes.
echo '<form method="post" action="'.$url_list.'">';
html_print_table($table_form);
$outputTable = html_print_table($table_form, true);
$outputTable .= html_print_div(
[
'class' => 'action-buttons-right-forced',
'content' => html_print_submit_button(
__('Search'),
'search',
false,
[
'icon' => 'search',
'mode' => 'mini',
],
true
),
],
true
);
ui_toggle(
$outputTable,
'<span class="subsection_header_title">'.__('Filters').'</span>',
__('Filters'),
'',
true,
false,
'',
'white-box-content',
'box-flat white_table_graph fixed_filter_bar'
);
echo '</form>';
ui_pagination(
$downtimes_number,
$url_list.'&'.$filter_params_str,
$offset
);
// User groups with AR, AD or AW permission.
$groupsAD = users_get_groups($config['id_user'], $access);
$groupsAD = array_keys($groupsAD);
@ -762,17 +817,17 @@ if ($downtimes === false && $filter_performed === false) {
$settings = [
'url' => ui_get_full_url('ajax.php', false, false, false),
'loadingText' => __('Loading, this operation might take several minutes...'),
'title' => __('Agents / Modules affected'),
'title' => __('Elements affected'),
'id' => $downtime['id'],
];
$data['agents_modules'] = '<a href="#" onclick=\'dialogAgentModulesAffected('.json_encode($settings).')\'>';
$data['agents_modules'] .= html_print_image(
'images/search_big.png',
'images/details.svg',
true,
[
'title' => __('Agents and modules affected'),
'style' => 'width:22px; height: 22px;',
'class' => 'main_menu_icon invert_filter',
]
);
$data['agents_modules'] .= '</a>';
@ -789,15 +844,21 @@ if ($downtimes === false && $filter_performed === false) {
$url_list_params = $url_list.'&stop_downtime=1&id_downtime='.$downtime['id'].'&'.$filter_params_str;
$data['stop'] = '<a href="'.$url_list_params.'">';
$data['stop'] .= html_print_image(
'images/cancel.png',
'images/fail@svg.svg',
true,
['title' => __('Stop downtime')]
[
'title' => __('Stop downtime'),
'class' => 'main_menu_icon invert_filter',
]
);
} else {
$data['stop'] = html_print_image(
'images/cancel.png',
'images/fail@svg.svg',
true,
['title' => __('Stop downtime')]
[
'title' => __('Stop downtime'),
'class' => 'main_menu_icon invert_filter',
]
);
}
} else {
@ -812,11 +873,11 @@ if ($downtimes === false && $filter_performed === false) {
// Copy.
$data['copy'] = '<a href="'.$url_editor.'&downtime_copy=1&id_downtime='.$downtime['id'].'">';
$data['copy'] .= html_print_image(
'images/copy.png',
'images/copy.svg',
true,
[
'title' => __('Copy'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
$data['copy'] .= '</a>';
@ -824,11 +885,11 @@ if ($downtimes === false && $filter_performed === false) {
// Edit.
$data['edit'] = '<a href="'.$url_editor.'&edit_downtime=1&id_downtime='.$downtime['id'].'">';
$data['edit'] .= html_print_image(
'images/config.png',
'images/configuration@svg.svg',
true,
[
'title' => __('Update'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
$data['edit'] .= '</a>';
@ -837,11 +898,11 @@ if ($downtimes === false && $filter_performed === false) {
$url_delete = $url_list.'&delete_downtime=1&id_downtime='.$downtime['id'].'&'.$filter_params_str;
$data['delete'] = '<a id="delete_downtime" href="'.$url_delete.'">';
$data['delete'] .= html_print_image(
'images/cross.png',
'images/delete.svg',
true,
[
'title' => __('Delete'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
$data['delete'] .= '</a>';
@ -858,22 +919,22 @@ if ($downtimes === false && $filter_performed === false) {
// Copy.
$data['copy'] = '<a href="'.$url_editor.'&downtime_copy=1&id_downtime='.$downtime['id'].'">';
$data['copy'] .= html_print_image(
'images/copy.png',
'images/copy.svg',
true,
[
'title' => __('Copy'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
$data['copy'] .= '</a>';
// Edit.
$data['edit'] = '<a href="'.$url_editor.'&edit_downtime=1&id_downtime='.$downtime['id'].'">';
$data['edit'] .= html_print_image(
'images/config.png',
'images/configuration@svg.svg',
true,
[
'title' => __('Update'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
$data['edit'] .= '</a>';
@ -910,44 +971,47 @@ if ($downtimes === false && $filter_performed === false) {
}
html_print_table($table);
ui_pagination(
$tablePagination = ui_pagination(
$downtimes_number,
$url_list.'&'.$filter_params_str,
$offset,
0,
false,
'offset',
true,
'pagination-bottom'
'offset',
false
);
echo '<div class="action-buttons" style="width: '.$table->width.'">';
// CSV export button.
echo '<div class="display_in">';
html_print_button(
__('Export to CSV'),
'csv_export',
false,
'blockResubmit($(this)); location.href=\'godmode/agentes/planned_downtime.export_csv.php?'.$filter_params_str.'\'',
'class="sub next"'
);
echo '</div>';
$actionsButtons = '';
// Create button.
if ($write_permisson === true) {
echo '&nbsp;';
echo '<form method="post" action="'.$url_editor.'" class="display_in" >';
html_print_submit_button(
$actionsButtons .= '<form method="post" action="'.$url_editor.'" class="display_in" >';
$actionsButtons .= html_print_submit_button(
__('Create'),
'create',
false,
'class="sub next"'
['icon' => 'next'],
true
);
echo '</form>';
$actionsButtons .= '</form>';
}
echo '</div>';
// CSV export button.
$actionsButtons .= html_print_button(
__('Export to CSV'),
'csv_export',
false,
'blockResubmit($(this)); location.href="godmode/agentes/planned_downtime.export_csv.php?'.$filter_params_str.'"',
[
'icon' => 'load',
'mode' => 'secondary',
],
true
);
html_print_action_buttons(
$actionsButtons,
[ 'right_content' => $tablePagination ]
);
}
ui_require_jquery_file(

View File

@ -174,7 +174,7 @@ if (is_ajax()) {
5,
1,
'',
'class="fields"',
'class="fields w100p"',
true,
'',
$is_management_allowed
@ -307,7 +307,8 @@ if (is_ajax()) {
false,
false,
'fields',
$is_management_allowed
$is_management_allowed,
'width: 100%;'
);
$rfield .= html_print_select(
@ -321,7 +322,8 @@ if (is_ajax()) {
false,
false,
'fields',
$is_management_allowed
$is_management_allowed,
'width: 100%;'
);
$ffield .= html_print_input_text('field'.$i.'_value[]', '', '', 10, 10, true, false, false, '', 'datepicker');
@ -487,7 +489,7 @@ if (is_ajax()) {
5,
1,
$fv[0],
'style="'.$style.'" class="fields min-height-40px"',
'style="'.$style.'" class="fields min-height-40px w100p"',
true,
'',
$is_management_allowed
@ -497,7 +499,7 @@ if (is_ajax()) {
5,
1,
$fv[0],
'style="'.$style.'" class="fields_recovery min-height-40px',
'style="'.$style.'" class="fields_recovery min-height-40px w100p',
true,
'',
$is_management_allowed
@ -510,7 +512,7 @@ if (is_ajax()) {
5,
1,
'',
'style="'.$style.'" class="fields min-height-40px"',
'style="'.$style.'" class="fields min-height-40px w100p"',
true,
'',
$is_management_allowed
@ -520,7 +522,7 @@ if (is_ajax()) {
5,
1,
'',
'style="'.$style.'" class="fields_recovery min-height-40px"',
'style="'.$style.'" class="fields_recovery min-height-40px w100p"',
true,
'',
$is_management_allowed

View File

@ -25,7 +25,20 @@ if (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user
}
// Header
ui_print_page_header(__('Link management'), 'images/extensions.png', false, '', true, '');
ui_print_standard_header(
__('Admin tools'),
'images/extensions.png',
false,
'',
true,
[],
[
[
'link' => '',
'label' => __('Link management'),
],
]
);
if (isset($_POST['create'])) {
@ -98,7 +111,7 @@ if ((isset($_GET['form_add'])) or (isset($_GET['form_edit']))) {
$link = '';
}
echo '<table class="databox filters" cellpadding="4" cellspacing="4" width="100%">';
echo '<table class="databox filters filter-table-adv max_floating_element_size" cellpadding="4" cellspacing="4" width="100%">';
echo '<form name="ilink" method="post" action="index.php?sec=gsetup&sec2=godmode/setup/links">';
if ($creation_mode == 1) {
echo "<input type='hidden' name='create' value='1'>";
@ -112,17 +125,42 @@ if ((isset($_GET['form_add'])) or (isset($_GET['form_edit']))) {
}
echo "'>";
echo '<tr>
<td class="datos">'.__('Link name').'</td>
<td class="datos"><input type="text" class="text_input" name="name" size="50" value="'.$nombre.'"></td>';
echo '</tr><tr>
<td class="datos2">'.__('Link').'</td>
<td class="datos2">
<input type="text" class="text_input" name="link" size="50" value="'.$link.'"></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="w50p">';
echo html_print_label_input_block(
__('Link name'),
html_print_input_text(
'name',
$nombre,
'',
50,
255,
true,
false,
true,
'',
'text_input'
)
);
echo '</td>';
echo '<td class="w50p">';
echo html_print_label_input_block(
__('Link'),
html_print_input_text(
'link',
$link,
'',
50,
255,
true,
false,
true,
'',
'text_input'
)
);
echo '</td></tr>';
echo '</table>';
echo "<table width='100%'>";
echo "<tr><td align='right'>";
if (isset($_GET['form_add']) === true) {
$actionForPerform = __('Create');
$iconForPerform = 'wand';
@ -131,16 +169,14 @@ if ((isset($_GET['form_add'])) or (isset($_GET['form_edit']))) {
$iconForPerform = 'update';
}
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
$actionForPerform,
'crtbutton',
false,
[ 'icon' => $iconForPerform ]
),
],
html_print_action_buttons(
html_print_submit_button(
$actionForPerform,
'crtbutton',
false,
[ 'icon' => $iconForPerform ],
true
)
);
echo '</form></td></tr></table>';
@ -185,16 +221,14 @@ if ((isset($_GET['form_add'])) or (isset($_GET['form_edit']))) {
echo "<tr><td align='right'>";
echo "<form method='post' action='index.php?sec=gsetup&sec2=godmode/setup/links&form_add=1'>";
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Add'),
'form_add',
false,
[ 'icon' => 'wand' ]
),
],
html_print_action_buttons(
html_print_submit_button(
__('Add'),
'form_add',
false,
[ 'icon' => 'wand' ],
true
)
);
echo '</form></table>';

File diff suppressed because it is too large Load Diff

View File

@ -135,18 +135,15 @@ if ($load_filter_modal) {
$table->width = '100%';
$table->cellspacing = 4;
$table->cellpadding = 4;
$table->class = 'databox';
$table->class = 'databox no_border';
if (is_metaconsole()) {
$table->cellspacing = 0;
$table->cellpadding = 0;
$table->class = 'databox filters';
$table->class = 'databox filters no_border';
}
$table->styleTable = 'font-weight: bold; color: #555; text-align:left;';
$filter_id_width = '200px';
if (is_metaconsole()) {
$filter_id_width = '150px';
}
$filter_id_width = 'w100p';
$data = [];
$table->rowid[3] = 'update_filter_row1';
@ -165,11 +162,17 @@ if ($load_filter_modal) {
false,
'margin-left:5px; width:'.$filter_id_width.';'
);
$table->rowclass[] = 'display-grid';
$data[1] = html_print_submit_button(
__('Load filter'),
'load_filter',
false,
'class="sub upd" onclick="load_filter_values()"',
[
'class' => 'mini w25p',
'style' => 'margin-left: 73%',
'onclick' => 'load_filter_values();',
],
true
);
$data[1] .= html_print_input_hidden('load_filter', 1, true);
@ -186,7 +189,7 @@ function show_filter() {
draggable: true,
modal: false,
closeOnEscape: true,
width: 450
width: 500
});
}
@ -238,7 +241,7 @@ $(document).ready (function() {
if ($save_filter_modal) {
echo '<div id="save-filter-select" style="width:350px;">';
echo '<div id="save-filter-select" style="width:600px;">';
if (check_acl($config['id_user'], 0, 'EW') === 1 || check_acl($config['id_user'], 0, 'EM') === 1) {
echo '<div id="info_box"></div>';
@ -247,9 +250,9 @@ if ($save_filter_modal) {
$table->width = '100%';
$table->cellspacing = 4;
$table->cellpadding = 4;
$table->class = 'databox';
$table->class = 'databox no_border';
if (is_metaconsole()) {
$table->class = 'databox filters';
$table->class = 'databox filters no_border';
$table->cellspacing = 0;
$table->cellpadding = 0;
}
@ -289,7 +292,11 @@ if ($save_filter_modal) {
__('Save filter'),
'save_filter',
false,
'class="sub wand" onclick="save_new_filter();"',
[
'class' => 'mini w25p',
'style' => 'margin-left: 56%',
'onclick' => 'save_new_filter();',
],
true
);
@ -317,11 +324,16 @@ if ($save_filter_modal) {
0,
true
);
$table->rowclass[] = 'display-grid';
$data[1] = html_print_submit_button(
__('Update filter'),
'update_filter',
false,
'class="sub upd" onclick="save_update_filter();"',
[
'class' => 'mini w25p',
'style' => 'margin-left: 56%',
'onclick' => 'save_update_filter();',
],
true
);
@ -359,7 +371,8 @@ function show_save_filter() {
resizable: true,
draggable: true,
modal: false,
closeOnEscape: true
closeOnEscape: true,
width: 380
});
}

View File

@ -437,7 +437,7 @@ class AuditLog extends HTML
$('#audit_logs').css('width','95% !important');
});
$('#save-filter').click(function() {
$('#button-save-filter').click(function() {
if ($('#save-filter-select').length) {
$('#save-filter-select').dialog({
width: "20%",
@ -495,7 +495,7 @@ class AuditLog extends HTML
});
/* Filter management */
$('#load-filter').click(function (){
$('#button-load-filter').click(function (){
if($('#load-filter-select').length) {
$('#load-filter-select').dialog({width: "20%",
maxWidth: "25%",

View File

@ -155,13 +155,19 @@ class Diagnostics extends Wizard
];
// Header.
ui_print_page_header(
__('%s Diagnostic tool', $this->product_name),
ui_print_standard_header(
__('Admin tools'),
'images/gm_massive_operations.png',
false,
'',
true,
$header_buttons
$header_buttons,
[
[
'link' => '',
'label' => __('%s Diagnostic tool', $this->product_name),
],
]
);
// Print all Methods Diagnostic Info.
@ -1569,7 +1575,7 @@ class Diagnostics extends Wizard
[
'id' => $tableId,
'class' => 'info_table caption_table',
'style' => 'width: 100%',
'style' => 'width: 99%',
'columns' => $columns,
'column_names' => $columnNames,
'ajax_data' => [

View File

@ -544,7 +544,7 @@ class HTML
'container_class' => $input['toggle_container_class'],
'img_a' => $input['toggle_img_a'],
'img_b' => $input['toggle_img_b'],
'clean' => (isset($input['toggle_clean']) ? $input['toggle_clean'] : true),
'clean' => (isset($input['toggle_clean']) ? $input['toggle_clean'] : false),
]
);
} else {

View File

@ -2330,84 +2330,114 @@ function html_print_extended_select_for_cron($hour='*', $minute='*', $mday='*',
$adv_mode_name = '_'.$adv_mode_name;
}
$table->data[0][0] = html_print_extended_select_for_downtime_cron(
'cron_hour'.$adv_mode_name,
$hours,
$hour,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [0-23], [0-23]-[0-23], *, or step value (example: */3, 10/5)'
$table->data[1][0] = html_print_div(
[
'class' => '',
'content' => html_print_extended_select_for_downtime_cron(
'cron_hour'.$adv_mode_name,
$hours,
$hour,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [0-23], [0-23]-[0-23], *, or step value (example: */3, 10/5)'
),
],
true
);
$table->data[1][1] = html_print_extended_select_for_downtime_cron(
'cron_minute'.$adv_mode_name,
$minutes,
$minute,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [0-59], [0-59]-[0-59], *, or step value (example: */5, 10/1)'
$table->data[1][1] = html_print_div(
[
'class' => '',
'content' => html_print_extended_select_for_downtime_cron(
'cron_minute'.$adv_mode_name,
$minutes,
$minute,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [0-59], [0-59]-[0-59], *, or step value (example: */5, 10/1)'
),
],
true
);
$table->data[1][2] = html_print_extended_select_for_downtime_cron(
'cron_mday'.$adv_mode_name,
$mdays,
$mday,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [1-31], [1-31]-[1-31], *, or step value (example: */5, 7/2)'
$table->data[1][2] = html_print_div(
[
'class' => '',
'content' => html_print_extended_select_for_downtime_cron(
'cron_mday'.$adv_mode_name,
$mdays,
$mday,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [1-31], [1-31]-[1-31], *, or step value (example: */5, 7/2)'
),
],
true
);
$table->data[1][3] = html_print_extended_select_for_downtime_cron(
'cron_month'.$adv_mode_name,
$months,
$month,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [1-12], [1-12]-[1-12], *, or step value (example: */3, 9/1)'
$table->data[1][3] = html_print_div(
[
'class' => '',
'content' => html_print_extended_select_for_downtime_cron(
'cron_month'.$adv_mode_name,
$months,
$month,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [1-12], [1-12]-[1-12], *, or step value (example: */3, 9/1)'
),
],
true
);
$table->data[1][4] = html_print_extended_select_for_downtime_cron(
'cron_wday'.$adv_mode_name,
$wdays,
$wday,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [0-6], [0-6]-[0-6], *, or step value (example: */2, 3/1)'
$table->data[1][4] = html_print_div(
[
'class' => '',
'content' => html_print_extended_select_for_downtime_cron(
'cron_wday'.$adv_mode_name,
$wdays,
$wday,
'',
__('Any'),
'*',
false,
true,
false,
false,
false,
0,
'Valid values: [0-6], [0-6]-[0-6], *, or step value (example: */2, 3/1)'
),
],
true
);
}
@ -3447,7 +3477,7 @@ function html_print_action_buttons(mixed $content, array $parameters=[], bool $r
'id' => ($parameters['id'] ?? 'principal_action_buttons'),
'class' => 'action-buttons '.$typeClass.' '.($parameters['class'] ?? ''),
'content' => $content,
'style' => 'z-index: 1',
'style' => 'z-index: 6',
],
$return
);
@ -4186,7 +4216,7 @@ function html_print_switch_radio_button(array $switches, array $attributes=[], b
* @param string $checked Set the button to be marked (optional, unmarked by default).
* @param boolean $disabled Disable the button (optional, button enabled by default).
* @param string $script Script to execute when onClick event is triggered (optional).
* @param string $attributes Optional HTML attributes. It's a free string which will be inserted into the HTML tag, use it carefully (optional).
* @param mixed $attributes Optional HTML attributes. It's a free string which will be inserted into the HTML tag, use it carefully (optional).
* @param boolean $return Whether to return an output string or echo now (optional, echo by default).
* @param string $id Custom id.
* @param string $customAttributes Custom Attribute for customized checkbox.
@ -4217,6 +4247,7 @@ function html_print_checkbox_extended(
$inputClass = 'custom_checkbox_input';
$labelClass = 'custom_checkbox';
$labelStyle = ' ';
if (is_array($attributes) === true) {
$tmpAttributes = [];
@ -4230,6 +4261,10 @@ function html_print_checkbox_extended(
$labelClass .= ' '.$value;
break;
case 'label_style':
$labelStyle .= 'style="'.$value.'"';
break;
default:
$tmpAttributes[] = $key.'="'.$value.'"';
break;
@ -4241,7 +4276,7 @@ function html_print_checkbox_extended(
$id_aux = preg_replace('/[^a-z0-9\:\;\-\_]/i', '', $name.($idcounter[$name] ? $idcounter[$name] : ''));
$output = '<label class="'.$labelClass.'">';
$output = '<label class="'.$labelClass.'"'.$labelStyle.'>';
$output .= '<input class="'.$inputClass.'" name="'.$name.'" type="checkbox" value="'.$value.'" '.($checked ? 'checked="checked"' : '');
$output .= (empty($id) === true) ? ' id="checkbox-'.$id_aux.'"' : ' id="'.$id.'"';
$output .= (empty($script) === false) ? ' onclick="'.$script.'"' : '';
@ -6629,34 +6664,32 @@ function html_print_extended_select_for_downtime_cron(
$disabled,
'font-size: xx-small;'.$select_style
);
echo ' <a href="javascript:">'.html_print_image(
echo ' <a style="margin: 7px" href="javascript:">'.html_print_image(
'images/edit.svg',
true,
[
'class' => $uniq_name.'_toggler main_menu_icon invert_filter',
'alt' => __('Custom'),
'title' => __('Custom'),
'style' => 'width: 18px;',
// 'style' => 'margin: 7px;',
]
).'</a>';
echo '</div>';
$help_tooltip = ($text_help !== '') ? ui_print_help_tip(__($text_help), true) : '';
echo '<div id="'.$uniq_name.'_manual" class="w100p inline_line">';
html_print_input_text($uniq_name.'_text', $selected, '', 20);
html_print_input_text($uniq_name.'_text', $selected, '', 20, 20, false, false, false, '', 'w100p');
html_print_input_hidden($name, $selected, false, $uniq_name);
echo ' <a href="javascript:">'.$help_tooltip.'&nbsp'.html_print_image(
echo ' <a href="javascript:">'.html_print_image(
'images/logs@svg.svg',
true,
[
'class' => $uniq_name.'_toggler main_menu_icon invert_filter',
'alt' => __('List'),
'title' => __('List'),
'style' => 'width: 18px;',
'style' => 'margin: 7px;',
]
).'</a>';
echo ($text_help !== '') ? ui_print_help_tip(__($text_help), true, '', false, 'margin: 13px 0 0 5px;') : '';
echo '</div>';
$select_init_func = (is_numeric($selected) === true || $selected === '*') ? 'post_process_select_init' : 'post_process_select_init_inv';
@ -6666,7 +6699,7 @@ function html_print_extended_select_for_downtime_cron(
".$select_init_func."('$uniq_name','$selected');
post_process_select_events_unit('$uniq_name','$selected');
});
</script>";
$returnString = ob_get_clean();

View File

@ -612,8 +612,8 @@ function snmp_browser_print_oid(
$table->head[1] = __('OID Information');
$output .= html_print_table($table, true);
$url = 'index.php?'.'sec=gmodules&'.'sec2=godmode/modules/manage_network_components';
$output .= '<form id="snmp_create_module" class="center mrgn_10px" target="_blank" method="post" action="'.$url.'">';
$url = 'index.php?sec=gmodules&sec2=godmode/modules/manage_network_components';
$output .= '<form id="snmp_create_module" class="center mrgn_10px flex" target="_blank" method="post" action="'.$url.'">';
$output .= html_print_input_hidden('create_network_from_snmp_browser', 1, true);
$output .= html_print_input_hidden('id_component_type', 2, true);
$output .= html_print_input_hidden('type', 17, true);
@ -638,19 +638,21 @@ function snmp_browser_print_oid(
__('Create network component'),
'create_network_component',
false,
'class="sub add float-left mrgn_right_20px"',
'class="buttonButton mrgn_right_20px"',
true
);
// Hidden by default.
$output .= html_print_button(
__('Create agent module'),
'create_module_agent_single',
false,
'show_add_module()',
'class="sub add invisible"',
true
);
if (isset($_POST['print_create_agent_module'])) {
// Hidden by default.
$output .= html_print_button(
__('Create agent module'),
'create_module_agent_single',
false,
'show_add_module()',
'class="sub add invisible"',
true
);
}
// Select agent modal.
$output .= snmp_browser_print_create_modules(true);
@ -685,7 +687,8 @@ function snmp_browser_print_container(
$width='100%',
$height='60%',
$display='',
$show_massive_buttons=false
$show_massive_buttons=false,
$toggle=false
) {
global $config;
@ -948,8 +951,22 @@ function snmp_browser_print_container(
);
$table->data[2] .= '</div>';
if ($toggle == true) {
$print_create_agent_module = 1;
} else {
$print_create_agent_module = 0;
}
$searchForm = '<form onsubmit="snmpBrowse(); return false;">';
$searchForm .= html_print_table($table, true);
$searchForm .= html_print_input_hidden(
'print_create_agent_module',
$print_create_agent_module,
true,
false,
false,
'print_create_agent_module'
);
$searchForm .= html_print_div(
[
'class' => 'action-buttons',
@ -969,17 +986,19 @@ function snmp_browser_print_container(
$searchForm .= '</form>';
ui_toggle(
$searchForm,
'<span class="subsection_header_title">'.__('Filters').'</span>',
'filter_form',
'',
false,
false,
'',
'white-box-content',
'box-flat white_table_graph fixed_filter_bar'
);
if ($toggle == true) {
ui_toggle(
$searchForm,
'<span class="subsection_header_title">'.__('Filters').'</span>',
'filter_form',
'',
false,
false,
'',
'white-box-content',
'box-flat white_table_graph fixed_filter_bar'
);
}
// Search tools.
$table2 = new stdClass();
@ -1101,6 +1120,62 @@ function snmp_browser_print_container(
);
$output .= '</div>';
if ($toggle === false) {
// This extra div that can be handled by jquery's dialog.
$output .= '<div id="snmp_browser_container" style="display:none">';
$output .= '<div style="text-align: left; width: '.$width.'; height: '.$height.';">';
$output .= '<div class="w100p">';
$output .= '<form onsubmit="snmpBrowse(); return false;">';
$output .= html_print_table($table, true);
$output .= html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Execute'),
'srcbutton',
false,
[
'mode' => 'mini',
'icon' => 'cog',
],
true
),
],
true
);
$output .= '</form></div>';
if (isset($snmp_version) === false) {
$snmp_version = null;
}
if ($snmp_version == 3) {
$output .= '<div id="snmp3_browser_options">';
} else {
$output .= '<div id="snmp3_browser_options" style="display: none;">';
}
$output .= ui_toggle(
html_print_table($table3, true),
__('SNMP v3 options'),
'',
'',
true,
true
);
$output .= '</div>';
$output .= '<div class="search_options">';
$output .= ui_toggle(
html_print_table($table2, true),
__('Search options'),
'',
'',
true,
true
);
$output .= '</div>';
}
// SNMP tree container.
$output .= '<div class="snmp_tree_container" id="snmp_tree_container" style="display:none">';
$output .= html_print_input_hidden('search_count', 0, true);

View File

@ -588,7 +588,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
$hashdata = md5($hashdata);
if ((bool) $grants_on_node === true && (bool) $user_access_node !== false) {
$urlAgent = 'sendHash(\''.$server_data['server_url'].'/index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'\')';
$urlAgent = $server_data['server_url'].'/index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'];
} else {
$urlAgent = '';
}

View File

@ -2508,6 +2508,10 @@ function ui_print_help_tip(
$style='',
$blink=false
) {
if (empty($img) === true) {
$img = 'images/info@svg.svg';
}
$output = '<a href="javascript:" class="tip" style="'.$style.'" >';
$output .= html_print_image(
$img,
@ -4515,8 +4519,8 @@ function ui_print_toggle($data)
(isset($data['toggle_class']) === true) ? $data['toggle_class'] : '',
(isset($data['container_class']) === true) ? $data['container_class'] : 'white-box-content',
(isset($data['main_class']) === true) ? $data['main_class'] : 'box-flat white_table_graph',
(isset($data['img_a']) === true) ? $data['img_a'] : 'images/arrow_down_green.png',
(isset($data['img_b']) === true) ? $data['img_b'] : 'images/arrow_right_green.png',
(isset($data['img_a']) === true) ? $data['img_a'] : 'images/arrow@svg.svg',
(isset($data['img_b']) === true) ? $data['img_b'] : 'images/arrow@svg.svg',
(isset($data['clean']) === true) ? $data['clean'] : false,
(isset($data['reverseImg']) === true) ? $data['reverseImg'] : false,
(isset($data['switch']) === true) ? $data['switch'] : false,

View File

@ -855,7 +855,7 @@ function flot_slicesbar_graph(
$full_legend_date = false;
}
if (!$date_to) {
if (!$date_to || $date_to === '1') {
$date_to = get_system_time();
}

View File

@ -257,6 +257,8 @@ function snmpGet(oid) {
var snmp3_privacy_pass = $("#password-snmp3_browser_privacy_pass").val();
var ajax_url = $("#hidden-ajax_url").val();
var server_to_exec = $("#server_to_exec").val();
var target_port = $("#target_port").val();
var print_create_agent_module = $("#print_create_agent_module").val();
// Check for a custom action
var custom_action = $("#hidden-custom_action").val();
@ -280,6 +282,8 @@ function snmpGet(oid) {
params["action"] = "snmpget";
params["custom_action"] = custom_action;
params["page"] = "include/ajax/snmp_browser.ajax";
params["target_port"] = target_port;
params["print_create_agent_module"] = print_create_agent_module;
// SNMP get!
jQuery.ajax({
@ -560,7 +564,7 @@ function snmpBrowserWindow() {
background: "black"
},
width: 1000,
height: 500
height: 800
});
}

View File

@ -8,8 +8,8 @@
text-align: center;
font-size: 1.5em;
font-weight: bolder;
color: #fff;
background: #282828;
color: #000;
background: var(--secondary-color);
padding: 8px;
}

View File

@ -6,7 +6,7 @@
/* Calendar background */
table.scw {
background-color: #82b92e;
background-color: var(--secondary-color);
border: 0 !important;
border-radius: 4px;
}
@ -65,3 +65,19 @@ td.scwFoot {
color: #3c3c3c !important;
border: 0 !important;
}
.scwHead input {
line-height: 6px;
padding-left: 5px;
background-color: #000;
color: #cccccc;
}
.scwHead input:hover {
background-color: #cccccc;
color: #000;
}
table.scw {
border: 2px solid #c0ccdc;
}

View File

@ -598,7 +598,7 @@ ul li {
display: flex;
align-items: center;
justify-content: space-evenly;
min-height: 53px;
min-height: 50px;
}
.tabs_li {
@ -637,7 +637,7 @@ ul li {
}
.tabs_collapsed {
height: 53px;
height: 50px;
display: flex;
justify-content: center;
align-items: center;

View File

@ -489,14 +489,6 @@ li > .select2-selection {
padding: 0px !important;
}
.box-flat {
margin: 20px;
}
.mrgn_20px {
margin: 20px !important;
}
.omnishell_results_wrapper {
max-width: 100% !important;
}
@ -547,10 +539,6 @@ ul.datatable_filter > li > div.action-buttons > button {
height: auto !important;
}
.action_buttons_right_content {
padding-left: 20px;
}
#image-1,
#image-2 {
padding-left: 0px !important;
@ -560,10 +548,6 @@ ul.datatable_filter > li > div.action-buttons > button {
margin-bottom: 10px !important;
}
.dataTables_length {
margin-bottom: 50px !important;
}
.item_status_tree_view {
position: initial;
}

View File

@ -297,6 +297,7 @@ td input[type="checkbox"] {
padding: 10px;
margin-top: 2px;
display: table-cell;
height: 15px;
}
input[type="image"] {
@ -719,6 +720,10 @@ select:-internal-list-box {
width: 80%;
}
.w88p {
width: 88%;
}
.w90p {
width: 90%;
}
@ -2105,6 +2110,10 @@ table.rounded_cells td {
z-index: 5;
}
#principal_action_buttons {
z-index: 6;
}
.action-buttons > button {
margin-left: 16px;
}
@ -2414,7 +2423,7 @@ ol.steps li.visited span {
}
ol.steps li.current {
border-left: 5px solid #778866;
border-left: 5px solid var(--primary-color);
margin-left: 0;
font-weight: bold;
background-color: #e9f3d2;
@ -2786,7 +2795,7 @@ td.cellBig {
}
.info_box_container:not(.info_box_information) {
z-index: 2;
z-index: 6;
}
.info_box_container.info_box_information {
@ -4808,7 +4817,7 @@ div#dialog_messages table th:last-child {
z-index: 900000;
position: absolute;
width: 550px;
margin-top: -5px;
margin-top: 55px;
border-radius: 5px;
}
@ -7527,6 +7536,9 @@ div.graph div.legend table {
.pdd_t_0px {
padding-top: 0px;
}
.pdd_t_0px_important {
padding-top: 0px !important;
}
.pdd_t_3px {
padding-top: 3px;
@ -7885,6 +7897,10 @@ div.graph div.legend table {
height: 10px;
}
.height_15px {
height: 15px;
}
.height_20px {
height: 20px;
}
@ -11577,5 +11593,14 @@ ul.tag-editor {
}
.max-width-100p {
max-width: 100% !important;
max-width: 100%;
}
/* Datatables overrides */
.ui-dialog .ui-dialog-titlebar-close {
right: 1em !important;
}
.ui-dialog .ui-dialog-titlebar {
display: block !important;
}

View File

@ -67,11 +67,22 @@ table.agent_info_table tr {
color: #fff !important;
}
div#head,
#menu_tabs {
div#head {
border-bottom: 1px solid #1a1a1a;
}
.menu_full_classic #menu_tabs {
height: 49px;
border-bottom: 1px solid #82b92e;
padding-bottom: 2px;
}
.menu_full_collapsed #menu_tabs {
height: 49px;
border-bottom: 1px solid #82b92e;
padding-bottom: 1px;
}
#menu_full {
border-right: 1px solid #111;
}
@ -248,13 +259,10 @@ ol.steps li a {
/* Tabs icons change color */
/* menu.css */
.operation {
background-color: #252525;
}
.operation,
.godmode,
#menu_full {
background-color: #1a1a1a;
background-color: #222;
}
.button_collapse {
@ -264,11 +272,72 @@ ol.steps li a {
.operation .selected,
.godmode .selected,
.menu_icon:hover {
background-color: #080808;
background-color: #191919;
}
.submenu_text,
.span_has_menu_text,
.title_menu_classic span {
font-size: 14px;
font-weight: normal;
letter-spacing: -0.3px;
height: 18px;
color: #fff;
}
.head_tab_selected span {
color: #fff;
}
.tabs_selected {
background-color: #1d7874;
}
.operation .menu_icon ul.submenu > li,
.godmode .menu_icon ul.submenu > li {
background-color: #222;
padding-left: 24px !important;
}
.submenu_not_selected:hover {
background-color: #171717 !important;
color: #fff !important;
}
.submenu_selected {
margin-bottom: 0px;
background-color: #171717 !important;
}
.submenu_selected_no_submenu {
background-color: #111 !important;
color: #ffffff !important;
}
.sub_subMenu {
background-color: #343434;
font-weight: normal;
background-color: #171717;
padding-left: 1.5em;
color: #fff !important;
}
.sub_subMenu.selected {
font-weight: 600;
background-color: #111 !important;
}
.sub_subMenu:hover {
background-color: #141414;
}
.sub_subMenu.selected a {
color: #fff !important;
}
.span_has_menu_text {
font-weight: normal;
font-size: 9.4pt;
color: #fff;
}
/* footer */

View File

@ -530,6 +530,7 @@ table.filter-table-adv td {
vertical-align: top;
}
div.filter-table-adv-manual > div,
table.filter-table-adv td > div {
display: flex;
flex-direction: column;
@ -537,6 +538,7 @@ table.filter-table-adv td > div {
align-items: normal;
}
div.filter-table-adv-manual > div label,
table.filter-table-adv td > div label {
color: #161628;
font-size: 13px;
@ -648,10 +650,6 @@ td#save_filter_form-1-0 > b {
line-height: 16px;
}
tr#save_filter_row1 {
display: flex !important;
}
td#save_filter_form-0-0,
td#save_filter_form-0-1,
td#save_filter_form-1-0 > input#text-id_name,

View File

@ -236,3 +236,7 @@ form.alert-correlation > div > ul > li.flex-flex-end > input {
form.alert-correlation > div > ul > li.flex-flex-end > label {
width: 50px !important;
}
form.alert-correlation > div > ul > li.display-grid > textarea {
width: 100% !important;
}

View File

@ -1169,6 +1169,10 @@ if ($config['pure'] == 0) {
$menuTypeClass = ($menuCollapsed === true) ? 'collapsed' : 'classic';
// Container.
echo '<div id="container">';
// Notifications content wrapper
echo '<div id="notification-content" class="invisible"/></div>';
// Header.
echo '<div id="head">';
include 'general/header.php';

View File

@ -93,7 +93,7 @@ ui_print_standard_header(
);
// SNMP tree container.
snmp_browser_print_container(false, '100%', '60%', '', true);
snmp_browser_print_container(false, '100%', '60%', '', true, true);
// Div for modal.
echo '<div id="modal" style="display:none"></div>';
@ -655,7 +655,7 @@ function show_add_module() {
snmp3_auth_pass : $('#password-snmp3_browser_auth_pass').val(),
snmp3_privacy_method : $('#snmp3_browser_privacy_method').val(),
snmp3_privacy_pass : $('#password-snmp3_browser_privacy_pass').val(),
tcp_port : $('#target_port').val(),
};
// Append values to form.

View File

@ -27,11 +27,7 @@
*/
// Begin.
if (is_metaconsole() === true) {
ui_require_css_file('tree_meta');
} else {
ui_require_css_file('tree');
}
ui_require_css_file('tree');
ui_require_css_file('fixed-bottom-box');
@ -168,10 +164,6 @@ switch ($tab) {
break;
}
if (is_metaconsole() === true) {
$tabs = [];
}
if (!$strict_acl) {
$header_title = $header_title.' &raquo; '.$header_sub_title;
}
@ -373,11 +365,7 @@ html_print_input_hidden('tag-id', $tag_id);
ui_include_time_picker();
ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/');
if (is_metaconsole() === true) {
ui_require_javascript_file('TreeControllerMeta', 'include/javascript/tree/');
} else {
ui_require_javascript_file('TreeController', 'include/javascript/tree/');
}
ui_require_javascript_file('TreeController', 'include/javascript/tree/');
ui_print_spinner(__('Loading'));
@ -388,10 +376,6 @@ html_print_div(
]
);
if (is_metaconsole() === true) {
echo '</div>';
}
$infoHeadTitle = 'Sombra oscura';
?>
@ -505,7 +489,7 @@ $infoHeadTitle = 'Sombra oscura';
emptyMessage: "<?php echo __('No data found'); ?>",
foundMessage: foundMessage,
tree: data.tree,
baseURL: "<?php echo ui_get_full_url(false, false, false, is_metaconsole()); ?>",
baseURL: "<?php echo ui_get_full_url(false, false, false, false); ?>",
ajaxURL: "<?php echo ui_get_full_url('ajax.php', false, false, false); ?>",
filter: parameters['filter'],
counterTitles: {

View File

@ -4206,3 +4206,17 @@ CREATE TABLE `tevent_sound` (
`sound` TEXT NULL,
`active` TINYINT NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ---------------------------------------------------------------------
-- Table `tsesion_filter`
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `tsesion_filter` (
`id_filter` INT NOT NULL AUTO_INCREMENT,
`id_name` TEXT NULL,
`text` TEXT NULL,
`period` TEXT NULL,
`ip` TEXT NULL,
`type` TEXT NULL,
`user` TEXT NULL,
PRIMARY KEY (`id_filter`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View File

@ -48,6 +48,7 @@ $inputs = [
'class' => 'search_input',
'autofocus' => true,
],
'class' => 'pdd_t_0px_important',
],
];
@ -58,9 +59,8 @@ HTML::printForm(
]
);
ui_pagination($total, '#', $offset, 9);
$output = '<div class="container-list-widgets" >';
$output = '<div class="container-list-widgets mrgn_top_50px">';
foreach ($widgets as $widget) {
$urlWidgets = $config['homedir'];
@ -97,3 +97,5 @@ foreach ($widgets as $widget) {
$output .= '</div>';
echo $output;
ui_pagination($total, '#', $offset, 9, false, 'offset', false, 'center mrgn_top_10px');