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_inner -->
</div> <!-- Closes #table_header --> </div> <!-- Closes #table_header -->
<!-- Notifications content wrapper-->
<div id='notification-content' class='invisible'/></div>
<!-- Old style div wrapper --> <!-- Old style div wrapper -->
<div id="alert_messages" class="invisible"></div> <div id="alert_messages" class="invisible"></div>

View File

@ -34,7 +34,6 @@ $url = sprintf(
$url_id_agente $url_id_agente
); );
enterprise_include('godmode/agentes/module_manager.php');
$isFunctionPolicies = enterprise_include_once('include/functions_policies.php'); $isFunctionPolicies = enterprise_include_once('include/functions_policies.php');
require_once $config['homedir'].'/include/functions_modules.php'; require_once $config['homedir'].'/include/functions_modules.php';
require_once $config['homedir'].'/include/functions_agents.php'; require_once $config['homedir'].'/include/functions_agents.php';
@ -51,196 +50,10 @@ if (isset($policy_page) === false) {
$checked = (bool) get_parameter('checked'); $checked = (bool) get_parameter('checked');
$sec2 = (string) get_parameter('sec2'); $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) { if (isset($id_agente) === false) {
return; return;
} }
$module_action = (string) get_parameter('module_action'); $module_action = (string) get_parameter('module_action');
if ($module_action === 'delete') { 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' ] [ 'type' => 'data_table' ]
); );
echo '</form>'; 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>'; $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 { } else {
$idModuleType = (isset($id_module_type) === true) ? $idModuleType : ''; $idModuleType = (isset($id_module_type) === true) ? $id_module_type : '';
// Removed web analysis and log4x from select. // Removed web analysis and log4x from select.
$tipe_not_in = '24, 25'; $tipe_not_in = '24, 25';
if (is_metaconsole() === true) { if (is_metaconsole() === true) {
@ -444,7 +444,7 @@ $tableBasicThresholds->data = [];
$tableBasicThresholds->rowclass['caption_warning_threshold'] = 'field_half_width pdd_t_10px'; $tableBasicThresholds->rowclass['caption_warning_threshold'] = 'field_half_width pdd_t_10px';
$tableBasicThresholds->rowclass['warning_threshold'] = 'field_half_width'; $tableBasicThresholds->rowclass['warning_threshold'] = 'field_half_width';
$tableBasicThresholds->data['caption_warning_threshold'][0] .= __('Warning threshold').'&nbsp;'; $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['caption_warning_threshold'][0] .= '<span class="font_11" id="caption_minmax_warning">('.__('Min / Max').')</span>';
$tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text( $tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text(
'min_warning', '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 = [];
$basicThresholdsIntervalWarning[] = '<span>'.__('Inverse interval').'</span>'; $basicThresholdsIntervalWarning[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalWarning[] = html_print_checkbox_switch( $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['caption_critical_threshold'] = 'field_half_width pdd_t_10px';
$tableBasicThresholds->rowclass['critical_threshold'] = 'field_half_width'; $tableBasicThresholds->rowclass['critical_threshold'] = 'field_half_width';
$tableBasicThresholds->data['caption_critical_threshold'][0] .= __('Critical threshold').'&nbsp;'; $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['caption_critical_threshold'][0] .= '<span class="font_11" id="caption_minmax_critical">('.__('Min / Max').')</span>';
$tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text( $tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text(
'min_critical', '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 = [];
$basicThresholdsIntervalCritical[] = '<span>'.__('Inverse interval').'</span>'; $basicThresholdsIntervalCritical[] = '<span>'.__('Inverse interval').'</span>';
$basicThresholdsIntervalCritical[] = html_print_checkbox_switch( $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. // In ICMP modules, port is not configurable.
if ($id_module_type !== 6 && $id_module_type !== 7) { 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( $data[1] = html_print_input_text(
'tcp_port', 'tcp_port',
$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 * Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
@ -29,8 +29,6 @@
global $config; global $config;
check_login(); check_login();
$agent_d = check_acl($config['id_user'], 0, 'AD'); $agent_d = check_acl($config['id_user'], 0, 'AD');
@ -54,23 +52,33 @@ require_once $config['homedir'].'/include/functions_cron.php';
// Buttons. // Buttons.
$buttons = [ $buttons = [
'text' => "<a href='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.list'>".html_print_image( 'text' => "<a href='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.list'>".html_print_image(
'images/list.png', 'images/logs@svg.svg',
true, true,
[ [
'title' => __('List'), 'title' => __('List'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>', ).'</a>',
]; ];
// Header. // Header.
ui_print_page_header( ui_print_standard_header(
__('Scheduled Downtime'), __('Scheduled Downtime'),
'images/gm_monitoring.png', 'images/gm_monitoring.png',
false, false,
'', '',
true, true,
$buttons $buttons,
[
[
'link' => '',
'label' => __('Tools'),
],
[
'link' => '',
'label' => __('Scheduled Downtime'),
],
]
); );
// Recursion group filter. // Recursion group filter.
@ -813,227 +821,7 @@ if (users_can_manage_group_all('AW') === true || $disabled) {
$return_all_group = true; $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)); $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); $filter_group = (int) get_parameter('filter_group', 0);
@ -1074,105 +862,467 @@ if (empty($agents) || $disabled_in_execution) {
$disabled_add_button = true; $disabled_add_button = true;
} }
// Show available agents to include into downtime
$table = new StdClass(); $table = new StdClass();
$table->class = 'databox filters'; $table->class = 'databox filter-table-adv';
$table->id = 'principal_table_scheduled';
$table->width = '100%'; $table->width = '100%';
$table->size = [];
$table->size[0] = '50%';
$table->size[1] = '50%';
$table->data = []; $table->data = [];
$table->size[0] = '25%'; $table->data['first_title'][] = html_print_div(
$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(
[ [
'common' => __('Show common modules'), 'class' => 'section_table_title',
'all' => __('Show all modules'), 'content' => __('Editor'),
], ],
'modules_selection_mode', true
'common', );
false, $table->data[0][] = html_print_label_input_block(
'', __('Name'),
'', html_print_input_text(
true, 'name',
false, $name,
true, '',
'', 25,
false, 40,
'min-width:180px;' 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[1][] = html_print_label_input_block(
$table->data[3][0] = __('Available modules:').ui_print_help_tip( __('Description'),
__('Only for type Quiet for downtimes.'), 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 true
); );
$table->data[3][1] = html_print_select( $timeInputs[] = html_print_div(
[], [
'module[]', 'id' => 'periodically_time',
'', 'style' => 'display: none',
'', 'content' => html_print_div(
'', [
0, 'class' => 'filter-table-adv-manual w50p',
true, 'content' => html_print_label_input_block(
true, __('Type Periodicity'),
true, html_print_select(
'', [
false, 'weekly' => __('Weekly'),
'min-width: 250px;width: 70%;' '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. // 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); html_print_table($table);
echo '<br /><br /><br />'; $buttons = '';
html_print_input_hidden('id_agent', $id_agent); html_print_input_hidden('id_agent', $id_agent);
echo '<div class="action-buttons w100p" >';
if ($id_downtime > 0) { if ($id_downtime > 0) {
html_print_input_hidden('update_downtime', 1); html_print_input_hidden('update_downtime', 1);
html_print_input_hidden('id_downtime', $id_downtime); html_print_input_hidden('id_downtime', $id_downtime);
html_print_submit_button( $buttons .= html_print_submit_button(
__('Update'), __('Update'),
'updbutton', 'updbutton',
false, false,
'class="sub upd"' ['icon' => 'update'],
true
); );
} else { } else {
html_print_input_hidden('create_downtime', 1); html_print_input_hidden('create_downtime', 1);
html_print_submit_button( $buttons .= html_print_submit_button(
__('Add'), __('Add'),
'crtbutton', 'crtbutton',
false, false,
'class="sub wand"' ['icon' => 'wand'],
true
); );
} }
echo '</div>'; html_print_action_buttons(
$buttons
);
html_print_input_hidden('all_common_modules', ''); html_print_input_hidden('all_common_modules', '');
echo '</form>'; echo '</form>';
@ -1208,11 +1358,17 @@ if (empty($downtimes_agents)) {
$table->head[2] = __('OS'); $table->head[2] = __('OS');
$table->head[3] = __('Last contact'); $table->head[3] = __('Last contact');
$table->head['count_modules'] = __('Modules'); $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) { if (!$running) {
$table->head[5] = __('Actions'); $table->head[5] = __('Actions');
$table->align[5] = 'center'; $table->align[5] = 'right';
$table->size[5] = '5%'; $table->size[5] = '10%';
} }
foreach ($downtimes_agents as $downtime_agent) { foreach ($downtimes_agents as $downtime_agent) {
@ -1232,7 +1388,13 @@ if (empty($downtimes_agents)) {
WHERE id_grupo = '.$downtime_agent['id_grupo'] 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']; $data[3] = $downtime_agent['ultimo_contacto'];
@ -1251,10 +1413,10 @@ if (empty($downtimes_agents)) {
if (!$running) { if (!$running) {
$data[5] = ''; $data[5] = '';
if ($type_downtime !== 'disable_agents') { 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; $table->data['agent_'.$downtime_agent['id_agente']] = $data;
@ -1263,17 +1425,7 @@ if (empty($downtimes_agents)) {
html_print_table($table); html_print_table($table);
} }
$table = new stdClass(); ui_print_spinner('Loading');
$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>';
$table = new stdClass(); $table = new stdClass();
$table->id = 'editor'; $table->id = 'editor';
@ -1577,13 +1729,13 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
switch ($("#type_downtime").val()) { switch ($("#type_downtime").val()) {
case 'disable_agents_alerts': case 'disable_agents_alerts':
case 'disable_agents': case 'disable_agents':
$("#available_modules").hide(); $(".available_modules").hide();
$("#available_modules_selection_mode").hide(); $(".available_modules_selection_mode").hide();
break; break;
case 'quiet': case 'quiet':
case 'disable_agent_modules': case 'disable_agent_modules':
$("#available_modules_selection_mode").show(); $(".available_modules_selection_mode").show();
$("#available_modules").show(); $(".available_modules").show();
break; 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 * Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * 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', 'id' => 'agent_modules_affected_planned_downtime',
'class' => 'info_table', 'class' => 'info_table',
'style' => 'width: 100%', 'style' => 'width: 99%',
'columns' => $columns, 'columns' => $columns,
'column_names' => $column_names, 'column_names' => $column_names,
'ajax_url' => 'godmode/agentes/planned_downtime.list', 'ajax_url' => 'godmode/agentes/planned_downtime.list',
@ -103,6 +103,7 @@ if (is_ajax() === true) {
], ],
'search_button_class' => 'sub filter float-right', 'search_button_class' => 'sub filter float-right',
'form' => [ 'form' => [
'class' => 'filter-table-adv',
'inputs' => [ 'inputs' => [
[ [
'label' => __('Agents'), 'label' => __('Agents'),
@ -207,13 +208,23 @@ if ($migrate_malformed === true) {
} }
// Header. // Header.
ui_print_page_header( ui_print_standard_header(
__('Scheduled Downtime'), __('Scheduled Downtime'),
'images/gm_monitoring.png', 'images/gm_monitoring.png',
false, false,
'', '',
true, true,
'' [],
[
[
'link' => '',
'label' => __('Tools'),
],
[
'link' => '',
'label' => __('Scheduled Downtime'),
],
],
); );
$id_downtime = (int) get_parameter('id_downtime', 0); $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); $filter_params_str = http_build_query($filter_params);
// Table filter. // From/To inputs.
$table_form = new StdClass(); $date_inputs = html_print_input_text(
$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(
'date_from', 'date_from',
$date_from, $date_from,
'', '',
@ -343,8 +328,8 @@ $date_inputs = __('From').'&nbsp;'.html_print_input_text(
10, 10,
true true
); );
$date_inputs .= '&nbsp;&nbsp;'; $date_inputs .= '&nbsp;'.__('To').'&nbsp;';
$date_inputs .= __('To').'&nbsp;'.html_print_input_text( $date_inputs .= html_print_input_text(
'date_to', 'date_to',
$date_to, $date_to,
'', '',
@ -352,11 +337,6 @@ $date_inputs .= __('To').'&nbsp;'.html_print_input_text(
10, 10,
true true
); );
$row[] = $date_inputs;
$table_form->data[] = $row;
$row = [];
// Execution type. // Execution type.
$execution_type_fields = [ $execution_type_fields = [
@ -364,29 +344,6 @@ $execution_type_fields = [
'periodically' => __('Periodically'), 'periodically' => __('Periodically'),
'cron' => __('Cron'), '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. // Agent.
$params = []; $params = [];
@ -397,36 +354,89 @@ $params['return'] = true;
$params['print_hidden_input_idagent'] = true; $params['print_hidden_input_idagent'] = true;
$params['hidden_input_idagent_name'] = 'agent_id'; $params['hidden_input_idagent_name'] = 'agent_id';
$params['hidden_input_idagent_value'] = $agent_id; $params['hidden_input_idagent_value'] = $agent_id;
$row[] = __('Agent');
$row[] = ui_print_agent_autocomplete_input($params);
// Module. // Table filter.
$row[] = __('Module').'&nbsp;'.html_print_autocomplete_modules( $table_form = new stdClass();
'module_name', $table_form->class = 'filter-table-adv';
$module_name, $table_form->id = 'filter_scheduled_downtime';
false, $table_form->width = '100%';
true, $table_form->rowstyle = [];
'', $table_form->cellstyle[0] = ['width: 100px;'];
[], $table_form->cellstyle[1] = ['width: 100px;'];
true $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[] = $row; $table_form->data = [];
// Search text.
$row = []; $table_form->data[0][] = html_print_label_input_block(
$row[] = html_print_submit_button(
__('Search'), __('Search'),
'search', html_print_input_text(
false, 'search_text',
[ $search_text,
'icon' => 'search', '',
'mode' => 'mini', 50,
], 250,
true 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. // End of table filter.
// Useful to know if the user has done a form filtering. // Useful to know if the user has done a form filtering.
$filter_performed = false; $filter_performed = false;
@ -629,41 +639,86 @@ if ($downtimes === false && $filter_performed === false) {
// No downtimes cause the user performed a search. // No downtimes cause the user performed a search.
// Filter form. // Filter form.
echo '<form method="post" action="'.$url_list.'">'; 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>'; echo '</form>';
// Info message. // Info message.
echo '<div class="nf">'.__('No scheduled downtime').'</div>'; ui_print_info_message(__('No scheduled downtime'));
// Create button. // Create button.
if ($write_permisson === true) { if ($write_permisson === true) {
echo '<form method="post" class="display_in" action="'.$url_editor.'">'; echo '<form method="post" class="display_in" action="'.$url_editor.'">';
html_print_div( html_print_action_buttons(
[ html_print_submit_button(
'class' => 'action-buttons', __('Create'),
'content' => html_print_submit_button( 'create',
__('Create'), false,
'create', ['icon' => 'next'],
false, true
['icon' => 'next'], )
true
),
]
); );
echo '</form>'; echo '</form>';
} }
} else { } else {
// Has downtimes. // Has downtimes.
echo '<form method="post" action="'.$url_list.'">'; 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>'; echo '</form>';
ui_pagination(
$downtimes_number,
$url_list.'&'.$filter_params_str,
$offset
);
// User groups with AR, AD or AW permission. // User groups with AR, AD or AW permission.
$groupsAD = users_get_groups($config['id_user'], $access); $groupsAD = users_get_groups($config['id_user'], $access);
$groupsAD = array_keys($groupsAD); $groupsAD = array_keys($groupsAD);
@ -762,17 +817,17 @@ if ($downtimes === false && $filter_performed === false) {
$settings = [ $settings = [
'url' => ui_get_full_url('ajax.php', false, false, false), 'url' => ui_get_full_url('ajax.php', false, false, false),
'loadingText' => __('Loading, this operation might take several minutes...'), 'loadingText' => __('Loading, this operation might take several minutes...'),
'title' => __('Agents / Modules affected'), 'title' => __('Elements affected'),
'id' => $downtime['id'], 'id' => $downtime['id'],
]; ];
$data['agents_modules'] = '<a href="#" onclick=\'dialogAgentModulesAffected('.json_encode($settings).')\'>'; $data['agents_modules'] = '<a href="#" onclick=\'dialogAgentModulesAffected('.json_encode($settings).')\'>';
$data['agents_modules'] .= html_print_image( $data['agents_modules'] .= html_print_image(
'images/search_big.png', 'images/details.svg',
true, true,
[ [
'title' => __('Agents and modules affected'), 'title' => __('Agents and modules affected'),
'style' => 'width:22px; height: 22px;', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$data['agents_modules'] .= '</a>'; $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; $url_list_params = $url_list.'&stop_downtime=1&id_downtime='.$downtime['id'].'&'.$filter_params_str;
$data['stop'] = '<a href="'.$url_list_params.'">'; $data['stop'] = '<a href="'.$url_list_params.'">';
$data['stop'] .= html_print_image( $data['stop'] .= html_print_image(
'images/cancel.png', 'images/fail@svg.svg',
true, true,
['title' => __('Stop downtime')] [
'title' => __('Stop downtime'),
'class' => 'main_menu_icon invert_filter',
]
); );
} else { } else {
$data['stop'] = html_print_image( $data['stop'] = html_print_image(
'images/cancel.png', 'images/fail@svg.svg',
true, true,
['title' => __('Stop downtime')] [
'title' => __('Stop downtime'),
'class' => 'main_menu_icon invert_filter',
]
); );
} }
} else { } else {
@ -812,11 +873,11 @@ if ($downtimes === false && $filter_performed === false) {
// Copy. // Copy.
$data['copy'] = '<a href="'.$url_editor.'&downtime_copy=1&id_downtime='.$downtime['id'].'">'; $data['copy'] = '<a href="'.$url_editor.'&downtime_copy=1&id_downtime='.$downtime['id'].'">';
$data['copy'] .= html_print_image( $data['copy'] .= html_print_image(
'images/copy.png', 'images/copy.svg',
true, true,
[ [
'title' => __('Copy'), 'title' => __('Copy'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$data['copy'] .= '</a>'; $data['copy'] .= '</a>';
@ -824,11 +885,11 @@ if ($downtimes === false && $filter_performed === false) {
// Edit. // Edit.
$data['edit'] = '<a href="'.$url_editor.'&edit_downtime=1&id_downtime='.$downtime['id'].'">'; $data['edit'] = '<a href="'.$url_editor.'&edit_downtime=1&id_downtime='.$downtime['id'].'">';
$data['edit'] .= html_print_image( $data['edit'] .= html_print_image(
'images/config.png', 'images/configuration@svg.svg',
true, true,
[ [
'title' => __('Update'), 'title' => __('Update'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$data['edit'] .= '</a>'; $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; $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'] = '<a id="delete_downtime" href="'.$url_delete.'">';
$data['delete'] .= html_print_image( $data['delete'] .= html_print_image(
'images/cross.png', 'images/delete.svg',
true, true,
[ [
'title' => __('Delete'), 'title' => __('Delete'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$data['delete'] .= '</a>'; $data['delete'] .= '</a>';
@ -858,22 +919,22 @@ if ($downtimes === false && $filter_performed === false) {
// Copy. // Copy.
$data['copy'] = '<a href="'.$url_editor.'&downtime_copy=1&id_downtime='.$downtime['id'].'">'; $data['copy'] = '<a href="'.$url_editor.'&downtime_copy=1&id_downtime='.$downtime['id'].'">';
$data['copy'] .= html_print_image( $data['copy'] .= html_print_image(
'images/copy.png', 'images/copy.svg',
true, true,
[ [
'title' => __('Copy'), 'title' => __('Copy'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$data['copy'] .= '</a>'; $data['copy'] .= '</a>';
// Edit. // Edit.
$data['edit'] = '<a href="'.$url_editor.'&edit_downtime=1&id_downtime='.$downtime['id'].'">'; $data['edit'] = '<a href="'.$url_editor.'&edit_downtime=1&id_downtime='.$downtime['id'].'">';
$data['edit'] .= html_print_image( $data['edit'] .= html_print_image(
'images/config.png', 'images/configuration@svg.svg',
true, true,
[ [
'title' => __('Update'), 'title' => __('Update'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$data['edit'] .= '</a>'; $data['edit'] .= '</a>';
@ -910,44 +971,47 @@ if ($downtimes === false && $filter_performed === false) {
} }
html_print_table($table); html_print_table($table);
ui_pagination( $tablePagination = ui_pagination(
$downtimes_number, $downtimes_number,
$url_list.'&'.$filter_params_str, $url_list.'&'.$filter_params_str,
$offset, $offset,
0, 0,
false,
'offset',
true, true,
'pagination-bottom' 'offset',
false
); );
echo '<div class="action-buttons" style="width: '.$table->width.'">'; $actionsButtons = '';
// 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>';
// Create button. // Create button.
if ($write_permisson === true) { if ($write_permisson === true) {
echo '&nbsp;'; $actionsButtons .= '<form method="post" action="'.$url_editor.'" class="display_in" >';
echo '<form method="post" action="'.$url_editor.'" class="display_in" >'; $actionsButtons .= html_print_submit_button(
html_print_submit_button(
__('Create'), __('Create'),
'create', 'create',
false, 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( ui_require_jquery_file(

View File

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

View File

@ -25,7 +25,20 @@ if (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user
} }
// Header // 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'])) { if (isset($_POST['create'])) {
@ -98,7 +111,7 @@ if ((isset($_GET['form_add'])) or (isset($_GET['form_edit']))) {
$link = ''; $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">'; echo '<form name="ilink" method="post" action="index.php?sec=gsetup&sec2=godmode/setup/links">';
if ($creation_mode == 1) { if ($creation_mode == 1) {
echo "<input type='hidden' name='create' value='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 "'>";
echo '<tr> echo '<tr>';
<td class="datos">'.__('Link name').'</td> echo '<td class="w50p">';
<td class="datos"><input type="text" class="text_input" name="name" size="50" value="'.$nombre.'"></td>'; echo html_print_label_input_block(
echo '</tr><tr> __('Link name'),
<td class="datos2">'.__('Link').'</td> html_print_input_text(
<td class="datos2"> 'name',
<input type="text" class="text_input" name="link" size="50" value="'.$link.'"></td>'; $nombre,
echo '</tr>'; '',
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>';
echo "<table width='100%'>";
echo "<tr><td align='right'>";
if (isset($_GET['form_add']) === true) { if (isset($_GET['form_add']) === true) {
$actionForPerform = __('Create'); $actionForPerform = __('Create');
$iconForPerform = 'wand'; $iconForPerform = 'wand';
@ -131,16 +169,14 @@ if ((isset($_GET['form_add'])) or (isset($_GET['form_edit']))) {
$iconForPerform = 'update'; $iconForPerform = 'update';
} }
html_print_div( html_print_action_buttons(
[ html_print_submit_button(
'class' => 'action-buttons', $actionForPerform,
'content' => html_print_submit_button( 'crtbutton',
$actionForPerform, false,
'crtbutton', [ 'icon' => $iconForPerform ],
false, true
[ 'icon' => $iconForPerform ] )
),
],
); );
echo '</form></td></tr></table>'; 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 "<tr><td align='right'>";
echo "<form method='post' action='index.php?sec=gsetup&sec2=godmode/setup/links&form_add=1'>"; echo "<form method='post' action='index.php?sec=gsetup&sec2=godmode/setup/links&form_add=1'>";
html_print_div( html_print_action_buttons(
[ html_print_submit_button(
'class' => 'action-buttons', __('Add'),
'content' => html_print_submit_button( 'form_add',
__('Add'), false,
'form_add', [ 'icon' => 'wand' ],
false, true
[ 'icon' => 'wand' ] )
),
],
); );
echo '</form></table>'; 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->width = '100%';
$table->cellspacing = 4; $table->cellspacing = 4;
$table->cellpadding = 4; $table->cellpadding = 4;
$table->class = 'databox'; $table->class = 'databox no_border';
if (is_metaconsole()) { if (is_metaconsole()) {
$table->cellspacing = 0; $table->cellspacing = 0;
$table->cellpadding = 0; $table->cellpadding = 0;
$table->class = 'databox filters'; $table->class = 'databox filters no_border';
} }
$table->styleTable = 'font-weight: bold; color: #555; text-align:left;'; $table->styleTable = 'font-weight: bold; color: #555; text-align:left;';
$filter_id_width = '200px'; $filter_id_width = 'w100p';
if (is_metaconsole()) {
$filter_id_width = '150px';
}
$data = []; $data = [];
$table->rowid[3] = 'update_filter_row1'; $table->rowid[3] = 'update_filter_row1';
@ -165,11 +162,17 @@ if ($load_filter_modal) {
false, false,
'margin-left:5px; width:'.$filter_id_width.';' 'margin-left:5px; width:'.$filter_id_width.';'
); );
$table->rowclass[] = 'display-grid';
$data[1] = html_print_submit_button( $data[1] = html_print_submit_button(
__('Load filter'), __('Load filter'),
'load_filter', 'load_filter',
false, false,
'class="sub upd" onclick="load_filter_values()"', [
'class' => 'mini w25p',
'style' => 'margin-left: 73%',
'onclick' => 'load_filter_values();',
],
true true
); );
$data[1] .= html_print_input_hidden('load_filter', 1, true); $data[1] .= html_print_input_hidden('load_filter', 1, true);
@ -186,7 +189,7 @@ function show_filter() {
draggable: true, draggable: true,
modal: false, modal: false,
closeOnEscape: true, closeOnEscape: true,
width: 450 width: 500
}); });
} }
@ -238,7 +241,7 @@ $(document).ready (function() {
if ($save_filter_modal) { 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) { if (check_acl($config['id_user'], 0, 'EW') === 1 || check_acl($config['id_user'], 0, 'EM') === 1) {
echo '<div id="info_box"></div>'; echo '<div id="info_box"></div>';
@ -247,9 +250,9 @@ if ($save_filter_modal) {
$table->width = '100%'; $table->width = '100%';
$table->cellspacing = 4; $table->cellspacing = 4;
$table->cellpadding = 4; $table->cellpadding = 4;
$table->class = 'databox'; $table->class = 'databox no_border';
if (is_metaconsole()) { if (is_metaconsole()) {
$table->class = 'databox filters'; $table->class = 'databox filters no_border';
$table->cellspacing = 0; $table->cellspacing = 0;
$table->cellpadding = 0; $table->cellpadding = 0;
} }
@ -289,7 +292,11 @@ if ($save_filter_modal) {
__('Save filter'), __('Save filter'),
'save_filter', 'save_filter',
false, false,
'class="sub wand" onclick="save_new_filter();"', [
'class' => 'mini w25p',
'style' => 'margin-left: 56%',
'onclick' => 'save_new_filter();',
],
true true
); );
@ -317,11 +324,16 @@ if ($save_filter_modal) {
0, 0,
true true
); );
$table->rowclass[] = 'display-grid';
$data[1] = html_print_submit_button( $data[1] = html_print_submit_button(
__('Update filter'), __('Update filter'),
'update_filter', 'update_filter',
false, false,
'class="sub upd" onclick="save_update_filter();"', [
'class' => 'mini w25p',
'style' => 'margin-left: 56%',
'onclick' => 'save_update_filter();',
],
true true
); );
@ -359,7 +371,8 @@ function show_save_filter() {
resizable: true, resizable: true,
draggable: true, draggable: true,
modal: false, modal: false,
closeOnEscape: true closeOnEscape: true,
width: 380
}); });
} }

View File

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

View File

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

View File

@ -544,7 +544,7 @@ class HTML
'container_class' => $input['toggle_container_class'], 'container_class' => $input['toggle_container_class'],
'img_a' => $input['toggle_img_a'], 'img_a' => $input['toggle_img_a'],
'img_b' => $input['toggle_img_b'], '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 { } else {

View File

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

View File

@ -612,8 +612,8 @@ function snmp_browser_print_oid(
$table->head[1] = __('OID Information'); $table->head[1] = __('OID Information');
$output .= html_print_table($table, true); $output .= html_print_table($table, true);
$url = 'index.php?'.'sec=gmodules&'.'sec2=godmode/modules/manage_network_components'; $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.'">'; $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('create_network_from_snmp_browser', 1, true);
$output .= html_print_input_hidden('id_component_type', 2, true); $output .= html_print_input_hidden('id_component_type', 2, true);
$output .= html_print_input_hidden('type', 17, true); $output .= html_print_input_hidden('type', 17, true);
@ -638,19 +638,21 @@ function snmp_browser_print_oid(
__('Create network component'), __('Create network component'),
'create_network_component', 'create_network_component',
false, false,
'class="sub add float-left mrgn_right_20px"', 'class="buttonButton mrgn_right_20px"',
true true
); );
// Hidden by default. if (isset($_POST['print_create_agent_module'])) {
$output .= html_print_button( // Hidden by default.
__('Create agent module'), $output .= html_print_button(
'create_module_agent_single', __('Create agent module'),
false, 'create_module_agent_single',
'show_add_module()', false,
'class="sub add invisible"', 'show_add_module()',
true 'class="sub add invisible"',
); true
);
}
// Select agent modal. // Select agent modal.
$output .= snmp_browser_print_create_modules(true); $output .= snmp_browser_print_create_modules(true);
@ -685,7 +687,8 @@ function snmp_browser_print_container(
$width='100%', $width='100%',
$height='60%', $height='60%',
$display='', $display='',
$show_massive_buttons=false $show_massive_buttons=false,
$toggle=false
) { ) {
global $config; global $config;
@ -948,8 +951,22 @@ function snmp_browser_print_container(
); );
$table->data[2] .= '</div>'; $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 = '<form onsubmit="snmpBrowse(); return false;">';
$searchForm .= html_print_table($table, true); $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( $searchForm .= html_print_div(
[ [
'class' => 'action-buttons', 'class' => 'action-buttons',
@ -969,17 +986,19 @@ function snmp_browser_print_container(
$searchForm .= '</form>'; $searchForm .= '</form>';
ui_toggle( if ($toggle == true) {
$searchForm, ui_toggle(
'<span class="subsection_header_title">'.__('Filters').'</span>', $searchForm,
'filter_form', '<span class="subsection_header_title">'.__('Filters').'</span>',
'', 'filter_form',
false, '',
false, false,
'', false,
'white-box-content', '',
'box-flat white_table_graph fixed_filter_bar' 'white-box-content',
); 'box-flat white_table_graph fixed_filter_bar'
);
}
// Search tools. // Search tools.
$table2 = new stdClass(); $table2 = new stdClass();
@ -1101,6 +1120,62 @@ function snmp_browser_print_container(
); );
$output .= '</div>'; $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. // SNMP tree container.
$output .= '<div class="snmp_tree_container" id="snmp_tree_container" style="display:none">'; $output .= '<div class="snmp_tree_container" id="snmp_tree_container" style="display:none">';
$output .= html_print_input_hidden('search_count', 0, true); $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); $hashdata = md5($hashdata);
if ((bool) $grants_on_node === true && (bool) $user_access_node !== false) { 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 { } else {
$urlAgent = ''; $urlAgent = '';
} }

View File

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

View File

@ -855,7 +855,7 @@ function flot_slicesbar_graph(
$full_legend_date = false; $full_legend_date = false;
} }
if (!$date_to) { if (!$date_to || $date_to === '1') {
$date_to = get_system_time(); $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 snmp3_privacy_pass = $("#password-snmp3_browser_privacy_pass").val();
var ajax_url = $("#hidden-ajax_url").val(); var ajax_url = $("#hidden-ajax_url").val();
var server_to_exec = $("#server_to_exec").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 // Check for a custom action
var custom_action = $("#hidden-custom_action").val(); var custom_action = $("#hidden-custom_action").val();
@ -280,6 +282,8 @@ function snmpGet(oid) {
params["action"] = "snmpget"; params["action"] = "snmpget";
params["custom_action"] = custom_action; params["custom_action"] = custom_action;
params["page"] = "include/ajax/snmp_browser.ajax"; params["page"] = "include/ajax/snmp_browser.ajax";
params["target_port"] = target_port;
params["print_create_agent_module"] = print_create_agent_module;
// SNMP get! // SNMP get!
jQuery.ajax({ jQuery.ajax({
@ -560,7 +564,7 @@ function snmpBrowserWindow() {
background: "black" background: "black"
}, },
width: 1000, width: 1000,
height: 500 height: 800
}); });
} }

View File

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

View File

@ -6,7 +6,7 @@
/* Calendar background */ /* Calendar background */
table.scw { table.scw {
background-color: #82b92e; background-color: var(--secondary-color);
border: 0 !important; border: 0 !important;
border-radius: 4px; border-radius: 4px;
} }
@ -65,3 +65,19 @@ td.scwFoot {
color: #3c3c3c !important; color: #3c3c3c !important;
border: 0 !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; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
min-height: 53px; min-height: 50px;
} }
.tabs_li { .tabs_li {
@ -637,7 +637,7 @@ ul li {
} }
.tabs_collapsed { .tabs_collapsed {
height: 53px; height: 50px;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;

View File

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

View File

@ -297,6 +297,7 @@ td input[type="checkbox"] {
padding: 10px; padding: 10px;
margin-top: 2px; margin-top: 2px;
display: table-cell; display: table-cell;
height: 15px;
} }
input[type="image"] { input[type="image"] {
@ -719,6 +720,10 @@ select:-internal-list-box {
width: 80%; width: 80%;
} }
.w88p {
width: 88%;
}
.w90p { .w90p {
width: 90%; width: 90%;
} }
@ -2105,6 +2110,10 @@ table.rounded_cells td {
z-index: 5; z-index: 5;
} }
#principal_action_buttons {
z-index: 6;
}
.action-buttons > button { .action-buttons > button {
margin-left: 16px; margin-left: 16px;
} }
@ -2414,7 +2423,7 @@ ol.steps li.visited span {
} }
ol.steps li.current { ol.steps li.current {
border-left: 5px solid #778866; border-left: 5px solid var(--primary-color);
margin-left: 0; margin-left: 0;
font-weight: bold; font-weight: bold;
background-color: #e9f3d2; background-color: #e9f3d2;
@ -2786,7 +2795,7 @@ td.cellBig {
} }
.info_box_container:not(.info_box_information) { .info_box_container:not(.info_box_information) {
z-index: 2; z-index: 6;
} }
.info_box_container.info_box_information { .info_box_container.info_box_information {
@ -4808,7 +4817,7 @@ div#dialog_messages table th:last-child {
z-index: 900000; z-index: 900000;
position: absolute; position: absolute;
width: 550px; width: 550px;
margin-top: -5px; margin-top: 55px;
border-radius: 5px; border-radius: 5px;
} }
@ -7527,6 +7536,9 @@ div.graph div.legend table {
.pdd_t_0px { .pdd_t_0px {
padding-top: 0px; padding-top: 0px;
} }
.pdd_t_0px_important {
padding-top: 0px !important;
}
.pdd_t_3px { .pdd_t_3px {
padding-top: 3px; padding-top: 3px;
@ -7885,6 +7897,10 @@ div.graph div.legend table {
height: 10px; height: 10px;
} }
.height_15px {
height: 15px;
}
.height_20px { .height_20px {
height: 20px; height: 20px;
} }
@ -11577,5 +11593,14 @@ ul.tag-editor {
} }
.max-width-100p { .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; color: #fff !important;
} }
div#head, div#head {
#menu_tabs {
border-bottom: 1px solid #1a1a1a; 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 { #menu_full {
border-right: 1px solid #111; border-right: 1px solid #111;
} }
@ -248,13 +259,10 @@ ol.steps li a {
/* Tabs icons change color */ /* Tabs icons change color */
/* menu.css */ /* menu.css */
.operation { .operation,
background-color: #252525;
}
.godmode, .godmode,
#menu_full { #menu_full {
background-color: #1a1a1a; background-color: #222;
} }
.button_collapse { .button_collapse {
@ -264,11 +272,72 @@ ol.steps li a {
.operation .selected, .operation .selected,
.godmode .selected, .godmode .selected,
.menu_icon:hover { .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 { .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 */ /* footer */

View File

@ -530,6 +530,7 @@ table.filter-table-adv td {
vertical-align: top; vertical-align: top;
} }
div.filter-table-adv-manual > div,
table.filter-table-adv td > div { table.filter-table-adv td > div {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -537,6 +538,7 @@ table.filter-table-adv td > div {
align-items: normal; align-items: normal;
} }
div.filter-table-adv-manual > div label,
table.filter-table-adv td > div label { table.filter-table-adv td > div label {
color: #161628; color: #161628;
font-size: 13px; font-size: 13px;
@ -648,10 +650,6 @@ td#save_filter_form-1-0 > b {
line-height: 16px; line-height: 16px;
} }
tr#save_filter_row1 {
display: flex !important;
}
td#save_filter_form-0-0, td#save_filter_form-0-0,
td#save_filter_form-0-1, td#save_filter_form-0-1,
td#save_filter_form-1-0 > input#text-id_name, 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 { form.alert-correlation > div > ul > li.flex-flex-end > label {
width: 50px !important; 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'; $menuTypeClass = ($menuCollapsed === true) ? 'collapsed' : 'classic';
// Container. // Container.
echo '<div id="container">'; echo '<div id="container">';
// Notifications content wrapper
echo '<div id="notification-content" class="invisible"/></div>';
// Header. // Header.
echo '<div id="head">'; echo '<div id="head">';
include 'general/header.php'; include 'general/header.php';

View File

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

View File

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

View File

@ -4206,3 +4206,17 @@ CREATE TABLE `tevent_sound` (
`sound` TEXT NULL, `sound` TEXT NULL,
`active` TINYINT NOT NULL DEFAULT '1', `active` TINYINT NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; 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', 'class' => 'search_input',
'autofocus' => true, '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) { foreach ($widgets as $widget) {
$urlWidgets = $config['homedir']; $urlWidgets = $config['homedir'];
@ -97,3 +97,5 @@ foreach ($widgets as $widget) {
$output .= '</div>'; $output .= '</div>';
echo $output; echo $output;
ui_pagination($total, '#', $offset, 9, false, 'offset', false, 'center mrgn_top_10px');