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

Ent 9662 second round

See merge request artica/pandorafms!5583
This commit is contained in:
daniel 2023-03-08 07:07:55 +00:00
commit 5ff56ff7e8
53 changed files with 1564 additions and 1127 deletions

View File

@ -377,17 +377,17 @@ function mainAgentsModules()
$fullscreen['text'] = '<a href="index.php?extension_in_menu=estado&amp;sec=extensions&amp;sec2=extensions/agents_modules&amp;pure=1&amp; $fullscreen['text'] = '<a href="index.php?extension_in_menu=estado&amp;sec=extensions&amp;sec2=extensions/agents_modules&amp;pure=1&amp;
offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'&full_modules_selected='.$full_modules.'&show_type='.$show_type.' offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'&full_modules_selected='.$full_modules.'&show_type='.$show_type.'
&full_agents_id='.$full_agents.'&selection_agent_module='.$selection_a_m.'">'.html_print_image('images/full_screen.png', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>'; &full_agents_id='.$full_agents.'&selection_agent_module='.$selection_a_m.'">'.html_print_image('images/fullscreen@svg.svg', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>';
} else if ($full_modules_selected[0] && $full_agents_id[0]) { } else if ($full_modules_selected[0] && $full_agents_id[0]) {
$full_modules = urlencode(implode(';', $full_modules_selected)); $full_modules = urlencode(implode(';', $full_modules_selected));
$full_agents = urlencode(implode(';', $full_agents_id)); $full_agents = urlencode(implode(';', $full_agents_id));
$fullscreen['text'] = '<a href="index.php?extension_in_menu=estado&amp;sec=extensions&amp;sec2=extensions/agents_modules&amp;pure=1&amp; $fullscreen['text'] = '<a href="index.php?extension_in_menu=estado&amp;sec=extensions&amp;sec2=extensions/agents_modules&amp;pure=1&amp;
offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'&full_modules_selected='.$full_modules.'&show_type='.$show_type.' offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'&full_modules_selected='.$full_modules.'&show_type='.$show_type.'
&full_agents_id='.$full_agents.'&selection_agent_module='.$selection_a_m.'">'.html_print_image('images/full_screen.png', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>'; &full_agents_id='.$full_agents.'&selection_agent_module='.$selection_a_m.'">'.html_print_image('images/fullscreen@svg.svg', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>';
} else { } else {
$fullscreen['text'] = '<a href="index.php?extension_in_menu=estado&amp;sec=extensions&amp;sec2=extensions/agents_modules&amp;pure=1&amp; $fullscreen['text'] = '<a href="index.php?extension_in_menu=estado&amp;sec=extensions&amp;sec2=extensions/agents_modules&amp;pure=1&amp;
offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'&show_type='.$show_type.'">'.html_print_image('images/full_screen.png', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>'; offset='.$offset.'&group_id='.$group_id.'&modulegroup='.$modulegroup.'&refresh='.$refr.'&show_type='.$show_type.'">'.html_print_image('images/fullscreen@svg.svg', true, ['title' => __('Full screen mode'), 'class' => 'invert_filter']).'</a>';
} }
} }
@ -597,11 +597,11 @@ function mainAgentsModules()
echo '<li class="nomn">'; echo '<li class="nomn">';
echo '<a target="_top" href="'.$url.'">'; echo '<a target="_top" href="'.$url.'">';
echo html_print_image( echo html_print_image(
'images/normal_screen.png', 'images/exit_fullscreen@svg.svg',
true, true,
[ [
'title' => __('Back to normal mode'), 'title' => __('Back to normal mode'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
echo '</a>'; echo '</a>';

View File

@ -1,16 +1,33 @@
<?php <?php
/**
* Extension to manage a list of gateways and the node address where they should
* point to.
*
* @category Users
* @package Pandora FMS
* @subpackage Community
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* 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
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
// Pandora FMS - http://pandorafms.com // Begin.
// ==================================================
// Copyright (c) 2005-2021 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
// as published by the Free Software Foundation; version 2
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
function users_extension_main() function users_extension_main()
{ {
users_extension_main_god(false); users_extension_main_god(false);
@ -34,7 +51,24 @@ function users_extension_main_god($god=true)
} }
// Header. // Header.
ui_print_page_header(__('Users connected'), $image, false, '', $god); ui_print_standard_header(
__('List of users connected'),
$image,
false,
'',
$god,
[],
[
[
'link' => '',
'label' => __('Workspace'),
],
[
'link' => '',
'label' => __('Users connected'),
],
]
);
$check_profile = db_get_row('tusuario_perfil', 'id_usuario', $config['id_user'], 'id_up'); $check_profile = db_get_row('tusuario_perfil', 'id_usuario', $config['id_user'], 'id_up');
if ($check_profile === false && !users_is_admin()) { if ($check_profile === false && !users_is_admin()) {

View File

@ -802,7 +802,7 @@ if ($id_agent_module) {
__('Delete'), __('Delete'),
'deleteModule', 'deleteModule',
false, false,
'window.location.assign(\'index.php?sec=gagente&tab=module&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&delete_module='.$id_agent_module.')', 'window.location.assign("index.php?sec=gagente&tab=module&sec2=godmode/agentes/configurar_agente&id_agente='.$id_agente.'&delete_module='.$id_agent_module.'")',
[ [
'icon' => 'delete', 'icon' => 'delete',
'mode' => 'secondary', 'mode' => 'secondary',

View File

@ -524,7 +524,7 @@ $data[0] .= html_print_button(
__('Manage credentials'), __('Manage credentials'),
'manage_credentials_button', 'manage_credentials_button',
false, false,
'window.location.assign(\'index.php?sec=gmodules&sec2=godmode/groups/group_list&tab=credbox\')', 'window.location.assign("index.php?sec=gmodules&sec2=godmode/groups/group_list&tab=credbox")',
[ 'mode' => 'link' ], [ 'mode' => 'link' ],
true true
); );

View File

@ -171,7 +171,7 @@ if (is_ajax()) {
$ffield = $editor_type_chkbx; $ffield = $editor_type_chkbx;
$ffield .= html_print_textarea( $ffield .= html_print_textarea(
'field'.$i.'_value', 'field'.$i.'_value',
1, 5,
1, 1,
'', '',
'class="fields"', 'class="fields"',
@ -208,7 +208,7 @@ if (is_ajax()) {
$rfield = $editor_type_chkbx; $rfield = $editor_type_chkbx;
$rfield .= html_print_textarea( $rfield .= html_print_textarea(
'field'.$i.'_recovery_value', 'field'.$i.'_recovery_value',
1, 5,
1, 1,
'', '',
'class="fields_recovery"', 'class="fields_recovery"',
@ -329,7 +329,7 @@ if (is_ajax()) {
$ffield .= html_print_textarea( $ffield .= html_print_textarea(
'field'.$i.'_value[]', 'field'.$i.'_value[]',
1, 5,
1, 1,
'', '',
'style="min-height:40px; '.$style.'" class="fields"', 'style="min-height:40px; '.$style.'" class="fields"',
@ -341,7 +341,7 @@ if (is_ajax()) {
$rfield .= html_print_textarea( $rfield .= html_print_textarea(
'field'.$i.'_recovery_value[]', 'field'.$i.'_recovery_value[]',
1, 5,
1, 1,
'', '',
'style="min-height:40px; '.$style.'" class="fields_recovery', 'style="min-height:40px; '.$style.'" class="fields_recovery',
@ -484,7 +484,7 @@ if (is_ajax()) {
} else { } else {
$ffield = html_print_textarea( $ffield = html_print_textarea(
'field'.$i.'_value', 'field'.$i.'_value',
1, 5,
1, 1,
$fv[0], $fv[0],
'style="'.$style.'" class="fields min-height-40px"', 'style="'.$style.'" class="fields min-height-40px"',
@ -494,7 +494,7 @@ if (is_ajax()) {
); );
$rfield = html_print_textarea( $rfield = html_print_textarea(
'field'.$i.'_recovery_value', 'field'.$i.'_recovery_value',
1, 5,
1, 1,
$fv[0], $fv[0],
'style="'.$style.'" class="fields_recovery min-height-40px', 'style="'.$style.'" class="fields_recovery min-height-40px',
@ -507,7 +507,7 @@ if (is_ajax()) {
} else { } else {
$ffield = html_print_textarea( $ffield = html_print_textarea(
'field'.$i.'_value', 'field'.$i.'_value',
1, 5,
1, 1,
'', '',
'style="'.$style.'" class="fields min-height-40px"', 'style="'.$style.'" class="fields min-height-40px"',
@ -517,7 +517,7 @@ if (is_ajax()) {
); );
$rfield = html_print_textarea( $rfield = html_print_textarea(
'field'.$i.'_recovery_value', 'field'.$i.'_recovery_value',
1, 5,
1, 1,
'', '',
'style="'.$style.'" class="fields_recovery min-height-40px"', 'style="'.$style.'" class="fields_recovery min-height-40px"',
@ -533,7 +533,7 @@ if (is_ajax()) {
$fields_rows[$i] = ''; $fields_rows[$i] = '';
} else { } else {
$fields_rows[$i] = '<tr id="table_macros-field'.$i.'" class="datos">'; $fields_rows[$i] = '<tr id="table_macros-field'.$i.'" class="datos">';
$fields_rows[$i] .= '<td class="datos bolder w20p">'.$fdesc.'</td>'; $fields_rows[$i] .= '<td class="datos bolder w20p" style="font-size: 13px;">'.$fdesc.'</td>';
$fields_rows[$i] .= '<td class="datos">'.$ffield.'</td>'; $fields_rows[$i] .= '<td class="datos">'.$ffield.'</td>';
if ($get_recovery_fields) { if ($get_recovery_fields) {
$fields_rows[$i] .= '<td class="datos recovery_col">'.$rfield.'</td>'; $fields_rows[$i] .= '<td class="datos recovery_col">'.$rfield.'</td>';
@ -575,12 +575,19 @@ if ($update_command) {
if (defined('METACONSOLE')) { if (defined('METACONSOLE')) {
alerts_meta_print_header(); alerts_meta_print_header();
} else { } else {
ui_print_page_header( ui_print_standard_header(
__('Alerts').' &raquo; '.__('Alert commands'), __('Alerts'),
'images/gm_alerts.png', 'images/gm_alerts.png',
false, false,
'', '',
true true,
[],
[
[
'link' => '',
'label' => __('Alert commands'),
],
]
); );
} }
@ -811,10 +818,9 @@ foreach ($commands as $command) {
array_push($table->data, $data); array_push($table->data, $data);
} }
ui_pagination($total_commands, $url);
if (isset($data) === true && count($table->data) > 0) { if (isset($data) === true && count($table->data) > 0) {
html_print_table($table); html_print_table($table);
ui_pagination($total_commands, $url, 0, 0, false, 'offset', true, 'pagination-bottom'); $pagination = ui_pagination($total_commands, $url, 0, 0, true, 'offset', false, '');
} else { } else {
ui_print_info_message( ui_print_info_message(
[ [
@ -826,12 +832,17 @@ if (isset($data) === true && count($table->data) > 0) {
// Commands can only be created by the super administrator. // Commands can only be created by the super administrator.
if (users_is_admin() === true) { if (users_is_admin() === true) {
echo '<div class="action-buttons" style="width: '.$table->width.'">';
echo '<form method="post" action="index.php?sec='.$sec.'&sec2=godmode/alerts/configure_alert_command&pure='.$pure.'">'; echo '<form method="post" action="index.php?sec='.$sec.'&sec2=godmode/alerts/configure_alert_command&pure='.$pure.'">';
html_print_submit_button(__('Create'), 'create', false, 'class="sub next"'); $buttonSubmit = html_print_submit_button(
__('Create'),
'create',
false,
['icon' => 'wand'],
true
);
html_print_input_hidden('create_alert', 1); html_print_input_hidden('create_alert', 1);
html_print_action_buttons($buttonSubmit, ['right_content' => $pagination]);
echo '</form>'; echo '</form>';
echo '</div>';
} }
?> ?>

View File

@ -68,12 +68,19 @@ if ($al_action !== false) {
if (defined('METACONSOLE')) { if (defined('METACONSOLE')) {
alerts_meta_print_header(); alerts_meta_print_header();
} else { } else {
ui_print_page_header( ui_print_standard_header(
__('Alerts').' &raquo; '.__('Configure alert action'), __('Alerts'),
'images/gm_alerts.png', 'images/gm_alerts.png',
false, false,
'alert_config', '',
true true,
[],
[
[
'link' => '',
'label' => __('Configure alert action'),
],
]
); );
} }
} else { } else {
@ -81,12 +88,19 @@ if ($al_action !== false) {
if (defined('METACONSOLE')) { if (defined('METACONSOLE')) {
alerts_meta_print_header(); alerts_meta_print_header();
} else { } else {
ui_print_page_header( ui_print_standard_header(
__('Alerts').' &raquo; '.__('Configure alert action'), __('Alerts'),
'images/gm_alerts.png', 'images/gm_alerts.png',
false, false,
'alert_config', '',
true true,
[],
[
[
'link' => '',
'label' => __('Configure alert action'),
],
]
); );
} }
@ -290,73 +304,99 @@ $table->data[1][1] = html_print_label_input_block(
) )
); );
$table->data[2][0] = html_print_label_input_block( $table_macros = new stdClass();
$table_macros->id = 'table_macros';
$table_macros->width = '100%';
$table_macros->class = 'databox filters filter-table-adv';
$table_macros->style = [];
$table_macros->size = [];
$table_macros->size[0] = '20%';
$table_macros->size[1] = '40%';
$table_macros->size[2] = '40%';
$table_macros->data = [];
$table_macros->data[0][0] = '';
$table_macros->data[0][1] = html_print_label_input_block(
__('Triggering'),
''
);
$table_macros->data[0][2] = html_print_label_input_block(
__('Recovery'), __('Recovery'),
'' ''
); );
$table->data[2][1] = html_print_label_input_block( $table_macros->data[1][0] = html_print_label_input_block(
__('Recovery'), __('Command preview'),
'' ''
); );
$table->data[5][0] = __('Command preview'); $table_macros->data[1][1] = html_print_label_input_block(
$table->data[5][1] = html_print_textarea(
'command_preview',
5,
30,
'', '',
'disabled="disabled"', html_print_textarea(
true 'command_preview',
5,
30,
'',
'disabled="disabled"',
true
)
); );
$table->data[5][2] = html_print_textarea(
'command_recovery_preview', $table_macros->data[1][2] = html_print_label_input_block(
5,
30,
'', '',
'disabled="disabled"', html_print_textarea(
true 'command_recovery_preview',
5,
30,
'',
'disabled="disabled"',
true
)
); );
// Selector will work only with Integria activated. // Selector will work only with Integria activated.
$integriaIdName = 'integria_wu'; $integriaIdName = 'integria_wu';
$table->data[$integriaIdName][0] = __('Create workunit on recovery').ui_print_help_tip( $table_macros->colspan[$integriaIdName][0] = 3;
__('If closed status is set on recovery, a workunit will be added to the ticket in Integria IMS rather that closing the ticket.'), $table_macros->data[$integriaIdName][0] = html_print_label_input_block(
true __('Create workunit on recovery').ui_print_help_tip(
); __('If closed status is set on recovery, a workunit will be added to the ticket in Integria IMS rather that closing the ticket.'),
$table->data[$integriaIdName][1] = html_print_checkbox_switch_extended( true
'create_wu_integria', ),
1, html_print_checkbox_switch_extended(
$create_wu_integria, 'create_wu_integria',
false, 1,
'', $create_wu_integria,
$disabled_attr, false,
true '',
$disabled_attr,
true
)
); );
for ($i = 1; $i <= $config['max_macro_fields']; $i++) { for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
$table->data['field'.$i][0] = html_print_image( $table_macros->data['field'.$i][0] = html_print_image(
'images/spinner.gif', 'images/spinner.gif',
true true
); );
$table->data['field'.$i][1] = html_print_image( $table_macros->data['field'.$i][1] = html_print_image(
'images/spinner.gif', 'images/spinner.gif',
true true
); );
$table->data['field'.$i][2] = html_print_image( $table_macros->data['field'.$i][2] = html_print_image(
'images/spinner.gif', 'images/spinner.gif',
true true
); );
// Store the value in a hidden to keep it on first execution // Store the value in a hidden to keep it on first execution
$table->data['field'.$i][1] .= html_print_input_hidden( $table_macros->data['field'.$i][1] .= html_print_input_hidden(
'field'.$i.'_value', 'field'.$i.'_value',
(!empty($action['field'.$i]) || $action['field'.$i] == 0) ? $action['field'.$i] : '', (!empty($action['field'.$i]) || $action['field'.$i] == 0) ? $action['field'.$i] : '',
true, true,
'', '',
$disabled_attr $disabled_attr
); );
$table->data['field'.$i][2] .= html_print_input_hidden( $table_macros->data['field'.$i][2] .= html_print_input_hidden(
'field'.$i.'_recovery_value', 'field'.$i.'_recovery_value',
(!empty($action['field'.$i.'_recovery']) || $action['field'.$i] == 0) ? $action['field'.$i.'_recovery'] : '', (!empty($action['field'.$i.'_recovery']) || $action['field'.$i] == 0) ? $action['field'.$i.'_recovery'] : '',
true, true,
@ -369,10 +409,12 @@ $offset = (int) get_parameter('offset', 0);
echo '<form method="post" action="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_actions&pure='.$pure.'&offset='.$offset.'" class="max_floating_element_size">'; echo '<form method="post" action="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_actions&pure='.$pure.'&offset='.$offset.'" class="max_floating_element_size">';
$table_html = html_print_table($table, true); $table_html = html_print_table($table, true);
$table_html_macros = html_print_table($table_macros, true);
$backButton = ''; $backButton = '';
$submitButton = ''; $submitButton = '';
echo $table_html; echo $table_html;
echo $table_html_macros;
if ($is_management_allowed === true) { if ($is_management_allowed === true) {
if ($id) { if ($id) {
html_print_input_hidden('id', $id); html_print_input_hidden('id', $id);

View File

@ -54,12 +54,19 @@ $alert = [];
if (is_metaconsole() === true) { if (is_metaconsole() === true) {
alerts_meta_print_header(); alerts_meta_print_header();
} else { } else {
ui_print_page_header( ui_print_standard_header(
__('Alerts').' &raquo; '.__('Configure alert command'), __('Alerts'),
'images/gm_alerts.png', 'images/gm_alerts.png',
false, false,
'', '',
true true,
[],
[
[
'link' => '',
'label' => __('Configure alert command'),
],
]
); );
} }
@ -199,112 +206,23 @@ if ($is_management_allowed === false) {
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox filters'; $table->class = 'databox filters filter-table-adv';
if (is_metaconsole() === true) {
$table->head[0] = ($id) ? __('Update Command') : __('Create Command');
$table->head_colspan[0] = 4;
$table->headstyle[0] = 'text-align: center';
}
$table->style = []; $table->style = [];
if (is_metaconsole() === false) {
$table->style[0] = 'font-weight: bold';
$table->style[2] = 'font-weight: bold';
$table->style[4] = 'font-weight: bold';
}
$table->size = []; $table->size = [];
$table->size[0] = '20%'; $table->size[0] = '45%';
$table->size[1] = '45%';
$table->size[2] = '10%';
$table->data = []; $table->data = [];
$table->colspan['name'][1] = 3; $table->data[0][0] = html_print_label_input_block(
$table->data['name'][0] = __('Name'); __('Name'),
$table->data['name'][2] = html_print_input_text( html_print_input_text(
'name', 'name',
$name, $name,
'',
35,
255,
true,
false,
false,
'',
'',
'',
'',
false,
'',
'',
'',
!$is_management_allowed
);
$table->colspan['command'][1] = 3;
$table->data['command'][0] = __('Command');
$table->data['command'][1] = html_print_textarea(
'command',
8,
30,
$command,
'',
true,
'',
!$is_management_allowed
);
$return_all_group = false;
if (users_can_manage_group_all('LM') === true) {
$return_all_group = true;
}
$table->colspan['group'][1] = 3;
$table->data['group'][0] = __('Group');
$table->data['group'][1] = '<div class="w250px inline">'.html_print_select_groups(
false,
'LM',
$return_all_group,
'id_group',
$id_group,
false,
'',
0,
true,
false,
true,
'',
!$is_management_allowed
).'</div>';
$table->colspan['description'][1] = 3;
$table->data['description'][0] = __('Description');
$table->data['description'][1] = html_print_textarea(
'description',
10,
30,
$description,
'',
true,
'',
!$is_management_allowed
);
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
$table->data['field'.$i][0] = sprintf(__('Field %s description'), $i);
if (empty($fields_descriptions) === false) {
$field_description = $fields_descriptions[($i - 1)];
} else {
$field_description = '';
}
$table->data['field'.$i][1] = html_print_input_text(
'field'.$i.'_description',
$field_description,
'', '',
30, 35,
255, 255,
true, true,
false, false,
@ -318,12 +236,91 @@ for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
'', '',
'', '',
!$is_management_allowed !$is_management_allowed
); )
);
$table->data['field'.$i][2] = sprintf(__('Field %s values'), $i); if (users_can_manage_group_all('LM') === true) {
$table->data['field'.$i][2] .= ui_print_help_tip( $return_all_group = true;
__('value1,tag1;value2,tag2;value3,tag3'), }
true
$table->data[0][1] = html_print_label_input_block(
__('Group'),
html_print_select_groups(
false,
'LM',
$return_all_group,
'id_group',
$id_group,
false,
'',
0,
true,
false,
true,
'',
!$is_management_allowed
)
);
$table->data[1][0] = html_print_label_input_block(
__('Command'),
html_print_textarea(
'command',
8,
30,
$command,
'',
true,
'',
!$is_management_allowed
)
);
$return_all_group = false;
$table->data[1][1] = html_print_label_input_block(
__('Description'),
html_print_textarea(
'description',
8,
30,
$description,
'',
true,
'',
!$is_management_allowed
)
);
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
if (empty($fields_descriptions) === false) {
$field_description = $fields_descriptions[($i - 1)];
} else {
$field_description = '';
}
$table->data['field'.$i][0] = html_print_label_input_block(
sprintf(__('Field %s description'), $i),
html_print_input_text(
'field'.$i.'_description',
$field_description,
'',
30,
255,
true,
false,
false,
'',
'',
'',
'',
false,
'',
'',
'',
!$is_management_allowed
)
); );
if (empty($fields_values) === false) { if (empty($fields_values) === false) {
@ -338,54 +335,72 @@ for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
$selected = false; $selected = false;
} }
$table->data['field'.$i][3] = html_print_input_text( $table->data['field'.$i][1] = html_print_label_input_block(
'field'.$i.'_values', sprintf(__('Field %s values'), $i).ui_print_help_tip(
$field_values, __('value1,tag1;value2,tag2;value3,tag3'),
'', true
55, ),
1000, html_print_input_text(
true, 'field'.$i.'_values',
false, $field_values,
false, '',
'', 55,
'field_value', 1000,
'', true,
'', false,
false, false,
'', '',
'', 'field_value',
'', '',
!$is_management_allowed '',
false,
'',
'',
'',
!$is_management_allowed
)
); );
$table->data['field'.$i][4] = __('Hide'); $table->data['field'.$i][2] = html_print_label_input_block(
__('Hide'),
$table->data['field'.$i][5] = html_print_checkbox_extended( html_print_checkbox_extended(
'field'.$i.'_hide', 'field'.$i.'_hide',
1, 1,
$selected, $selected,
!$is_management_allowed, !$is_management_allowed,
'cursor: \'pointer\'', 'cursor: \'pointer\'',
'class="hide_inputs"', 'class="hide_inputs"',
true true
)
); );
} }
echo '<form method="post" action="index.php?sec=galertas&sec2=godmode/alerts/alert_commands&pure='.$pure.'">'; echo '<form method="post" action="index.php?sec=galertas&sec2=godmode/alerts/alert_commands&pure='.$pure.'" class="max_floating_element_size">';
html_print_table($table); html_print_table($table);
if ($is_management_allowed === true) { if ($is_management_allowed === true) {
echo '<div class="action-buttons" style="width: '.$table->width.'">';
if ($id) { if ($id) {
html_print_input_hidden('id', $id); html_print_input_hidden('id', $id);
html_print_input_hidden('update_command', 1); html_print_input_hidden('update_command', 1);
html_print_submit_button(__('Update'), 'create', false, 'class="sub upd"'); $buttonSubmit = html_print_submit_button(
__('Update'),
'create',
false,
['icon' => 'wand'],
true
);
} else { } else {
html_print_input_hidden('create_command', 1); html_print_input_hidden('create_command', 1);
html_print_submit_button(__('Create'), 'create', false, 'class="sub wand"'); $buttonSubmit = html_print_submit_button(
__('Create'),
'create',
false,
['icon' => 'wand'],
true
);
} }
echo '</div>'; html_print_action_buttons($buttonSubmit);
} }
echo '</form>'; echo '</form>';

View File

@ -738,14 +738,7 @@ if ($tab == 'tree') {
* Group tree view. * Group tree view.
*/ */
echo html_print_image( ui_print_spinner(__('Loading'));
'images/spinner.gif',
true,
[
'class' => 'loading_tree',
'style' => 'display: none;',
]
);
echo "<div id='tree-controller-recipient'></div>"; echo "<div id='tree-controller-recipient'></div>";
} else { } else {
/* /*
@ -1042,7 +1035,7 @@ $tab = 'group_edition';
if (typeof treeController.recipient != 'undefined' && treeController.recipient.length > 0) if (typeof treeController.recipient != 'undefined' && treeController.recipient.length > 0)
treeController.recipient.empty(); treeController.recipient.empty();
$(".loading_tree").show(); showSpinner();
var parameters = {}; var parameters = {};
parameters['page'] = "include/ajax/tree.ajax"; parameters['page'] = "include/ajax/tree.ajax";
@ -1066,7 +1059,7 @@ $tab = 'group_edition';
data: parameters, data: parameters,
success: function(data) { success: function(data) {
if (data.success) { if (data.success) {
$(".loading_tree").hide(); hideSpinner();
treeController.init({ treeController.init({
recipient: $("div#tree-controller-recipient"), recipient: $("div#tree-controller-recipient"),

View File

@ -332,14 +332,16 @@ if ($result === false) {
if ($management_allowed === true) { if ($management_allowed === true) {
// Update module. // Update module.
$data[4] = '<a href="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules_form&id_module_inventory='.$row['id_module_inventory'].'">'; $data[4] = '<div class="table_action_buttons">';
$data[4] .= html_print_image('images/config.png', true, ['border' => '0', 'title' => __('Update'), 'class' => 'invert_filter']).'</b></a>'; $data[4] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules_form&id_module_inventory='.$row['id_module_inventory'].'">';
$data[4] .= html_print_image('images/edit.svg', true, ['border' => '0', 'title' => __('Update'), 'class' => 'main_menu_icon invert_filter']).'</b></a>';
// Delete module. // Delete module.
$data[4] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules&delete_inventory_module='.$row['id_module_inventory'].'" onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'; $data[4] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules&delete_inventory_module='.$row['id_module_inventory'].'" onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">';
$data[4] .= html_print_image('images/cross.png', true, ['border' => '0', 'title' => __('Delete'), 'class' => 'invert_filter']); $data[4] .= html_print_image('images/delete.svg', true, ['border' => '0', 'title' => __('Delete'), 'class' => 'main_menu_icon invert_filter']);
$data[4] .= '</b></a>&nbsp;&nbsp;'; $data[4] .= '</b></a>&nbsp;&nbsp;';
$data[4] .= html_print_checkbox_extended('delete_multiple[]', $row['id_module_inventory'], false, false, '', 'class="check_delete"', true); $data[4] .= html_print_checkbox_extended('delete_multiple[]', $row['id_module_inventory'], false, false, '', 'class="check_delete"', true);
$data[4] .= '</div>';
} }
array_push($table->data, $data); array_push($table->data, $data);
@ -349,22 +351,50 @@ if ($result === false) {
html_print_input_hidden('multiple_delete', 1); html_print_input_hidden('multiple_delete', 1);
html_print_table($table); html_print_table($table);
echo '</form>'; echo '</form>';
$tablePagination = ui_pagination($total_modules, 'index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules', $offset, 0, true, 'offset', false);
$actionButtons = []; echo '<form id="form_create" method="post" action="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules_form">';
echo html_print_input_hidden('create_module_inventory', 1);
echo '<form>';
$tablePagination = ui_pagination(
$total_modules,
'index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules',
$offset,
0,
true,
'offset',
false
);
$actionButtons = '';
if ($management_allowed === true) { if ($management_allowed === true) {
$actionButtons[] = html_print_submit_button(__('Delete'), 'delete_btn', false, ['icon' => 'delete', 'mode' => 'secondary', 'form' => 'form_delete'], true); $actionButtons .= html_print_submit_button(
$actionButtons[] = html_print_submit_button(__('Create'), 'crt', false, ['icon' => 'wand', 'form' => 'form_create'], true); __('Create'),
'crt',
false,
[
'icon' => 'wand',
'form' => 'form_create',
],
true
);
$actionButtons[] = '<form id="form_create" method="post" action="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules_form">'; $actionButtons .= html_print_submit_button(
$actionButtons[] = html_print_input_hidden('create_module_inventory', 1, true); __('Delete'),
$actionButtons[] = '<form>'; 'delete_btn',
false,
[
'icon' => 'delete',
'mode' => 'secondary',
'form' => 'form_delete',
],
true
);
} }
html_print_action_buttons( html_print_action_buttons(
implode('', $actionButtons), $actionButtons,
[ [
'type' => 'form_action', 'type' => 'form_action',
'right_content' => $tablePagination, 'right_content' => $tablePagination,

View File

@ -26,22 +26,32 @@ if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'],
// Header // Header
if (defined('METACONSOLE')) { if (is_metaconsole() === true) {
$sec = 'advanced'; $sec = 'advanced';
enterprise_include_once('meta/include/functions_components_meta.php'); enterprise_include_once('meta/include/functions_components_meta.php');
components_meta_print_header(); components_meta_print_header();
} else { } else {
$sec = 'gmodules'; $sec = 'gmodules';
ui_print_page_header( ui_print_standard_header(
__('Module management').' » '.__('Inventory modules'), __('Module management'),
'images/op_inventory.png', 'images/op_inventory.png',
false, false,
'', '',
true true,
[],
[
[
'link' => '',
'label' => __('Configuration'),
],
[
'link' => '',
'label' => __('Inventory modules'),
],
]
); );
} }
// Header
$is_windows = strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'; $is_windows = strtoupper(substr(PHP_OS, 0, 3)) == 'WIN';
if ($is_windows) { if ($is_windows) {
ui_print_error_message(__('Not supported in Windows systems')); ui_print_error_message(__('Not supported in Windows systems'));
@ -95,82 +105,166 @@ if ($id_os == null) {
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox filters'; $table->class = 'databox filter-table-adv';
$table->style = []; $table->style = [];
$table->style[0] = 'font-weight: bold'; $table->style[0] = 'width: 50%';
$table->style[1] = 'width: 50%';
$table->data = []; $table->data = [];
$table->data[0][0] = '<strong>'.__('Name').'</strong>';
$table->data[0][1] = html_print_input_text('name', $name, '', 45, 100, true, $disabled); $table->data[0][] = html_print_label_input_block(
$table->data[1][0] = '<strong>'.__('Description').'</strong>'; __('Name'),
$table->data[1][1] = html_print_input_text('description', $description, '', 60, 500, true); html_print_input_text(
$table->data[2][0] = '<strong>'.__('OS').'</strong>'; 'name',
$table->data[2][1] = html_print_select_from_sql( $name,
'SELECT id_os, name FROM tconfig_os ORDER BY name', '',
'id_os', 45,
$id_os, 100,
'', true,
'', $disabled
'', )
$return = true
); );
$table->data[3][0] = '<strong>'.__('Interpreter').'</strong>'; $table->data[0][] = html_print_label_input_block(
$table->data[3][1] = html_print_input_text('interpreter', $interpreter, '', 25, 100, true); __('Description'),
$table->data[3][1] .= ui_print_help_tip(__('Left blank for the LOCAL inventory modules'), true); html_print_input_text(
'description',
$description,
'',
60,
500,
true
)
);
$table->data['block_mode'][0] = '<strong>'.__('Block Mode').'</strong>'; $table->data[1][] = html_print_label_input_block(
$table->data['block_mode'][1] = html_print_checkbox('block_mode', 1, $block_mode, true); __('OS'),
html_print_select_from_sql(
'SELECT id_os, name FROM tconfig_os ORDER BY name',
'id_os',
$id_os,
'',
'',
'',
$return = true
)
);
$table->data[4][0] = '<strong>'.__('Format').'</strong>'; $table->data[1][] = html_print_label_input_block(
$table->data[4][0] .= ui_print_help_tip(__('separate fields with ').SEPARATOR_COLUMN, true); __('Interpreter'),
$table->data[4][1] = html_print_input_text('format', $data_format, '', 50, 100, true); html_print_input_text(
'interpreter',
$interpreter,
'',
25,
100,
true
).ui_print_input_placeholder(
__('Left blank for the LOCAL inventory modules'),
true
)
);
$table->data[5][0] = '<strong>'.__('Script mode').'</strong>'; $table->data[2][] = html_print_label_input_block(
$table->data[5][0] .= ui_print_help_tip(__(''), true); __('Format'),
$table->data[5][1] = __('Use script'); html_print_input_text(
$table->data[5][1] .= html_print_radio_button( 'format',
'script_mode', $data_format,
1, '',
'', 50,
$script_mode, 100,
true true
).'&nbsp;&nbsp;'; ).ui_print_input_placeholder(
$table->data[5][1] .= '&nbsp&nbsp&nbsp&nbsp'.__('Use inline code'); __('separate fields with ').SEPARATOR_COLUMN,
$table->data[5][1] .= html_print_radio_button( true
'script_mode', )
2, );
'',
$script_mode,
true
).'&nbsp;&nbsp;';
$table->data[6][0] = '<strong>'.__('Script path').'</strong>'; $table->data[2][] = html_print_label_input_block(
$table->data[6][1] = html_print_input_text('script_path', $script_path, '', 50, 1000, true); __('Block Mode'),
html_print_checkbox_switch(
'block_mode',
1,
$block_mode,
true
)
);
$table->data[7][0] = '<strong>'.__('Code').'</strong>'; $radioButtons = [];
$table->data[7][0] .= ui_print_help_tip(__("Here is placed the script for the REMOTE inventory modules Local inventory modules don't use this field").SEPARATOR_COLUMN, true); $radioButtons[] = html_print_radio_button('script_mode', 1, __('Script mode'), $script_mode, true);
$radioButtons[] = html_print_radio_button('script_mode', 2, __('Use inline code'), $script_mode, true);
$table->data[7][1] = html_print_textarea('code', 25, 80, base64_decode($code), '', true); $table->data[3][] = html_print_label_input_block(
__('Script mode'),
html_print_div(
[
'class' => 'switch_radio_button',
'content' => implode('', $radioButtons),
],
true
)
);
echo '<form name="inventorymodule" id="inventorymodule_form" method="post" $table->colspan[4][0] = 2;
$table->data[4][0] = html_print_label_input_block(
__('Script path'),
html_print_input_text(
'script_path',
$script_path,
'',
50,
1000,
true
),
['div_class' => 'script_path_inventory_modules']
);
$table->data[4][0] .= html_print_label_input_block(
__('Code'),
html_print_textarea(
'code',
25,
80,
base64_decode($code),
'',
true
).ui_print_input_placeholder(
__("Here is placed the script for the REMOTE inventory modules Local inventory modules don't use this field").SEPARATOR_COLUMN,
true
),
['div_class' => 'code_inventory_modules']
);
echo '<form name="inventorymodule" id="inventorymodule_form" class="max_floating_element_size" method="post"
action="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules">'; action="index.php?sec='.$sec.'&sec2=godmode/modules/manage_inventory_modules">';
html_print_table($table); html_print_table($table);
if ($id_module_inventory) { if ($id_module_inventory) {
html_print_input_hidden('update_module_inventory', 1); html_print_input_hidden('update_module_inventory', 1);
html_print_input_hidden('id_module_inventory', $id_module_inventory); html_print_input_hidden('id_module_inventory', $id_module_inventory);
$buttonCaption = __('Update');
$buttonIcon = 'update';
} else { } else {
html_print_input_hidden('create_module_inventory', 1); html_print_input_hidden('create_module_inventory', 1);
$buttonCaption = __('Create');
$buttonIcon = 'wand';
} }
echo '<div class="action-buttons" style="width: '.$table->width.'">'; $actionButtons = '';
if ($id_module_inventory) { $actionButtons = html_print_submit_button(
html_print_submit_button(__('Update'), 'submit', false, 'class="sub next"'); $buttonCaption,
} else { 'submit',
html_print_submit_button(__('Create'), 'submit', false, 'class="sub upd"'); false,
} ['icon' => $buttonIcon],
true
);
$actionButtons .= html_print_go_back_button(
'index.php?sec=gmodules&sec2=godmode/modules/manage_inventory_modules',
['button_class' => ''],
true
);
echo '</div>'; html_print_action_buttons($actionButtons);
echo '</form>'; echo '</form>';
?> ?>
@ -180,21 +274,21 @@ echo '</form>';
var mode = <?php echo $script_mode; ?>; var mode = <?php echo $script_mode; ?>;
if (mode == 1) { if (mode == 1) {
$('#table1-6').show(); $('.script_path_inventory_modules').show();
$('#table1-7').hide(); $('.code_inventory_modules').hide();
} else { } else {
$('#table1-7').show(); $('.code_inventory_modules').show();
$('#table1-6').hide(); $('.script_path_inventory_modules').hide();
} }
$('input[type=radio][name=script_mode]').change(function() { $('input[type=radio][name=script_mode]').change(function() {
if (this.value == 1) { if (this.value == 1) {
$('#table1-6').show(); $('.script_path_inventory_modules').show();
$('#table1-7').hide(); $('.code_inventory_modules').hide();
} }
else if (this.value == 2) { else if (this.value == 2) {
$('#table1-7').show(); $('.code_inventory_modules').show();
$('#table1-6').hide(); $('.script_path_inventory_modules').hide();
} }
}); });
}); });

View File

@ -615,18 +615,6 @@ $url = ui_get_url_refresh(
true, true,
false false
); );
$name_url = 'index.php?sec=templates&sec2=godmode/modules/manage_network_components';
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filters';
$table->style = [];
$table->style[0] = 'font-weight: bold';
$table->style[2] = 'font-weight: bold';
$table->data = [];
$table->data[0][0] = __('Group');
$component_groups = network_components_get_groups(); $component_groups = network_components_get_groups();
@ -656,54 +644,81 @@ foreach ($component_groups as $component_group_key => $component_group_val) {
} }
} }
$table->data[0][1] = html_print_select( $name_url = 'index.php?sec=templates&sec2=godmode/modules/manage_network_components';
$component_groups, $table = new stdClass();
'search_id_group', $table->width = '100%';
$search_id_group, $table->class = 'filter-table-adv';
$table->style = [];
$table->style[0] = 'font-weight: bold';
$table->style[2] = 'font-weight: bold';
$table->data = [];
$table->data[0][] = html_print_label_input_block(
__('Group'),
html_print_select(
$component_groups,
'search_id_group',
$search_id_group,
'',
__('All'),
0,
true,
false,
false,
'',
false,
'width: 100%'
)
);
$table->data[0][] = html_print_label_input_block(
__('Free Search'),
html_print_input_text(
'search_string',
$search_string,
'',
25,
255,
true
).ui_print_input_placeholder(
__('Search by name, description, tcp send or tcp rcv, list matches.'),
true
)
);
$toggleFilters = '<form class="filters_form" method="POST" action="'.$url.'">';
$toggleFilters .= html_print_table($table, true);
$toggleFilters .= html_print_div(
[
'class' => 'action-buttons-right-forced',
'content' => html_print_submit_button(
__('Filter'),
'search',
false,
[
'icon' => 'search',
'mode' => 'mini',
],
true
),
],
true
);
$toggleFilters .= '</form>';
ui_toggle(
$toggleFilters,
'<span class="subsection_header_title">'.__('Filters').'</span>',
'filter_form',
'', '',
__('All'),
0,
true, true,
false, false,
false
);
$table->data[0][2] = __('Free Search').ui_print_help_tip(
__('Search by name, description, tcp send or tcp rcv, list matches.'),
true
);
$table->data[0][3] = html_print_input_text(
'search_string',
$search_string,
'', '',
25, 'white-box-content',
255, 'box-flat white_table_graph fixed_filter_bar'
true
); );
if (is_metaconsole() === true) {
$table->data[0][4] = '<div>';
} else {
$table->data[0][4] = '<div class="action-buttons">';
}
$table->data[0][4] .= html_print_submit_button(
__('Search'),
'search',
false,
'class="sub search"',
true
);
$table->data[0][4] .= '</div>';
if (is_metaconsole() === true) {
$filter = '<form class="filters_form" method="post" action="'.$url.'">';
$filter .= html_print_table($table, true);
$filter .= '</form>';
ui_toggle($filter, __('Show Options'));
} else {
echo '<form method="post" action="'.$url.'">';
html_print_table($table);
echo '</form>';
}
$filter = []; $filter = [];
if ($search_id_group) { if ($search_id_group) {
@ -721,7 +736,6 @@ $total_components = network_components_get_network_components(
); );
$total_components = $total_components[0]['total']; $total_components = $total_components[0]['total'];
$offset_delete = ($offset >= ($total_components - 1)) ? ($offset - $config['block_size']) : $offset; $offset_delete = ($offset >= ($total_components - 1)) ? ($offset - $config['block_size']) : $offset;
ui_pagination($total_components, $name_url);
$filter['offset'] = (int) get_parameter('offset'); $filter['offset'] = (int) get_parameter('offset');
$filter['limit'] = (int) $config['block_size']; $filter['limit'] = (int) $config['block_size'];
$components = network_components_get_network_components( $components = network_components_get_network_components(
@ -935,30 +949,20 @@ html_print_action_buttons(
?> ?>
<script type="text/javascript"> <script type="text/javascript">
$( document ).ready(function() { $( document ).ready(function() {
$('[id^=checkbox-delete_multiple]').change(function(){ $('[id^=checkbox-delete_multiple]').click(function(){
if($(this).parent().parent().hasClass('checkselected')){ if($(this).prop("checked") === false ){
$(this).parent().parent().removeClass('checkselected'); $(this).prop("checked", false);
} } else {
else{ $(this).prop("checked", true);
$(this).parent().parent().addClass('checkselected');
} }
}); });
$('[id^=checkbox-all_delete]').change(function(){ $('#checkbox-all_delete').click(function(){
if ($("#checkbox-all_delete").prop("checked")) { if ($("#checkbox-all_delete").prop("checked") === true) {
$('[id^=checkbox-delete_multiple]') $("[id^=checkbox-delete_multiple]").prop("checked", true);
.parent()
.parent()
.addClass('checkselected');
$(".check_delete")
.prop("checked", true);
} }
else{ else{
$('[id^=checkbox-delete_multiple]') $("[id^=checkbox-delete_multiple]").prop("checked", false);
.parent()
.parent()
.removeClass('checkselected');
$(".check_delete").prop("checked", false);
} }
}); });
}); });

View File

@ -366,43 +366,43 @@ if (is_metaconsole() === true) {
html_print_table($table); html_print_table($table);
html_print_input_hidden('id_component_type', $id_component_type); $buttons = html_print_input_hidden('id_component_type', $id_component_type);
if ($id) { if ($id) {
html_print_input_hidden('update_component', 1); $buttons .= html_print_input_hidden('update_component', 1, true);
html_print_input_hidden('id', $id); $buttons .= html_print_input_hidden('id', $id, true);
$buttonCaption = __('Update'); $buttonCaption = __('Update');
$buttonIcon = 'update'; $buttonIcon = 'update';
$buttonName = 'upd'; $buttonName = 'upd';
html_print_submit_button(__('Update'), 'upd', false, 'class="sub upd"');
} else { } else {
html_print_input_hidden('create_component', 1); $buttons .= html_print_input_hidden('create_component', 1, true);
html_print_input_hidden('create_network_from_module', 0); $buttons .= html_print_input_hidden('create_network_from_module', 0, true);
$buttonCaption = __('Create'); $buttonCaption = __('Create');
$buttonIcon = 'wand'; $buttonIcon = 'wand';
$buttonName = 'crt'; $buttonName = 'crt';
} }
html_print_div( $buttons .= html_print_submit_button(
$buttonCaption,
$buttonName,
false,
['icon' => $buttonIcon],
true
);
$buttons .= html_print_button(
__('Go back'),
'go_back',
false,
'',
[ [
'class' => 'action-buttons', 'icon' => 'back',
'content' => html_print_button( 'mode' => 'secondary',
__('Go back'), ],
'go_back', true
false, );
'',
[ html_print_action_buttons(
'icon' => 'back', $buttons
'mode' => 'secondary',
],
true
).html_print_submit_button(
$buttonCaption,
$buttonName,
false,
['icon' => $buttonIcon],
true
),
]
); );
echo '</form>'; echo '</form>';

View File

@ -496,7 +496,7 @@ if ($edit_container) {
$single_table .= "<td id='row_type_graphs' width='30%'>"; $single_table .= "<td id='row_type_graphs' width='30%'>";
$single_table .= html_print_label_input_block( $single_table .= html_print_label_input_block(
__('Type of graph'), __('Type of graph'),
html_print_select($type_graphs, 'simple_type_graph', '', '', '', 0, true) html_print_select($type_graphs, 'simple_type_graph2', '', '', '', 0, true, false, true, '', false, 'width:100%')
); );
$single_table .= '</td>'; $single_table .= '</td>';
@ -543,21 +543,22 @@ if ($edit_container) {
$table->width = '100%'; $table->width = '100%';
$table->cellspacing = 4; $table->cellspacing = 4;
$table->cellpadding = 4; $table->cellpadding = 4;
$table->class = 'dat'; $table->class = 'filter-table-adv';
$table->styleTable = 'font-weight: bold;'; $table->styleTable = 'font-weight: bold;';
$table->style[0] = 'width: 13%'; $table->style[0] = 'width: 13%';
$table->data = []; $table->data = [];
$table->size[0] = '30%';
$table->size[1] = '30%';
$table->size[2] = '30%';
$data = []; $table->data[0][0] = html_print_label_input_block(
$data[0] = __('Time lapse'); __('Time lapse').ui_print_help_tip(
$data[0] .= ui_print_help_tip(__('This is the interval or period of time with which the graph data will be obtained. For example, a week means data from a week ago from now. '), true); __('This is the interval or period of time with which the graph data will be obtained. For example, a week means data from a week ago from now. '),
$data[1] = html_print_extended_select_for_time('period_custom', $period, '', '', '0', 10, true, false, true, '', false, $periods); true
$table->data[] = $data; ),
$table->rowclass[] = ''; html_print_extended_select_for_time('period_custom', $period, '', '', '0', 10, true, 'width:100%', true, '', false, $periods)
);
$data = [];
$data[0] = __('Custom graph');
$list_custom_graphs = custom_graphs_get_user($config['id_user'], false, true, 'RR'); $list_custom_graphs = custom_graphs_get_user($config['id_user'], false, true, 'RR');
@ -566,29 +567,45 @@ if ($edit_container) {
$graphs[$custom_graph['id_graph']] = $custom_graph['name']; $graphs[$custom_graph['id_graph']] = $custom_graph['name'];
} }
$data[1] = html_print_select($graphs, 'id_custom_graph', $idCustomGraph, '', __('None'), 0, true); $table->data[0][1] = html_print_label_input_block(
$table->data[] = $data; __('Custom graph'),
$table->rowclass[] = ''; html_print_select($graphs, 'id_custom_graph', $idCustomGraph, '', __('None'), 0, true, '', true, '', false, 'width:100%')
);
$data = []; $table->data[0][2] = html_print_label_input_block(
$data[0] = __('Show full scale graph (TIP)').ui_print_help_tip('This option may cause performance issues', true); __('Show full scale graph (TIP)').ui_print_help_tip('This option may cause performance issues', true),
$data[1] = html_print_checkbox('fullscale_2', 1, false, true); html_print_checkbox('fullscale_2', 1, false, true)
$table->data[] = $data; );
$table->rowclass[] = '';
$data = []; $data_toggle = html_print_table($table, true);
$data[0] = ''; $data_toggle .= html_print_div(
$data[1] = "<input style='float:right;' type=submit name='add_custom' class='sub add' value='".__('Add item')."'>"; [
$table->data[] = $data; 'class' => 'action-buttons-right-forced mrgn_right_10px',
$table->rowclass[] = ''; 'content' => html_print_submit_button(
__('Add item'),
'add_custom',
false,
[
'mode' => 'mini',
'icon' => 'next',
],
true
),
],
true
);
echo "<table width='100%' cellpadding=4 cellspacing=4 class='databox filters'>"; ui_toggle(
echo '<tr>'; $data_toggle,
echo '<td>'; '<span class="subsection_header_title">'.__('Custom graph').'</span>',
echo ui_toggle(html_print_table($table, true), 'Custom graph', '', '', true); 'container',
echo '</td>'; '',
echo '</tr>'; true,
echo '</table>'; false,
'',
'white-box-content',
'box-flat white_table_graph'
);
unset($table); unset($table);
@ -597,93 +614,113 @@ if ($edit_container) {
$table->width = '100%'; $table->width = '100%';
$table->cellspacing = 4; $table->cellspacing = 4;
$table->cellpadding = 4; $table->cellpadding = 4;
$table->class = 'dat'; $table->class = 'filter-table-adv';
$table->styleTable = 'font-weight: bold;'; $table->styleTable = 'font-weight: bold;';
$table->style[0] = 'width: 13%';
$table->data = []; $table->data = [];
$table->size[0] = '30%';
$table->size[1] = '30%';
$table->size[2] = '30%';
$data = [];
$data[0] = __('Time lapse');
$data[0] .= ui_print_help_tip(__('This is the interval or period of time with which the graph data will be obtained. For example, a week means data from a week ago from now. '), true);
$data[1] = html_print_extended_select_for_time('period_dynamic', $period, '', '', '0', 10, true, false, true, '', false, $periods);
$table->data[] = $data;
$table->rowclass[] = '';
$data = []; $table->data[0][0] = html_print_label_input_block(
$data[0] = __('Group'); __('Time lapse').ui_print_help_tip(
$data[1] = '<div class="w250px">'.html_print_select_groups($config['id_user'], 'RW', $return_all_groups, 'container_id_group', $id_group, '', '', '', true).'</div>'; __('This is the interval or period of time with which the graph data will be obtained. For example, a week means data from a week ago from now. '),
$table->data[] = $data; true
$table->rowclass[] = ''; ),
html_print_extended_select_for_time('period_custom', $period, '', '', '0', 10, true, 'width:100%', true, '', false, $periods)
);
$data = []; $table->data[0][1] = html_print_label_input_block(
$data[0] = __('Module group'); __('Group'),
$data[1] = html_print_select_from_sql( html_print_select_groups($config['id_user'], 'RW', $return_all_groups, 'container_id_group', $id_group, '', '', '', true)
'SELECT * FROM tmodule_group ORDER BY name', );
'combo_modulegroup',
$modulegroup, $table->data[0][2] = html_print_label_input_block(
'', __('Module group'),
__('All'), html_print_select_from_sql(
false, 'SELECT * FROM tmodule_group ORDER BY name',
'combo_modulegroup',
$modulegroup,
'',
__('All'),
false,
true,
false,
true,
false,
'width:100%'
)
);
$table->data[1][0] = html_print_label_input_block(
__('Agent'),
html_print_input_text('text_agent', $textAgent, '', 30, 100, true)
);
$table->data[1][1] = html_print_label_input_block(
__('Module'),
html_print_input_text('text_agent_module', $textModule, '', 30, 100, true)
);
$select_tags = tags_search_tag(false, false, true);
$table->data[1][2] = html_print_label_input_block(
__('Tag'),
html_print_select(
$select_tags,
'tag',
$tag,
'',
__('Any'),
0,
true,
false,
false,
'',
false,
'width:100%'
)
);
$table->data[2][0] = html_print_label_input_block(
__('Type of graph'),
html_print_select($type_graphs, 'simple_type_graph2', '', '', '', 0, true, false, true, '', false, 'width:100%')
);
$table->data[2][1] = html_print_label_input_block(
__('Show full scale graph (TIP)').ui_print_help_tip('This option may cause performance issues', true),
html_print_checkbox('fullscale_3', 1, false, true)
);
$data_toggle = html_print_table($table, true);
$data_toggle .= html_print_div(
[
'class' => 'action-buttons-right-forced mrgn_right_10px',
'content' => html_print_submit_button(
__('Add item'),
'add_dynamic',
false,
[
'mode' => 'mini',
'icon' => 'next',
],
true
),
],
true true
); );
$table->data[] = $data;
$table->rowclass[] = '';
$data = []; ui_toggle(
$data[0] = __('Agent'); $data_toggle,
$data[1] = html_print_input_text('text_agent', $textAgent, '', 30, 100, true); '<span class="subsection_header_title">'.__('Dynamic rules for simple module graph').'</span>',
$table->data[] = $data; 'container',
$table->rowclass[] = '';
$data = [];
$data[0] = __('Module');
$data[1] = html_print_input_text('text_agent_module', $textModule, '', 30, 100, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Tag');
$select_tags = tags_search_tag(false, false, true);
$data[1] = html_print_select(
$select_tags,
'tag',
$tag,
'', '',
__('Any'),
0,
true, true,
false, false,
false '',
'white-box-content',
'box-flat white_table_graph'
); );
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Type of graph');
$data[1] = html_print_select($type_graphs, 'simple_type_graph2', '', '', '', 0, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Show full scale graph (TIP)').ui_print_help_tip('This option may cause performance issues', true);
$data[1] = html_print_checkbox('fullscale_3', 1, false, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = '';
$data[1] = "<input style='float:right;' type=submit name='add_dynamic' class='sub add' value='".__('Add item')."'>";
$table->data[] = $data;
$table->rowclass[] = '';
echo "<table width='100%' cellpadding=4 cellspacing=4 class='databox filters'>";
echo '<tr>';
echo '<td>';
echo ui_toggle(html_print_table($table, true), 'Dynamic rules for simple module graph', '', '', true);
echo '</td>';
echo '</tr>';
echo '</table>';
if ((bool) $id_container !== false) { if ((bool) $id_container !== false) {
$total_item = db_get_all_rows_sql('SELECT count(*) FROM tcontainer_item WHERE id_container = '.$id_container); $total_item = db_get_all_rows_sql('SELECT count(*) FROM tcontainer_item WHERE id_container = '.$id_container);
@ -696,7 +733,7 @@ if ($edit_container) {
ui_pagination($total_item[0]['count(*)'], false, $offset, 10); ui_pagination($total_item[0]['count(*)'], false, $offset, 10);
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox data'; $table->class = 'info_table';
$table->id = 'item_table'; $table->id = 'item_table';
$table->align = []; $table->align = [];
$table->head = []; $table->head = [];
@ -710,7 +747,7 @@ if ($edit_container) {
$table->head[7] = __('Delete'); $table->head[7] = __('Delete');
$table->data = []; $table->data = [];
$i = 0;
foreach ($result_item as $item) { foreach ($result_item as $item) {
$data = []; $data = [];
@ -759,6 +796,8 @@ if ($edit_container) {
break; break;
} }
$table->cellclass[$i][7] = 'table_action_buttons';
$i++;
$data[7] = '<a href="index.php?sec=reporting&sec2=godmode/reporting/create_container&edit_container=1&delete_item=1&id_item='.$item['id_ci'].'&id='.$id_container.'" onClick="if (!confirm(\''.__('Are you sure?').'\')) $data[7] = '<a href="index.php?sec=reporting&sec2=godmode/reporting/create_container&edit_container=1&delete_item=1&id_item='.$item['id_ci'].'&id='.$id_container.'" onClick="if (!confirm(\''.__('Are you sure?').'\'))
return false;">'.html_print_image('images/delete.svg', true, ['alt' => __('Delete'), 'title' => __('Delete'), 'class' => 'invert_filter main_menu_icon']).'</a>'; return false;">'.html_print_image('images/delete.svg', true, ['alt' => __('Delete'), 'title' => __('Delete'), 'class' => 'invert_filter main_menu_icon']).'</a>';
@ -801,7 +840,7 @@ echo html_print_input_hidden('id_agent', 0);
} }
}); });
$("input[name=add_custom]").click (function () { $("#button-add_custom").click (function () {
var id_custom = $("#id_custom_graph").val(); var id_custom = $("#id_custom_graph").val();
var fullscale = $("#checkbox-fullscale_2").prop("checked"); var fullscale = $("#checkbox-fullscale_2").prop("checked");
if (id_custom !== '0'){ if (id_custom !== '0'){
@ -824,7 +863,7 @@ echo html_print_input_hidden('id_agent', 0);
} }
}); });
$("input[name=add_dynamic]").click (function () { $("#button-add_dynamic").click (function () {
var agent_alias = $("#text-text_agent").val(); var agent_alias = $("#text-text_agent").val();
var module_name = $("#text-text_agent_module").val(); var module_name = $("#text-text_agent_module").val();
var time_lapse = $("#hidden-period_dynamic").attr('value'); var time_lapse = $("#hidden-period_dynamic").attr('value');

View File

@ -129,11 +129,22 @@ $container = folder_get_folders();
$tree = folder_get_folders_tree_recursive($container); $tree = folder_get_folders_tree_recursive($container);
echo folder_togge_tree_folders($tree); echo folder_togge_tree_folders($tree);
if ($report_r && $report_w) { if ($report_r && $report_w) {
echo "<div class='right'>"; $ActionButtons[] = '<form method="post" class="right" action="index.php?sec=reporting&sec2=godmode/reporting/create_container">';
echo '<form method="post" class="right" action="index.php?sec=reporting&sec2=godmode/reporting/create_container">'; $ActionButtons[] = '<div class="action-buttons">';
html_print_submit_button(__('Create container'), 'create', false, 'class="sub next mrgn_right_5px mrgn_top_15px"'); $ActionButtons[] = html_print_submit_button(
echo '</form>'; __('Create container'),
echo '</div>'; 'create',
false,
[
'class' => 'sub ok submitButton',
'icon' => 'next',
],
true
);
$ActionButtons[] = '</div>';
$ActionButtons[] = '</form>';
html_print_action_buttons(implode('', $ActionButtons), ['type' => 'form_action']);
} }
?> ?>

View File

@ -2229,7 +2229,7 @@ $class = 'databox filters';
<tr id="row_custom_graph" class="datos"> <tr id="row_custom_graph" class="datos">
<td class="bolder"><?php echo __('Custom graph'); ?></td> <td class="bolder"><?php echo __('Custom graph'); ?></td>
<td > <td class="toolbox-buttons">
<?php <?php
if ($meta) { if ($meta) {
$graphs = []; $graphs = [];
@ -2303,21 +2303,38 @@ $class = 'databox filters';
} }
} }
echo '&nbsp;'; if (!empty($style_button_create_custom_graph)) {
$style_create = [
'mode' => 'link',
'style' => 'display:none',
];
} else {
$style_create = [ 'mode' => 'link' ];
}
if (!empty($style_button_edit_custom_graph)) {
$style_edit = [
'mode' => 'link',
'style' => 'display:none',
];
} else {
$style_edit = [ 'mode' => 'link' ];
}
html_print_button( html_print_button(
__('Create'), __('Create'),
'create_graph', 'create_graph',
false, false,
'create_custom_graph();', 'create_custom_graph()',
'class="sub add" '.$style_button_create_custom_graph $style_create
); );
html_print_button( html_print_button(
__('Edit'), __('Edit'),
'edit_graph', 'edit_graph',
false, false,
'edit_custom_graph();', 'edit_custom_graph()',
'class="sub config" '.$style_button_edit_custom_graph $style_edit
); );
?> ?>
</td> </td>

View File

@ -509,11 +509,11 @@ switch ($action) {
'list_reports' => [ 'list_reports' => [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&pure='.$pure.'">'.html_print_image( 'text' => '<a href="index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&pure='.$pure.'">'.html_print_image(
'images/report_list.png', 'images/logs@svg.svg',
true, true,
[ [
'title' => __('Reports list'), 'title' => __('Reports list'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>', ).'</a>',
], ],

View File

@ -632,7 +632,7 @@ if (empty($create) === false || empty($view) === false) {
$delete_macro_style = 'display:none;'; $delete_macro_style = 'display:none;';
} }
$datam[2] = '<div id="delete_macro_button" style="'.$delete_macro_style.'">'.'<a href="javascript:;">'.'<span class="bolder">'.__('Delete macro').'</span>'.'&nbsp;'.html_print_image('images/delete.png', true, ['class' => 'invert_filter']).'</a>'.'</div>'; $datam[2] = '<div id="delete_macro_button" style="'.$delete_macro_style.'">'.'<a href="javascript:;">'.'<span class="bolder">'.__('Delete macro').'</span>'.'&nbsp;'.html_print_image('images/delete.svg', true, ['class' => 'main_menu_icon invert_filter']).'</a>'.'</div>';
$table->colspan['plugin_action'][0] = 2; $table->colspan['plugin_action'][0] = 2;
$table->colspan['plugin_action'][2] = 2; $table->colspan['plugin_action'][2] = 2;
@ -665,8 +665,10 @@ if (empty($create) === false || empty($view) === false) {
echo '<tr><td align="right">'; echo '<tr><td align="right">';
if ($create != '') { $buttons = '';
$button = html_print_submit_button(
if (empty($create) === false) {
$buttons .= html_print_submit_button(
__('Create'), __('Create'),
'crtbutton', 'crtbutton',
false, false,
@ -674,7 +676,7 @@ if (empty($create) === false || empty($view) === false) {
true true
); );
} else { } else {
$button = html_print_submit_button( $buttons .= html_print_submit_button(
__('Update'), __('Update'),
'uptbutton', 'uptbutton',
false, false,
@ -683,8 +685,14 @@ if (empty($create) === false || empty($view) === false) {
); );
} }
$buttons .= html_print_go_back_button(
'index.php?sec=gservers&sec2=godmode/servers/plugin',
['button_class' => ''],
true
);
html_print_action_buttons( html_print_action_buttons(
$button $buttons
); );
echo '</form></table>'; echo '</form></table>';

View File

@ -1283,7 +1283,7 @@ if (check_login()) {
$linkCaption, $linkCaption,
'additional_action_for_'.$idAgenteModulo, 'additional_action_for_'.$idAgenteModulo,
false, false,
'window.location.assign(\'index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente='.$id_agente.'&amp;id_agente_modulo='.$module['id_agente_modulo'].'&amp;refr=60'.$addedLinkParams.'\')', 'window.location.assign("index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente='.$id_agente.'&amp;id_agente_modulo='.$module['id_agente_modulo'].'&amp;refr=60'.$addedLinkParams.'")',
[ [
'mode' => 'link', 'mode' => 'link',
'style' => 'justify-content: flex-end;', 'style' => 'justify-content: flex-end;',
@ -1300,7 +1300,7 @@ if (check_login()) {
__('Edit'), __('Edit'),
'edit_module_'.$idAgenteModulo, 'edit_module_'.$idAgenteModulo,
false, false,
'window.location.assign(\'index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente&amp;id_agente='.$id_agente.'&amp;tab=module&amp;id_agent_module='.$module['id_agente_modulo'].'&amp;edit_module='.$module['id_modulo'].'\')', 'window.location.assign("index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente&amp;id_agente='.$id_agente.'&amp;tab=module&amp;id_agent_module='.$module['id_agente_modulo'].'&amp;edit_module='.$module['id_modulo'].'")',
[ [
'mode' => 'link', 'mode' => 'link',
'style' => 'justify-content: flex-end;', 'style' => 'justify-content: flex-end;',

View File

@ -1040,7 +1040,7 @@ class CalendarManager
'id' => 'templates_alerts_special_days', 'id' => 'templates_alerts_special_days',
'return' => true, 'return' => true,
'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/alerts/alert_special_days', 'ajax_url' => 'godmode/alerts/alert_special_days',
@ -1075,7 +1075,9 @@ class CalendarManager
'name' => 'name', 'name' => 'name',
], ],
], ],
'class' => 'no_border',
], ],
'filter_main_class' => 'box-flat white_table_graph',
] ]
); );
} catch (Exception $e) { } catch (Exception $e) {

View File

@ -103,42 +103,16 @@ class CredentialStore extends Wizard
*/ */
private function ajaxMsg($type, $msg, $delete=false) private function ajaxMsg($type, $msg, $delete=false)
{ {
$msg_err = 'Failed while saving: %s'; if ($type === 'error') {
$msg_ok = 'Successfully saved into keystore '; $msg_title = ($delete === true) ? 'Failed while removing' : 'Failed while saving';
if ($delete) {
$msg_err = 'Failed while removing: %s';
$msg_ok = 'Successfully deleted ';
}
if ($type == 'error') {
echo json_encode(
[
$type => ui_print_error_message(
__(
$msg_err,
$msg
),
'',
true
),
]
);
} else { } else {
echo json_encode( $msg_title = ($delete === true) ? 'Successfully deleted' : 'Successfully saved into keystore';
[
$type => ui_print_success_message(
__(
$msg_ok,
$msg
),
'',
true
),
]
);
} }
echo json_encode(
[ $type => __($msg_title).':<br>'.$msg ]
);
exit; exit;
} }

View File

@ -14,7 +14,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
@ -264,27 +264,11 @@ class ModuleTemplates extends HTML
*/ */
private function ajaxMsg($type, $msg) private function ajaxMsg($type, $msg)
{ {
if ($type == 'error') { echo json_encode(
echo json_encode( [
[ $type => __($msg),
$type => ui_print_error_message( ]
__($msg), );
'',
true
),
]
);
} else {
echo json_encode(
[
$type => ui_print_success_message(
__($msg),
'',
true
),
]
);
}
exit; exit;
} }
@ -708,7 +692,7 @@ class ModuleTemplates extends HTML
'action' => $this->baseUrl, 'action' => $this->baseUrl,
'id' => 'add_module_form', 'id' => 'add_module_form',
'method' => 'POST', 'method' => 'POST',
'class' => 'modal', 'class' => 'modal filter-list-adv',
'extra' => '', 'extra' => '',
]; ];
@ -846,10 +830,10 @@ class ModuleTemplates extends HTML
false false
); );
// Create the table with Module Block list. // Create the table with Module Block list.
$table = new StdClasS(); $table = new stdClass();
$table->class = 'databox data '; $table->class = 'databox data ';
$table->width = '75%'; $table->width = '75%';
$table->styleTable = 'margin: 2em auto 0;border: 1px solid #ddd;'; $table->styleTable = 'border: 1px solid #ddd;';
$table->rowid = []; $table->rowid = [];
$table->data = []; $table->data = [];
@ -893,7 +877,7 @@ class ModuleTemplates extends HTML
); );
$data[3] .= html_print_input_image( $data[3] .= html_print_input_image(
'export_profile', 'export_profile',
'images/csv.png', 'images/file-csv.svg',
$row['id_np'], $row['id_np'],
'', '',
true, true,
@ -914,7 +898,7 @@ class ModuleTemplates extends HTML
$data[3] .= '</a>'; $data[3] .= '</a>';
$data[3] .= '<a href="'.$this->baseUrl.'&action=export&id_np='.$row['id_np'].'" onclick="blockResubmit($(this))">'; $data[3] .= '<a href="'.$this->baseUrl.'&action=export&id_np='.$row['id_np'].'" onclick="blockResubmit($(this))">';
$data[3] .= html_print_image( $data[3] .= html_print_image(
'images/csv.png', 'images/file-csv.svg',
true, true,
[ [
'title' => __('Export to CSV'), 'title' => __('Export to CSV'),
@ -1165,7 +1149,7 @@ class ModuleTemplates extends HTML
$blockComponentList = chop($blockComponentList, ','); $blockComponentList = chop($blockComponentList, ',');
// Title of Block. // Title of Block.
$blockTitle = '<div class="pdd_t_8px">'; $blockTitle = '<div class="subsection_header_title">';
$blockTitle .= $blockTable['name']; $blockTitle .= $blockTable['name'];
$blockTitle .= '<div class="white_table_header_checkbox">'; $blockTitle .= '<div class="white_table_header_checkbox">';
$blockTitle .= html_print_input_image( $blockTitle .= html_print_input_image(
@ -1186,7 +1170,7 @@ class ModuleTemplates extends HTML
$table = new StdClasS(); $table = new StdClasS();
$table->class = 'databox data border_bt'; $table->class = 'databox data border_bt';
$table->width = '75%'; $table->width = '75%';
$table->styleTable = 'margin: 2em auto 0;border: 1px solid #ddd;'; $table->styleTable = 'margin: 0; border: 1px solid #ddd;';
$table->rowid = []; $table->rowid = [];
$table->data = []; $table->data = [];
@ -1220,7 +1204,7 @@ class ModuleTemplates extends HTML
switch ($module['id_format']) { switch ($module['id_format']) {
case MODULE_NETWORK: case MODULE_NETWORK:
$formatInfo = html_print_image( $formatInfo = html_print_image(
'images/network.png', 'images/network-server@os.svg',
true, true,
[ [
'title' => __('Network module'), 'title' => __('Network module'),
@ -1231,7 +1215,7 @@ class ModuleTemplates extends HTML
case MODULE_WMI: case MODULE_WMI:
$formatInfo = html_print_image( $formatInfo = html_print_image(
'images/wmi.png', 'images/WMI@svg.svg',
true, true,
[ [
'title' => __('WMI module'), 'title' => __('WMI module'),
@ -1242,7 +1226,7 @@ class ModuleTemplates extends HTML
case MODULE_PLUGIN: case MODULE_PLUGIN:
$formatInfo = html_print_image( $formatInfo = html_print_image(
'images/plugin.png', 'images/plugins@svg.svg',
true, true,
[ [
'title' => __('Plug-in module'), 'title' => __('Plug-in module'),

View File

@ -3601,7 +3601,7 @@ class NetworkMap
url_background_grid: url_background_grid, url_background_grid: url_background_grid,
refresh_time: '.$this->mapOptions['refresh_time'].', refresh_time: '.$this->mapOptions['refresh_time'].',
font_size: '.$this->mapOptions['font_size'].', font_size: '.$this->mapOptions['font_size'].',
method: '.$this->map['generation_method'].', method: '.($this->map['generation_method'] ?? 3).',
base_url_homedir: "'.ui_get_full_url(false).'" base_url_homedir: "'.ui_get_full_url(false).'"
}); });
init_drag_and_drop(); init_drag_and_drop();

View File

@ -959,41 +959,28 @@ class SatelliteAgent extends HTML
*/ */
private function ajaxMsg($type, $msg, $delete=false, $disable=false) private function ajaxMsg($type, $msg, $delete=false, $disable=false)
{ {
$msg_err = 'Failed while saving: %s'; if ($type === 'error') {
$msg_ok = 'Successfully saved agent '; if ($delete === true) {
$msg_title = 'Failed while removing';
if ($delete === true) { } else if ($disable === true) {
$msg_err = 'Failed while removing: %s'; $msg_title = 'Failed while disabling';
$msg_ok = 'Successfully deleted '; } else {
} $msg_title = 'Failed while saving';
}
if ($disable === true) {
$msg_err = 'Failed while disabling: %s';
$msg_ok = 'Successfully disabled';
}
if ($type == 'error') {
echo json_encode(
[
$type => ui_print_error_message(
__($msg),
'',
true
),
]
);
} else { } else {
echo json_encode( if ($delete === true) {
[ $msg_title = 'Successfully deleted';
$type => ui_print_success_message( } else if ($disable === true) {
__($msg), $msg_title = 'Successfully disabled';
'', } else {
true $msg_title = 'Successfully saved agent';
), }
]
);
} }
echo json_encode(
[ $type => __($msg_title).':<br>'.$msg ]
);
exit; exit;
} }

View File

@ -475,27 +475,11 @@ class SatelliteCollection extends HTML
*/ */
private function ajaxMsg(string $type, string $msg) private function ajaxMsg(string $type, string $msg)
{ {
if ($type === 'error') { echo json_encode(
echo json_encode( [
[ $type => __($msg),
$type => ui_print_error_message( ]
__($msg), );
'',
true
),
]
);
} else {
echo json_encode(
[
$type => ui_print_success_message(
__($msg),
'',
true
),
]
);
}
exit; exit;
} }

View File

@ -183,29 +183,29 @@ class SnmpConsole extends HTML
if (!isset($config['pure']) || $config['pure'] === false) { if (!isset($config['pure']) || $config['pure'] === false) {
$statistics['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure='.$config['pure'].'">'.html_print_image( $statistics['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure='.$config['pure'].'">'.html_print_image(
'images/op_reporting.png', 'images/logs@svg.svg',
true, true,
[ [
'title' => __('Statistics'), 'title' => __('Statistics'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
$list['text'] = '<a href="index.php?sec=snmpconsole&sec2=operation/snmpconsole/snmp_view&pure=0">'.html_print_image( $list['text'] = '<a href="index.php?sec=snmpconsole&sec2=operation/snmpconsole/snmp_view&pure=0">'.html_print_image(
'images/op_snmp.png', 'images/SNMP-network-numeric-data@svg.svg',
true, true,
[ [
'title' => __('List'), 'title' => __('List'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
$list['active'] = true; $list['active'] = true;
$screen['text'] = '<a href="#" onClick="javascript:fullscreen(1)">'.html_print_image( $screen['text'] = '<a href="#" onClick="javascript:fullscreen(1)">'.html_print_image(
'images/full_screen.png', 'images/fullscreen@svg.svg',
true, true,
[ [
'title' => __('List'), 'title' => __('View in full screen'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
@ -242,11 +242,11 @@ class SnmpConsole extends HTML
echo '<a href="#" onClick="javascript:fullscreen(0)">'; echo '<a href="#" onClick="javascript:fullscreen(0)">';
echo html_print_image( echo html_print_image(
'images/normal_screen.png', 'images/exit_fullscreen@svg.svg',
true, true,
[ [
'title' => __('Exit fullscreen'), 'title' => __('Exit fullscreen'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
echo '</a>'; echo '</a>';
@ -844,7 +844,7 @@ class SnmpConsole extends HTML
$tmp->snmp_agent .= '<a href="index.php?sec=estado&sec2=godmode/agentes/configurar_agente&new_agent=1&direccion='.$tmp->source.'" title="'.__('Create agent').'">'.$tmp->source.'</a>'; $tmp->snmp_agent .= '<a href="index.php?sec=estado&sec2=godmode/agentes/configurar_agente&new_agent=1&direccion='.$tmp->source.'" title="'.__('Create agent').'">'.$tmp->source.'</a>';
} else { } else {
$tmp->snmp_agent .= '<div class="'.$severity_class.' snmp-div"><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'" title="'.__('View agent details').'">'; $tmp->snmp_agent .= '<div class="'.$severity_class.' snmp-div"><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'" title="'.__('View agent details').'">';
$tmp->snmp_agent .= '<strong>'.$agent['alias'].ui_print_help_tip($tmp->source, true, 'images/tip.png'); $tmp->snmp_agent .= '<strong>'.$agent['alias'].ui_print_help_tip($tmp->source, true);
'</strong></a></div>'; '</strong></a></div>';
} }

View File

@ -316,13 +316,13 @@ function ui_toggle_container($code, $name, $title='', $hidden_default=true, $ret
$data[0] = '<a href="javascript:" id="tgl_ctrl_'.$uniqid.'">'.html_print_image($original, true, ['title' => $title, 'id' => 'image_'.$uniqid, 'class' => 'invert_filter']).'&nbsp;&nbsp;<b>'.$name.'</b></a>'; $data[0] = '<a href="javascript:" id="tgl_ctrl_'.$uniqid.'">'.html_print_image($original, true, ['title' => $title, 'id' => 'image_'.$uniqid, 'class' => 'invert_filter']).'&nbsp;&nbsp;<b>'.$name.'</b></a>';
$data[1] = ui_print_group_icon($group, true); $data[1] = ui_print_group_icon($group, true);
if ($report_r && $report_w) { if ($report_r && $report_w) {
$data[2] = '<a href="index.php?sec=reporting&sec2=godmode/reporting/create_container&edit_container=1&id='.$id_container.'">'.html_print_image('images/config.png', true, ['class' => 'invert_filter']).'</a>'; $data[2] = '<a href="index.php?sec=reporting&sec2=godmode/reporting/create_container&edit_container=1&id='.$id_container.'">'.html_print_image('images/edit.svg', true, ['class' => 'invert_filter main_menu_icon']).'</a>';
} }
if ($report_r && $report_w && $report_m) { if ($report_r && $report_w && $report_m) {
if ($id_container !== '1') { if ($id_container !== '1') {
$data[2] .= '&nbsp;&nbsp;&nbsp;&nbsp'.'<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container&delete_container=1&id='.$id_container.'" onClick="if (!confirm(\''.__('Are you sure?').'\')) $data[2] .= '&nbsp;&nbsp;&nbsp;&nbsp'.'<a href="index.php?sec=reporting&sec2=godmode/reporting/graph_container&delete_container=1&id='.$id_container.'" onClick="if (!confirm(\''.__('Are you sure?').'\'))
return false;">'.html_print_image('images/cross.png', true, ['alt' => __('Delete'), 'title' => __('Delete'), 'class' => 'invert_filter']).'</a>'; return false;">'.html_print_image('images/delete.svg', true, ['alt' => __('Delete'), 'title' => __('Delete'), 'class' => 'invert_filter main_menu_icon']).'</a>';
} }
} }

View File

@ -744,8 +744,7 @@ function filemanager_file_explorer(
// Actions buttons // Actions buttons
// Delete button. // Delete button.
$data[4] = ''; $data[4] = '<div class="table_action_buttons flex">';
$data[4] .= '<span style="display: flex">';
$typefile = array_pop(explode('.', $fileinfo['name'])); $typefile = array_pop(explode('.', $fileinfo['name']));
if (is_writable($fileinfo['realpath']) === true if (is_writable($fileinfo['realpath']) === true
&& (is_dir($fileinfo['realpath']) === false || count(scandir($fileinfo['realpath'])) < 3) && (is_dir($fileinfo['realpath']) === false || count(scandir($fileinfo['realpath'])) < 3)
@ -774,7 +773,7 @@ function filemanager_file_explorer(
&& ($typefile !== 'iso') && ($typefile !== 'docx') && ($typefile !== 'doc') && ($fileinfo['mime'] != MIME_DIR) && ($typefile !== 'iso') && ($typefile !== 'docx') && ($typefile !== 'doc') && ($fileinfo['mime'] != MIME_DIR)
) { ) {
$hash = md5($fileinfo['realpath'].$config['server_unique_identifier']); $hash = md5($fileinfo['realpath'].$config['server_unique_identifier']);
$data[4] .= "<a style='vertical-align: top;' href='$url&edit_file=1&hash=".$hash.'&location_file='.$fileinfo['realpath']."' style='float: left;'>".html_print_image('images/edit.png', true, ['style' => 'margin-top: 2px;', 'title' => __('Edit file'), 'class' => 'invert_filter']).'</a>'; $data[4] .= "<a style='vertical-align: top;' href='$url&edit_file=1&hash=".$hash.'&location_file='.$fileinfo['realpath']."' style='float: left;'>".html_print_image('images/edit.svg', true, ['style' => 'margin-top: 2px;', 'title' => __('Edit file'), 'class' => 'main_menu_icon invert_filter']).'</a>';
} }
} }
} }
@ -794,7 +793,7 @@ function filemanager_file_explorer(
$data[4] .= '<a href="javascript: show_modal_real_path(`'.$fileinfo['realpath'].'`);">'.html_print_image('images/enable.svg', true, ['style' => 'margin-top: 2px;', 'title' => __('Real path'), 'class' => 'invert_filter main_menu_icon']).'</a>'; $data[4] .= '<a href="javascript: show_modal_real_path(`'.$fileinfo['realpath'].'`);">'.html_print_image('images/enable.svg', true, ['style' => 'margin-top: 2px;', 'title' => __('Real path'), 'class' => 'invert_filter main_menu_icon']).'</a>';
} }
$data[4] .= '</span>'; $data[4] .= '</div>';
array_push($table->data, $data); array_push($table->data, $data);
} }
@ -983,7 +982,7 @@ function filemanager_file_explorer(
<div id='real_path'></div>"; <div id='real_path'></div>";
if (isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'on' || $_SERVER['SERVER_NAME'] == 'localhost' || $_SERVER['SERVER_NAME'] == '127.0.0.1') { if (isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'on' || $_SERVER['SERVER_NAME'] == 'localhost' || $_SERVER['SERVER_NAME'] == '127.0.0.1') {
$modal_real_path .= "<div style='float:right;margin: 5em 0 0 auto';>".html_print_submit_button(__('Copy'), 'submit', false, 'class="sub next"', true).'</div>'; $modal_real_path .= "<div style='float:right;margin: 5em 0 0 auto';>".html_print_submit_button(__('Copy'), 'submit', false, ['icon' => 'wand', 'mode' => 'mini'], true).'</div>';
} }
html_print_div( html_print_div(
@ -997,7 +996,7 @@ function filemanager_file_explorer(
echo '</div>'; echo '</div>';
} else { } else {
echo "<div style='text-align: right; width: ".$table->width."; color:#AC4444; margin-bottom:10px;'>"; echo "<div style='text-align: right; width: ".$table->width."; color:#AC4444; margin-bottom:10px;'>";
echo "<image class='invert_filter' src='images/info.png' />".__('The directory is read-only'); echo "<image class='main_menu_icon invert_filter' src='images/info@svg.svg' />".__('The directory is read-only');
echo '</div>'; echo '</div>';
} }
} }

View File

@ -1361,29 +1361,27 @@ function html_print_select_multiple_filtered(
$output .= '<div class="arrows-container flex-column">'; $output .= '<div class="arrows-container flex-column">';
$output .= html_print_input( $output .= html_print_image(
'images/plus.svg',
true,
[ [
'type' => 'image', 'id' => 'right_autorefreshlist',
'src' => 'images/darrowright.png', 'style' => 'width: 24px; margin: 10px 10px 0;',
'return' => true, 'alt' => __('Push selected pages into autorefresh list'),
'options' => [ 'title' => __('Push selected pages into autorefresh list'),
'title' => $texts['title-add'], 'onclick' => $add,
'onclick' => $add,
'class' => 'invert_filter',
],
] ]
); );
$output .= html_print_input( $output .= html_print_image(
'images/minus.svg',
true,
[ [
'type' => 'image', 'id' => 'left_autorefreshlist',
'src' => 'images/darrowleft.png', 'style' => 'width: 24px; margin: 10px 10px 0;',
'return' => true, 'alt' => __('Pop selected pages out of autorefresh list'),
'options' => [ 'title' => __('Pop selected pages out of autorefresh list'),
'title' => $texts['title-del'], 'onclick' => $del,
'onclick' => $del,
'class' => 'invert_filter',
],
] ]
); );
@ -4905,7 +4903,8 @@ function html_print_autocomplete_modules(
$filter=[], $filter=[],
$return=false, $return=false,
$id_agent_module=0, $id_agent_module=0,
$size='30' $size='30',
$underInputTip=false
) { ) {
global $config; global $config;
@ -4962,7 +4961,11 @@ function html_print_autocomplete_modules(
html_print_input_hidden($name.'_hidden', $id_agent_module); html_print_input_hidden($name.'_hidden', $id_agent_module);
if (is_metaconsole() === false) { if (is_metaconsole() === false) {
ui_print_help_tip(__('Type at least two characters to search the module.'), false); if ($underInputTip === true) {
ui_print_input_placeholder(__('Type at least two characters to search the module.'), false);
} else {
ui_print_help_tip(__('Type at least two characters to search the module.'), false);
}
} }
$javascript_ajax_page = ui_get_full_url('ajax.php', false, false, false); $javascript_ajax_page = ui_get_full_url('ajax.php', false, false, false);

View File

@ -467,7 +467,7 @@ function treeview_printAlertsTable($id_module, $server_data=[], $no_head=false)
__('Go to alerts edition'), __('Go to alerts edition'),
'upd_button', 'upd_button',
false, false,
'window.location.assign(\''.$console_url.'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&search=1&module_name='.$module_name.'&id_agente='.$agent_id.$url_hash.'\')', 'window.location.assign("'.$console_url.'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&search=1&module_name='.$module_name.'&id_agente='.$agent_id.$url_hash.'")',
['icon' => 'alert'], ['icon' => 'alert'],
true true
), ),

View File

@ -908,11 +908,11 @@ function ui_print_type_agent_icon(
if ((int) $id_os === SATELLITE_OS_ID) { if ((int) $id_os === SATELLITE_OS_ID) {
// Satellite. // Satellite.
$options['title'] = __('Satellite'); $options['title'] = __('Satellite');
$output = html_print_image('images/satellite@svg.svg', true, ['class' => 'main_menu_icon invert_filter'], false, false, false, true); $output = html_print_image('images/satellite@os.svg', true, ['class' => 'main_menu_icon invert_filter'], false, false, false, true);
} else if ($remote_contact === $contact && $remote === 0 && empty($version) === true) { } else if ($remote_contact === $contact && $remote === 0 && empty($version) === true) {
// Network. // Network.
$options['title'] = __('Network'); $options['title'] = __('Network');
$output = html_print_image('images/network-server@svg.svg', true, ['class' => 'main_menu_icon invert_filter'], false, false, false, true); $output = html_print_image('images/network-server@os.svg', true, ['class' => 'main_menu_icon invert_filter'], false, false, false, true);
} else { } else {
// Software. // Software.
$options['title'] = __('Software'); $options['title'] = __('Software');
@ -1214,7 +1214,7 @@ function ui_format_alert_row(
$forceTitle, $forceTitle,
'force_execution_'.$alert['id'], 'force_execution_'.$alert['id'],
false, false,
'window.location.assign(\''.$url.'&amp;id_alert='.$alert['id'].'&amp;refr=60'.$additionUrl.'\');', 'window.location.assign("'.$url.'&amp;id_alert='.$alert['id'].'&amp;refr=60'.$additionUrl.'");',
[ 'mode' => 'link' ], [ 'mode' => 'link' ],
true true
); );
@ -1500,6 +1500,7 @@ function ui_print_alert_template_example($id_alert_template, $return=false, $pri
* @param string $image Image path. * @param string $image Image path.
* @param boolean $is_relative Route is relative or not. * @param boolean $is_relative Route is relative or not.
* @param string $id Target id. * @param string $id Target id.
* @param string $isHeader If true, the view is header.
* *
* @return string The help tip * @return string The help tip
*/ */
@ -1509,10 +1510,17 @@ function ui_print_help_icon(
$home_url='', $home_url='',
$image='images/info@svg.svg', $image='images/info@svg.svg',
$is_relative=false, $is_relative=false,
$id='' $id='',
$isHeader=false
) { ) {
global $config; global $config;
if (empty($image) === true) {
$image = 'images/info@svg.svg';
}
$iconClass = ($isHeader === true) ? 'header_help_icon' : 'main_menu_icon';
// Do not display the help icon if help is disabled. // Do not display the help icon if help is disabled.
if ((bool) $config['disable_help'] === true) { if ((bool) $config['disable_help'] === true) {
return ''; return '';
@ -1537,7 +1545,7 @@ function ui_print_help_icon(
$image, $image,
true, true,
[ [
'class' => 'img_help main_menu_icon', 'class' => 'img_help '.$iconClass,
'title' => __('Help'), 'title' => __('Help'),
'onclick' => "open_help ('".ui_get_full_url($help_handler)."')", 'onclick' => "open_help ('".ui_get_full_url($help_handler)."')",
'id' => $id, 'id' => $id,
@ -2440,35 +2448,35 @@ function ui_print_session_action_icon($action, $return=false)
global $config; global $config;
$key_icon = [ $key_icon = [
'acl' => 'images/delete.png', 'acl' => 'images/delete.svg',
'agent' => 'images/agent.png', 'agent' => 'images/agents@svg.svg',
'module' => 'images/module.png', 'module' => 'images/modules@svg.svg',
'alert' => 'images/bell.png', 'alert' => 'images/alerts.svg',
'incident' => 'images/default_list.png', 'incident' => 'images/logs@svg.svg',
'logon' => 'images/house.png', 'logon' => 'images/house@svg.svg',
'logoff' => 'images/house.png', 'logoff' => 'images/house@svg.svg',
'massive' => 'images/config.png', 'massive' => 'images/configuration@svg.svg',
'hack' => 'images/application_edit.png', 'hack' => 'images/custom-input@svg.svg',
'event' => 'images/lightning_go.png', 'event' => 'images/event.svg',
'policy' => 'images/policies_mc.png', 'policy' => 'images/policy@svg.svg',
'report' => 'images/reporting.png', 'report' => 'images/agent-fields.svg',
'file collection' => 'images/collection_col.png', 'file collection' => 'images/file-collection@svg.svg',
'user' => 'images/user_green.png', 'user' => 'images/user.svg',
'password' => 'images/lock.png', 'password' => 'images/password.svg',
'session' => 'images/heart_col.png', 'session' => 'images/star@svg.svg',
'snmp' => 'images/snmp.png', 'snmp' => 'images/SNMP-network-numeric-data@svg.svg',
'command' => 'images/bell.png', 'command' => 'images/external-tools@svg.svg',
'category' => 'images/category_col.png', 'category' => 'images/tag@svg.svg',
'dashboard' => 'images/dashboard_col.png', 'dashboard' => 'images/workstation@groups.svg',
'api' => 'images/eye.png', 'api' => 'images/enable.svg',
'db' => 'images/database.png', 'db' => 'images/data-server@svg.svg',
'setup' => 'images/cog.png', 'setup' => 'images/configuration@svg.svg',
]; ];
$output = ''; $output = '';
foreach ($key_icon as $key => $icon) { foreach ($key_icon as $key => $icon) {
if (stristr($action, $key) !== false) { if (stristr($action, $key) !== false) {
$output = html_print_image($icon, true, ['title' => $action, 'class' => 'invert_filter'], false, false, false, true).' '; $output = html_print_image($icon, true, ['title' => $action, 'class' => 'main_menu_icon invert_filter'], false, false, false, true).' ';
break; break;
} }
} }
@ -5057,7 +5065,7 @@ function ui_print_page_header(
if (is_metaconsole() === false) { if (is_metaconsole() === false) {
if ($help != '') { if ($help != '') {
$buffer .= "<div class='head_help head_tip'>".ui_print_help_icon($help, true, '', 'images/help_g.png').'</div>'; $buffer .= "<div class='head_help head_tip'>".ui_print_help_icon($help, true, '', '', false, '', true).'</div>';
} }
} }
@ -7158,7 +7166,7 @@ function ui_print_servertype_icon(int $id)
case MODULE_NETWORK: case MODULE_NETWORK:
$title = __('Network server'); $title = __('Network server');
$image = 'images/network-server@svg.svg'; $image = 'images/network-server@os.svg';
break; break;
case MODULE_PLUGIN: case MODULE_PLUGIN:

View File

@ -2400,3 +2400,10 @@ function topFunction() {
500 500
); );
} }
function menuActionButtonResizing() {
$(".action_buttons_right_content").attr(
"style",
"left: " + $("#menu_full").width() + "px;"
);
}

View File

@ -354,3 +354,35 @@ div#rules.show {
.note-special-day div a.tip > img { .note-special-day div a.tip > img {
margin: 0px; margin: 0px;
} }
form#icalendar-special-days.calendar-upload-form {
border: 0px;
padding: 0px;
}
form#icalendar-special-days.calendar-upload-form > ul {
align-items: flex-start !important;
}
form#icalendar-special-days.calendar-upload-form > ul > li > label {
font-size: 13px;
line-height: 16px;
margin-bottom: 10px;
}
.special-days-thead > thead > tr > th:not(.header) {
border: 1px solid #e2e2e2;
}
.special-days-thead > thead > tr > th.header {
border: 0px;
border-bottom: 1px solid #878787;
}
.special-days-thead > thead > tr > th.c0 {
border-left: 1px solid #e2e2e2;
}
.special-days-thead > thead > tr > th.c6 {
border-right: 1px solid #e2e2e2;
}

View File

@ -675,6 +675,14 @@ select:-internal-list-box {
width: 40%; width: 40%;
} }
.w45p {
width: 45%;
}
.w48p {
width: 48%;
}
.w47p { .w47p {
width: 47%; width: 47%;
} }
@ -5807,10 +5815,10 @@ div.label_select_child_left > span {
overflow: hidden; overflow: hidden;
} }
.switch_radio_button label { div.switch_radio_button label {
background-color: #fff; background-color: #fff;
color: rgba(0, 0, 0, 0.6); color: rgba(0, 0, 0, 0.6);
line-height: 9pt; line-height: 6px !important;
text-align: center; text-align: center;
padding: 14px 10px; padding: 14px 10px;
margin-right: -1px; margin-right: -1px;
@ -5818,14 +5826,14 @@ div.label_select_child_left > span {
transition: all 0.1s ease-in-out; transition: all 0.1s ease-in-out;
} }
.switch_radio_button label:first { div.switch_radio_button label:first-of-type {
border-top-left-radius: 4px; border-top-left-radius: 4px !important;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px !important;
} }
.switch_radio_button label:last-child { div.switch_radio_button label:last-of-type {
border-top-right-radius: 4px; border-top-right-radius: 4px !important;
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px !important;
margin-right: 0px; margin-right: 0px;
} }
@ -11010,14 +11018,14 @@ pre.external_tools_output {
.tag-editor .tag-editor-tag { .tag-editor .tag-editor-tag {
padding: 5px !important; padding: 5px !important;
color: #fff !important; color: #fff !important;
background: #82b92e !important; background: var(--primary-color) !important;
border-radius: 0 2px 2px 0 !important; border-radius: 0 2px 2px 0 !important;
} }
.tag-editor .tag-editor-delete { .tag-editor .tag-editor-delete {
padding: 5px !important; padding: 5px !important;
line-height: 16px !important; line-height: 16px !important;
background: #82b92e !important; background: var(--primary-color) !important;
border-radius: 2px 0 0 2px !important; border-radius: 2px 0 0 2px !important;
} }
@ -11191,6 +11199,10 @@ table.table_modal_alternate
height: 20px; height: 20px;
} }
.header_help_icon {
width: 16px;
height: 16px;
}
.main_menu_icon.arrow_up { .main_menu_icon.arrow_up {
transform: rotate(90deg); transform: rotate(90deg);
} }
@ -11505,6 +11517,15 @@ div[role="dialog"] {
/* font-weight: bold; */ /* font-weight: bold; */
} }
.font-title-font {
font-size: 13px;
line-height: 16px;
color: #161628;
text-align: left;
margin-bottom: 10px;
font-weight: bold;
}
.preimage_container span { .preimage_container span {
font-size: 11pt; font-size: 11pt;
line-height: 28px; line-height: 28px;
@ -11540,3 +11561,21 @@ table.alert-template-fields > tbody > tr > td > div > textarea {
table.alert-template-fields > tbody > tr > td[id^="template-label_fields"] { table.alert-template-fields > tbody > tr > td[id^="template-label_fields"] {
text-align: center; text-align: center;
} }
ul.tag-editor {
list-style-type: none;
padding: 0.5em !important;
margin: 0;
overflow: hidden;
border: 2px solid #c0ccdc;
border-radius: 6px;
cursor: text;
font: normal 14px sans-serif;
color: #333333;
background: #f6f7fb;
line-height: 20px;
}
.max-width-100p {
max-width: 100% !important;
}

View File

@ -235,7 +235,8 @@
.table_action_buttons > a, .table_action_buttons > a,
.table_action_buttons > img, .table_action_buttons > img,
.table_action_buttons > button { .table_action_buttons > button,
.table_action_buttons > form {
visibility: hidden; visibility: hidden;
} }
.info_table > tbody > tr:hover { .info_table > tbody > tr:hover {
@ -246,7 +247,8 @@
.info_table > tbody > tr:hover .table_action_buttons > a, .info_table > tbody > tr:hover .table_action_buttons > a,
.info_table > tbody > tr:hover .table_action_buttons > img, .info_table > tbody > tr:hover .table_action_buttons > img,
.info_table > tbody > tr:hover .table_action_buttons > button { .info_table > tbody > tr:hover .table_action_buttons > button,
.info_table > tbody > tr:hover .table_action_buttons > form {
visibility: visible; visibility: visible;
} }

View File

@ -46,7 +46,6 @@ ul.wizard li > label:not(.p-switch):first-of-type {
} }
ul.wizard li > textarea { ul.wizard li > textarea {
width: 600px;
height: 15em; height: 15em;
display: inline-block; display: inline-block;
} }
@ -130,6 +129,12 @@ ul.wizard li > textarea {
background: #e63c52; background: #e63c52;
} }
.wizard .tag-editor li,
.wizard .tag-editor li:focus,
.wizard .tag-editor li:hover {
border: 0;
padding: 0;
}
.wizard .time_selection_container { .wizard .time_selection_container {
display: flex; display: flex;
align-items: baseline; align-items: baseline;
@ -200,6 +205,7 @@ li#textarea-create-site > textarea {
width: 100%; width: 100%;
} }
form.alert-correlation > ul.wizard > li > label,
form#create_site > ul.wizard > li > label { form#create_site > ul.wizard > li > label {
font-size: 13px; font-size: 13px;
line-height: 16px; line-height: 16px;
@ -210,3 +216,23 @@ form#create_site > ul.wizard > li > label {
select[multiple] { select[multiple] {
min-height: 20em; min-height: 20em;
} }
form.alert-correlation > div > ul,
form.alert-correlation > ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
form.alert-correlation > div > ul > li.flex-flex-end {
display: flex;
align-items: flex-end;
}
form.alert-correlation > div > ul > li.flex-flex-end > input {
width: 150px !important;
}
form.alert-correlation > div > ul > li.flex-flex-end > label {
width: 50px !important;
}

View File

@ -1524,17 +1524,6 @@ require 'include/php_to_js_values.php';
} }
} }
//$('.button_collapse').on('click', menuActionButtonResizing());
// Cursor change for show a spinner. Experimental.
/*
$('.buttonButton').not('.dialog_opener').on('click', function(){
$('*').css('cursor', 'wait');
});
$('.submitButton').not('.dialog_opener').on('click', function(){
$('*').css('cursor', 'wait');
});
*/
// When the user scrolls down 400px from the top of the document, show the // When the user scrolls down 400px from the top of the document, show the
// button. // button.
window.onscroll = function() { window.onscroll = function() {
@ -1545,10 +1534,6 @@ require 'include/php_to_js_values.php';
scrollFunction() scrollFunction()
}; };
function menuActionButtonResizing() {
$('.action_buttons_right_content').attr('style', 'left: '+($('#menu_full').width())+'px;');
}
function first_time_identification() { function first_time_identification() {
jQuery.post("ajax.php", { jQuery.post("ajax.php", {
"page": "general/register", "page": "general/register",

View File

@ -1141,7 +1141,7 @@ foreach ($agents as $agent) {
$data[0] .= ui_print_help_tip( $data[0] .= ui_print_help_tip(
__('Agent in scheduled downtime'), __('Agent in scheduled downtime'),
true, true,
'images/minireloj-16.png' 'images/clock.svg'
); );
$data[0] .= '</em>'; $data[0] .= '</em>';
} }
@ -1254,12 +1254,12 @@ foreach ($agents as $agent) {
$fb64 = base64_encode(json_encode($agent_event_filter)); $fb64 = base64_encode(json_encode($agent_event_filter));
$data[11] = '<a href="index.php?sec=eventos&sec2=operation/events/events&fb64='.$fb64.'">'.html_print_image( $data[11] = '<a href="index.php?sec=eventos&sec2=operation/events/events&fb64='.$fb64.'">'.html_print_image(
'images/lightning.png', 'images/event.svg',
true, true,
[ [
'align' => 'middle', 'align' => 'middle',
'title' => __('Agent events'), 'title' => __('Agent events'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';

View File

@ -401,7 +401,7 @@ $buttonsRefreshAgent = html_print_button(
__('Refresh data'), __('Refresh data'),
'refresh_data', 'refresh_data',
false, false,
'window.location.assign(\'index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente='.$id_agente.'&amp;refr=60\')', 'window.location.assign("index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;id_agente='.$id_agente.'&amp;refr=60")',
[ 'mode' => 'link' ], [ 'mode' => 'link' ],
true true
); );
@ -411,7 +411,7 @@ if (check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') === true) {
__('Force checks'), __('Force checks'),
'force_checks', 'force_checks',
false, false,
'window.location.assign(\'index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;flag_agent=1&amp;id_agente='.$id_agente.'\')', 'window.location.assign("index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;flag_agent=1&amp;id_agente='.$id_agente.'")',
[ 'mode' => 'link' ], [ 'mode' => 'link' ],
true true
); );

View File

@ -1,10 +1,10 @@
<?php <?php
/** /**
* Export Data view * Export data.
* *
* @category Community * @category Tools
* @package Pandora FMS * @package Pandora FMS
* @subpackage Tools * @subpackage Operation
* @version 1.0.0 * @version 1.0.0
* @license See below * @license See below
* *
@ -14,9 +14,15 @@
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______| * |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
* *
* ============================================================================ * ============================================================================
* Copyright (c) 2007-2022 Artica Soluciones Tecnologicas, http://www.artica.es * Copyright (c) 2005-2023 Artica Soluciones Tecnologicas
* This code is NOT free software. This code is NOT licenced under GPL2 licence * Please see http://pandorafms.org for full contribution list
* You cannnot redistribute it without written permission of copyright holder. * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================ * ============================================================================
*/ */
@ -38,9 +44,25 @@ if (!check_acl($config['id_user'], 0, 'RR')) {
ui_require_javascript_file('calendar'); ui_require_javascript_file('calendar');
// Header. // Header.
ui_print_page_header(__('Export data'), 'images/server_export_mc.png'); ui_print_standard_header(
__('Export data'),
'images/server_export_mc.png',
false,
'',
false,
[],
[
[
'link' => '',
'label' => __('Tools'),
],
[
'link' => '',
'label' => __('Export data'),
],
]
);
$group = get_parameter_post('group', 0); $group = get_parameter_post('group', 0);
$agentName = get_parameter_post('agent', 0); $agentName = get_parameter_post('agent', 0);
@ -220,48 +242,10 @@ if (!empty($export_btn) && !empty($module)) {
} }
if (empty($export_btn) || $show_form) { if (empty($export_btn) || $show_form) {
echo '<form method="post" action="index.php?sec=reporting&amp;sec2=operation/agentes/exportdata" name="export_form" id="export_form">';
$table = new stdClass();
$table->width = '100%';
$table->border = 0;
$table->cellspacing = 3;
$table->cellpadding = 5;
$table->class = 'databox filters';
$table->style[0] = 'vertical-align: top;';
$table->data = [];
// Group selector
$table->data[0][0] = '<b>'.__('Group').'</b>';
$groups = users_get_groups($config['id_user'], 'RR', users_can_manage_group_all()); $groups = users_get_groups($config['id_user'], 'RR', users_can_manage_group_all());
$table->data[0][1] = '<div class="w250px">'.html_print_select_groups(
$config['id_user'],
'RR',
true,
'group',
$group,
'',
'',
0,
true,
false,
true,
'',
false
).'</div>';
// Agent selector.
$table->data[1][0] = '<b>'.__('Source agent').'</b>';
$filter = []; $filter = [];
if ($group > 0) { $filter['id_grupo'] = ($group > 0) ? (array) $group : array_keys($groups);
$filter['id_grupo'] = (array) $group;
} else {
$filter['id_grupo'] = array_keys($groups);
}
$agents = []; $agents = [];
$rows = agents_get_agents($filter, false, 'RR'); $rows = agents_get_agents($filter, false, 'RR');
@ -286,11 +270,6 @@ if (empty($export_btn) || $show_form) {
$params['add_none_module'] = false; $params['add_none_module'] = false;
$params['size'] = 38; $params['size'] = 38;
$params['selectbox_id'] = 'module_arr'; $params['selectbox_id'] = 'module_arr';
$table->data[1][1] = ui_print_agent_autocomplete_input($params);
// Module selector.
$table->data[2][0] = '<b>'.__('Modules').'</b>';
$table->data[2][0] .= ui_print_help_tip(__('No modules of type string. You can not calculate their average'), true);
if ($agent > 0) { if ($agent > 0) {
$modules = agents_get_modules($agent); $modules = agents_get_modules($agent);
@ -325,91 +304,170 @@ if (empty($export_btn) || $show_form) {
$disabled_export_button = true; $disabled_export_button = true;
} }
$table->data[2][1] = html_print_select($modules, 'module_arr[]', array_keys($modules), '', '', 0, true, true, true, 'w250px', false);
// Start date selector.
$table->data[3][0] = '<b>'.__('Begin date').'</b>';
$table->data[3][1] = html_print_input_text(
'start_date',
date('Y-m-d', (get_system_time() - SECONDS_1DAY)),
false,
13,
10,
true
);
$table->data[3][1] .= html_print_image(
'images/calendar_view_day.png',
true,
[
'alt' => 'calendar',
'onclick' => "scwShow(scwID('text-start_date'),this);",
'class' => 'invert_filter',
]
);
$table->data[3][1] .= html_print_input_text(
'start_time',
date('H:i:s', (get_system_time() - SECONDS_1DAY)),
false,
10,
9,
true
);
// End date selector.
$table->data[4][0] = '<b>'.__('End date').'</b>';
$table->data[4][1] = html_print_input_text(
'end_date',
date('Y-m-d', get_system_time()),
false,
13,
10,
true
);
$table->data[4][1] .= html_print_image(
'images/calendar_view_day.png',
true,
[
'alt' => 'calendar',
'onclick' => "scwShow(scwID('text-end_date'),this);",
'class' => 'invert_filter',
]
);
$table->data[4][1] .= html_print_input_text(
'end_time',
date('H:i:s', get_system_time()),
false,
10,
9,
true
);
// Export type.
$table->data[5][0] = '<b>'.__('Export type').'</b>';
$export_types = []; $export_types = [];
$export_types['data'] = __('Data table'); $export_types['data'] = __('Data table');
$export_types['csv'] = __('CSV'); $export_types['csv'] = __('CSV');
$export_types['excel'] = __('MS Excel'); $export_types['excel'] = __('MS Excel');
$export_types['avg'] = __('Average per hour/day'); $export_types['avg'] = __('Average per hour/day');
$table->data[5][1] = html_print_select($export_types, 'export_type', $export_type, '', '', 0, true, false, true, 'w250px', false);
echo '<form method="post" action="index.php?sec=reporting&amp;sec2=operation/agentes/exportdata" name="export_form" id="export_form">';
$table = new stdClass();
$table->width = '100%';
$table->border = 0;
$table->cellspacing = 3;
$table->cellpadding = 5;
$table->class = 'databox filter-table-adv';
$table->style[0] = 'vertical-align: top;';
$table->data = [];
// Group selector.
$table->data[0][] = html_print_label_input_block(
__('Group'),
html_print_select_groups(
$config['id_user'],
'RR',
true,
'group',
$group,
'',
'',
0,
true,
false,
true,
'',
false
)
);
// Agent selector.
$table->data[0][] = html_print_label_input_block(
__('Source agent'),
ui_print_agent_autocomplete_input($params)
);
// Module selector.
$table->data[1][] = html_print_label_input_block(
__('Modules'),
html_print_select(
$modules,
'module_arr[]',
array_keys($modules),
'',
'',
0,
true,
true,
true,
'w100p',
false
).ui_print_input_placeholder(
__('No modules of type string. You can not calculate their average'),
true
)
);
// Export type.
$table->data[1][] = html_print_label_input_block(
__('Export type'),
html_print_select(
$export_types,
'export_type',
$export_type,
'',
'',
0,
true,
false,
true,
'w100p',
false
)
);
// Start date selector.
$table->data[2][] = html_print_label_input_block(
__('Begin date'),
html_print_div(
[
'class' => 'flex-content',
'content' => html_print_input_text(
'start_date',
date('Y-m-d', (get_system_time() - SECONDS_1DAY)),
false,
13,
10,
true
).html_print_image(
'images/calendar_view_day.png',
true,
[
'alt' => 'calendar',
'onclick' => "scwShow(scwID('text-start_date'),this);",
'class' => 'main_menu_icon invert_filter',
]
).html_print_input_text(
'start_time',
date('H:i:s', (get_system_time() - SECONDS_1DAY)),
false,
10,
9,
true
),
],
true
)
);
// End date selector.
$table->data[2][] = html_print_label_input_block(
__('End date'),
html_print_div(
[
'class' => 'flex-content',
'content' => html_print_input_text(
'end_date',
date('Y-m-d', get_system_time()),
false,
13,
10,
true
).html_print_image(
'images/calendar_view_day.png',
true,
[
'alt' => 'calendar',
'onclick' => "scwShow(scwID('text-end_date'),this);",
'class' => 'main_menu_icon invert_filter',
]
).html_print_input_text(
'end_time',
date('H:i:s', get_system_time()),
false,
10,
9,
true
),
],
true
),
);
html_print_table($table); html_print_table($table);
// Submit button. // Submit button.
html_print_div( html_print_action_buttons(
[ html_print_button(
'class' => 'action-buttons', __('Export'),
'content' => html_print_button( 'export_btn',
__('Export'), false,
'export_btn', 'change_action()',
false, ['icon' => 'wand'],
'change_action()', true
['icon' => 'wand'], )
true
),
]
); );
echo '</form>'; echo '</form>';

View File

@ -289,12 +289,12 @@ if (empty($result_groups) === false) {
echo "<td class='group_view_data center vertical_middle'>"; echo "<td class='group_view_data center vertical_middle'>";
if (!isset($data['_is_tag_']) && check_acl($config['id_user'], $data['_id_'], 'AW')) { if (!isset($data['_is_tag_']) && check_acl($config['id_user'], $data['_id_'], 'AW')) {
echo '<a href="index.php?sec=estado&sec2=operation/agentes/group_view&update_netgroup='.$data['_id_'].'">'.html_print_image( echo '<a href="index.php?sec=estado&sec2=operation/agentes/group_view&update_netgroup='.$data['_id_'].'">'.html_print_image(
'images/target.png', 'images/change-active.svg',
true, true,
[ [
'border' => '0', 'border' => '0',
'title' => __('Force'), 'title' => __('Force'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
} }

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
@ -64,11 +64,11 @@ if ($group_sent === true) {
$is_ajax = is_ajax(); $is_ajax = is_ajax();
if ($is_ajax === false && $pure === false) { if ($is_ajax === false && $pure === false) {
$viewtab['config'] = '<a id="config" href="">'.html_print_image( $viewtab['config'] = '<a id="config" href="">'.html_print_image(
'images/setup.png', 'images/configuration@svg.svg',
true, true,
[ [
'title' => __('Config'), 'title' => __('Config'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
@ -81,11 +81,11 @@ if ($is_ajax === false && $pure === false) {
); );
$viewtab['full_screen'] = '<a id="full_screen" href="'.$url.'">'.html_print_image( $viewtab['full_screen'] = '<a id="full_screen" href="'.$url.'">'.html_print_image(
'images/full_screen.png', 'images/fullscreen@svg.svg',
true, true,
[ [
'title' => __('Full screen'), 'title' => __('Full screen'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
@ -208,11 +208,11 @@ if ($is_ajax === false && $pure === true) {
echo '<a href="'.$urlNoFull.'">'; echo '<a href="'.$urlNoFull.'">';
echo html_print_image( echo html_print_image(
'images/normal_screen.png', 'images/exit_fullscreen@svg.svg',
true, true,
[ [
'title' => __('Back to normal mode'), 'title' => __('Back to normal mode'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
echo '</a>'; echo '</a>';

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
@ -52,7 +52,7 @@ $buttons['message_list'] = [
true, true,
[ [
'title' => __('Received messages'), 'title' => __('Received messages'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>', ).'</a>',
]; ];
@ -64,7 +64,7 @@ $buttons['sent_messages'] = [
true, true,
[ [
'title' => __('Sent messages'), 'title' => __('Sent messages'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>', ).'</a>',
]; ];
@ -76,7 +76,7 @@ $buttons['create_message'] = [
true, true,
[ [
'title' => __('Create message'), 'title' => __('Create message'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>', ).'</a>',
]; ];
@ -218,11 +218,8 @@ if ($read_message) {
true true
); );
html_print_div( html_print_action_buttons(
[ $outputButtons
'class' => 'action-buttons',
'content' => $outputButtons,
],
); );
return; return;
@ -264,18 +261,6 @@ if ($send_mes === true) {
// User info. // User info.
$own_info = get_user_info($config['id_user']); $own_info = get_user_info($config['id_user']);
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filters';
$table->data = [];
$table->data[0][0] = __('Sender');
$table->data[0][1] = (empty($own_info['fullname']) === false) ? $own_info['fullname'] : $config['id_user'];
$table->data[1][0] = __('Destination');
$is_admin = (bool) db_get_value( $is_admin = (bool) db_get_value(
'is_admin', 'is_admin',
'tusuario', 'tusuario',
@ -305,15 +290,29 @@ foreach ($users_full as $user_id => $user_info) {
$users[$user_info['id_user']] = (empty($user_info['fullname']) === true) ? $user_info['id_user'] : $user_info['fullname']; $users[$user_info['id_user']] = (empty($user_info['fullname']) === true) ? $user_info['id_user'] : $user_info['fullname'];
} }
$table = new stdClass();
$table->id = 'send_message_table';
$table->width = '100%';
$table->class = 'databox max_floating_element_size filter-table-adv';
$table->style = [];
$table->style[0] = 'width: 30%';
$table->style[1] = 'width: 70%';
$table->data = [];
$table->data[0][] = html_print_label_input_block(
__('Sender'),
'<span class="result_info_text">'.((empty($own_info['fullname']) === false) ? $own_info['fullname'] : $config['id_user']).'</span>'
);
// Check if the user to reply is in the list, if not add reply user. // Check if the user to reply is in the list, if not add reply user.
if ($reply === true) { if ($reply === true) {
$table->data[1][1] = (array_key_exists($dst_user, $users) === true) ? $users[$dst_user] : $dst_user; $destinationInputs = (array_key_exists($dst_user, $users) === true) ? $users[$dst_user] : $dst_user;
$table->data[1][1] .= html_print_input_hidden( $destinationInputs .= html_print_input_hidden(
'dst_user', 'dst_user',
$dst_user, $dst_user,
true true
); );
$table->data[1][1] .= html_print_input_hidden( $destinationInputs .= html_print_input_hidden(
'replied', 'replied',
'1', '1',
true true
@ -324,21 +323,27 @@ if ($reply === true) {
$groups = users_get_groups($config['id_user'], 'AR'); $groups = users_get_groups($config['id_user'], 'AR');
// Get a list of all groups. // Get a list of all groups.
$table->data[1][1] = html_print_select( $destinationInputs = html_print_div(
$users,
'dst_user',
$dst_user,
'changeStatusOtherSelect(\'dst_user\', \'dst_group\')',
__('Select user'),
false,
true,
false,
''
);
$table->data[1][1] .= '&nbsp;&nbsp;'.__('OR').'&nbsp;&nbsp;';
$table->data[1][1] .= html_print_div(
[ [
'class' => 'w250px inline', 'class' => 'select_users mrgn_right_5px',
'content' => html_print_select(
$users,
'dst_user',
$dst_user,
'changeStatusOtherSelect(\'dst_user\', \'dst_group\')',
__('Select user'),
false,
true,
false,
''
),
],
true
);
$destinationInputs .= __('OR');
$destinationInputs .= html_print_div(
[
'class' => 'mrgn_lft_5px',
'content' => html_print_select_groups( 'content' => html_print_select_groups(
$config['id_user'], $config['id_user'],
'AR', 'AR',
@ -355,24 +360,41 @@ if ($reply === true) {
); );
} }
$table->data[2][0] = __('Subject'); $table->data[0][] = html_print_label_input_block(
$table->data[2][1] = html_print_input_text( __('Destination'),
'subject', html_print_div(
$subject, [
'', 'class' => 'flex-content-left',
50, 'content' => $destinationInputs,
70, ],
true true
)
); );
$table->data[3][0] = __('Message'); $table->colspan[1][] = 2;
$table->data[3][1] = html_print_textarea( $table->data[1][] = html_print_label_input_block(
'message', __('Subject'),
15, html_print_input_text(
255, 'subject',
$message, $subject,
'', '',
true 50,
70,
true
)
);
$table->colspan[2][] = 2;
$table->data[2][] = html_print_label_input_block(
__('Message'),
html_print_textarea(
'message',
15,
50,
$message,
'',
true
)
); );
$jsOutput = ''; $jsOutput = '';
@ -396,17 +418,14 @@ echo '<form method="post" action="index.php?sec=message_list&amp;sec2=operation/
// Print the main table. // Print the main table.
html_print_table($table); html_print_table($table);
// Print the action buttons section. // Print the action buttons section.
html_print_div( html_print_action_buttons(
[ html_print_submit_button(
'class' => 'action-buttons', __('Send message'),
'content' => html_print_submit_button( 'send_mes',
__('Send message'), false,
'send_mes', [ 'icon' => 'wand' ],
false, true
[ 'icon' => 'wand' ], )
true
),
]
); );
echo '</form>'; echo '</form>';

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
@ -206,26 +206,37 @@ if (empty($messages) === true) {
$data[0] = ''; $data[0] = '';
if ($message['read'] == 1) { if ($message['read'] == 1) {
if ($show_sent === true) { if ($show_sent === true) {
$data[0] .= '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_edit&read_message=1&amp;show_sent=1&amp;id_message='.$message_id.'">'; $pathRead = 'index.php?sec=message_list&amp;sec2=operation/messages/message_edit&read_message=1&amp;show_sent=1&amp;id_message='.$message_id;
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Click to read'), 'class' => 'invert_filter']); $titleRead = __('Click to read');
$data[0] .= '</a>';
} else { } else {
$data[0] .= '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_list&amp;mark_unread=1&amp;id_message='.$message_id.'">'; $pathRead = 'index.php?sec=message_list&amp;sec2=operation/messages/message_list&amp;mark_unread=1&amp;id_message='.$message_id;
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Mark as unread'), 'class' => 'invert_filter']); $titleRead = __('Mark as unread');
$data[0] .= '</a>';
} }
} else { } else {
if ($show_sent === true) { if ($show_sent === true) {
$data[0] .= '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&amp;show_sent=1&amp;id_message='.$message_id.'">'; $pathRead = 'index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&amp;show_sent=1&amp;id_message='.$message_id;
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Message unread - click to read'), 'class' => 'invert_filter']); $titleRead = __('Message unread - click to read');
$data[0] .= '</a>';
} else { } else {
$data[0] .= '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&amp;id_message='.$message_id.'">'; $pathRead = 'index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&amp;id_message='.$message_id;
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Message unread - click to read'), 'class' => 'invert_filter']); $titleRead = __('Message unread - click to read');
$data[0] .= '</a>';
} }
} }
$data[0] = html_print_anchor(
[
'href' => $pathRead,
'content' => html_print_image(
'images/email_inbox.png',
true,
[
'title' => $titleRead,
'class' => 'main_menu_icon invert_filter',
],
),
],
true
);
if ($show_sent === true) { if ($show_sent === true) {
$dest_user = get_user_fullname($message['dest']); $dest_user = get_user_fullname($message['dest']);
if (!$dest_user) { if (!$dest_user) {
@ -243,18 +254,24 @@ if (empty($messages) === true) {
} }
if ($show_sent === true) { if ($show_sent === true) {
$data[2] = '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&show_sent=1&amp;id_message='.$message_id.'">'; $pathSubject = 'index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&show_sent=1&amp;id_message='.$message_id;
} else { } else {
$data[2] = '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&amp;id_message='.$message_id.'">'; $pathSubject = 'index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&amp;id_message='.$message_id;
} }
if ($message['subject'] == '') { $contentSubject = (empty($message['subject']) === true) ? __('No Subject') : $message['subject'];
$data[2] .= __('No Subject');
} else { if ((int) $message['read'] !== 1) {
$data[2] .= $message['subject']; $contentSubject = '<strong>'.$contentSubject.'</strong>';
} }
$data[2] .= '</a>'; $data[2] .= html_print_anchor(
[
'href' => $pathSubject,
'content' => $contentSubject,
],
true
);
$data[3] = ui_print_timestamp( $data[3] = ui_print_timestamp(
$message['timestamp'], $message['timestamp'],
@ -264,13 +281,27 @@ if (empty($messages) === true) {
$table->cellclass[][4] = 'table_action_buttons'; $table->cellclass[][4] = 'table_action_buttons';
if ($show_sent === true) { if ($show_sent === true) {
$data[4] = '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_list&show_sent=1&delete_message=1&id='.$message_id.'" $pathDelete = 'index.php?sec=message_list&amp;sec2=operation/messages/message_list&show_sent=1&delete_message=1&id='.$message_id;
onClick="javascript:if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/cross.png', true, ['title' => __('Delete'), 'class' => 'invert_filter']).'</a>';
} else { } else {
$data[4] = '<a href="index.php?sec=message_list&amp;sec2=operation/messages/message_list&delete_message=1&id='.$message_id.'" $pathDelete = 'index.php?sec=message_list&amp;sec2=operation/messages/message_list&delete_message=1&id='.$message_id;
onClick="javascript:if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/cross.png', true, ['title' => __('Delete'), 'class' => 'invert_filter']).'</a>';
} }
$data[4] = html_print_anchor(
[
'href' => $pathDelete,
'content' => html_print_image(
'images/delete.svg',
true,
[
'title' => __('Delete'),
'class' => 'main_menu_icon invert_filter',
]
),
'onClick' => 'javascript:if (!confirm(\''.__('Are you sure?').'\')) return false;',
],
true
);
array_push($table->data, $data); array_push($table->data, $data);
} }
} }
@ -312,11 +343,8 @@ if (empty($messages) === false) {
echo '<form id="create_message_form" method="post" class="float-right" action="index.php?sec=message_list&sec2=operation/messages/message_edit"></form>'; echo '<form id="create_message_form" method="post" class="float-right" action="index.php?sec=message_list&sec2=operation/messages/message_edit"></form>';
html_print_div( html_print_action_buttons(
[ $outputButton
'class' => 'action-buttons',
'content' => $outputButton,
]
); );
?> ?>

View File

@ -226,77 +226,52 @@ ui_print_standard_header(
// ------------------- END HEADER --------------------------------------- // ------------------- END HEADER ---------------------------------------
// ------------------------ INIT FORM ----------------------------------- // ------------------------ INIT FORM -----------------------------------
$table = new stdClass(); $table2 = new stdClass();
$table->id = 'controls_table'; $table2->id = 'controls_table';
$table->width = '100%'; $table2->size[2] = '50%';
$table->class = 'filter-table-adv'; $table2->size[3] = '50%';
$table2->style[0] = 'text-align:center';
$table2->style[1] = 'text-align:center';
$table2->styleTable = 'border:none';
if (defined('METACONSOLE')) { if (defined('METACONSOLE')) {
$table->width = '100%'; $table2->width = '100%';
$table->class = 'databox filters'; $table2->class = 'databox filters';
$table->head[0] = __('View Report'); $table2->head[0] = __('View Report');
$table->head_colspan[0] = 5; $table2->head_colspan[0] = 5;
$table->headstyle[0] = 'text-align: center'; $table2->headstyle[0] = 'text-align: center';
} }
$table->style = [];
$table->style[0] = 'vertical-align: middle';
$table->rowspan[0][0] = 2;
// Set initial conditions for these controls, later will be modified by javascript // Set initial conditions for these controls, later will be modified by javascript
if (!$enable_init_date) { if (!$enable_init_date) {
$table->style[1] = 'display: none';
$table->style[2] = 'display: flex;align-items: baseline;';
$display_to = 'none'; $display_to = 'none';
$display_item = ''; $display_item = '';
} else { } else {
$table->style[1] = 'display: "block"';
$table->style[2] = 'display: flex;align-items: baseline;';
$display_to = ''; $display_to = '';
$display_item = 'none'; $display_item = 'none';
} }
$table->size = [];
$table->colspan[0][1] = 2;
$table->data = [];
$table->data[0][0] = html_print_image(
'images/reporting32.png',
true,
[
'width' => '32',
'height' => '32',
]
);
if (reporting_get_description($id_report)) {
$table->data[0][1] = '<div class="float-left">'.reporting_get_description($id_report).'</div>';
} else {
$table->data[0][1] = '<div class="float-left">'.reporting_get_name($id_report).'</div>';
}
$table->data[0][1] .= '<div class="float-right">'.__('Set initial date').html_print_checkbox('enable_init_date', 1, $enable_init_date, true).'</br>';
$html_menu_export = enterprise_hook('reporting_print_button_export'); $html_menu_export = enterprise_hook('reporting_print_button_export');
if ($html_menu_export === ENTERPRISE_NOT_HOOK) { if ($html_menu_export === ENTERPRISE_NOT_HOOK) {
$html_menu_export = ''; $html_menu_export = '';
} }
$table->data[0][1] .= '</div>'; $table2->data[0][2] = '<div><span class="font-title-font">'.__('Set initial date').'</span><br>'.html_print_checkbox_switch('enable_init_date', 1, $enable_init_date, true).'</div><br>';
$table->data[0][1] .= $html_menu_export; $table2->data[0][2] .= '<div style="display:'.$display_to.'" id="string_from"><div><span class="font-title-font">'.__('From').':</span></div>';
$table2->data[0][2] .= html_print_input_text('date_init', $date_init, '', 12, 10, true).' ';
$table2->data[0][2] .= html_print_input_text('time_init', $time_init, '', 10, 7, true).' ';
$table2->data[0][2] .= '</div><div style="display:'.$display_item.'" id="string_items"><span class="font-title-font">'.__('Items period before').':</span></div>';
$table2->data[0][2] .= '<div style="display:'.$display_to.'" id="string_to"><span class="font-title-font">'.__('to').':</span></div>';
$table2->data[0][2] .= html_print_input_text('date', $date, '', 12, 10, true).' ';
$table2->data[0][2] .= html_print_input_text('time', $time, '', 10, 7, true).' ';
$table2->data[0][3] = $html_menu_export;
$table->data[1][1] = '<div>'.__('From').': </div>';
$table->data[1][1] .= html_print_input_text('date_init', $date_init, '', 12, 10, true).' ';
$table->data[1][1] .= html_print_input_text('time_init', $time_init, '', 10, 7, true).' ';
$table->data[1][2] = '<div style="display:'.$display_item.'" id="string_items">'.__('Items period before').':</div>';
$table->data[1][2] .= '<div style="display:'.$display_to.'" id="string_to">'.__('to').':</div>';
$table->data[1][2] .= html_print_input_text('date', $date, '', 12, 10, true).' ';
$table->data[1][2] .= html_print_input_text('time', $time, '', 10, 7, true).' ';
$searchForm = '<form method="post" action="'.$url.'&pure='.$config['pure'].'" class="mrgn_right_0px">'; $searchForm = '<form method="post" action="'.$url.'&pure='.$config['pure'].'" class="mrgn_right_0px">';
$searchForm .= html_print_table($table, true); $searchForm .= html_print_table($table2, true);
$searchForm .= html_print_input_hidden('id_report', $id_report, true); $searchForm .= html_print_input_hidden('id_report', $id_report, true);
$Actionbuttons .= html_print_submit_button( $Actionbuttons .= html_print_submit_button(
@ -354,10 +329,6 @@ for ($i = 0; $i < count($report['contents']); $i++) {
reporting_html_print_report($report, false, $config['custom_report_info']); reporting_html_print_report($report, false, $config['custom_report_info']);
// ----------------------------------------------------------------------
// The rowspan of the first row is only 2 in controls table. Why is used the same code here and in the items??
$table->rowspan[0][0] = 1;
echo '<div id="loading" class="center">'; echo '<div id="loading" class="center">';
echo html_print_image('images/wait.gif', true, ['border' => '0']); echo html_print_image('images/wait.gif', true, ['border' => '0']);
echo '<strong>'.__('Loading').'...</strong>'; echo '<strong>'.__('Loading').'...</strong>';
@ -387,16 +358,15 @@ $(document).ready (function () {
secondText: '<?php echo __('Second'); ?>', secondText: '<?php echo __('Second'); ?>',
currentText: '<?php echo __('Now'); ?>', currentText: '<?php echo __('Now'); ?>',
closeText: '<?php echo __('Close'); ?>'}); closeText: '<?php echo __('Close'); ?>'});
$.datepicker.setDefaults($.datepicker.regional[ "<?php echo get_user_language(); ?>"]); $.datepicker.setDefaults($.datepicker.regional[ "<?php echo get_user_language(); ?>"]);
$("#text-date").datepicker({ $("#text-date").datepicker({
dateFormat: "<?php echo DATE_FORMAT_JS; ?>", dateFormat: "<?php echo DATE_FORMAT_JS; ?>",
changeMonth: true, changeMonth: true,
changeYear: true, changeYear: true,
showAnim: "slideDown"}); showAnim: "slideDown"});
$('[id^=text-time_init]').timepicker({ $('[id^=text-time_init]').timepicker({
showSecond: true, showSecond: true,
timeFormat: '<?php echo TIME_FORMAT_JS; ?>', timeFormat: '<?php echo TIME_FORMAT_JS; ?>',
@ -407,29 +377,23 @@ $(document).ready (function () {
secondText: '<?php echo __('Second'); ?>', secondText: '<?php echo __('Second'); ?>',
currentText: '<?php echo __('Now'); ?>', currentText: '<?php echo __('Now'); ?>',
closeText: '<?php echo __('Close'); ?>'}); closeText: '<?php echo __('Close'); ?>'});
$('[id^=text-date_init]').datepicker ({ $('[id^=text-date_init]').datepicker ({
dateFormat: "<?php echo DATE_FORMAT_JS; ?>", dateFormat: "<?php echo DATE_FORMAT_JS; ?>",
changeMonth: true, changeMonth: true,
changeYear: true, changeYear: true,
showAnim: "slideDown"}); showAnim: "slideDown"});
$("*", "#controls_table-0").css("display", ""); //Re-show the first row of form.
/* Show/hide begin date reports controls */ /* Show/hide begin date reports controls */
$("#checkbox-enable_init_date").click(function() { $("#checkbox-enable_init_date").click(function() {
flag = $("#checkbox-enable_init_date").is(':checked'); flag = $("#checkbox-enable_init_date").is(':checked');
if (flag == true) { if (flag == true) {
$("#controls_table-1-1").css("display", "");
$("#controls_table-1-2").css("display", "");
$("#string_to").show(); $("#string_to").show();
$('#string_from').show();
$("#string_items").hide(); $("#string_items").hide();
} } else {
else {
$("#controls_table-1-1").css("display", "none");
$("#controls_table-1-2").css("display", "");
$("#string_to").hide(); $("#string_to").hide();
$('#string_from').hide();
$("#string_items").show(); $("#string_items").show();
} }
}); });

View File

@ -50,11 +50,11 @@ if ($config['pure']) {
// Windowed. // Windowed.
$link['text'] = '<a target="_top" href="'.$url.'&pure=0&refr=30">'; $link['text'] = '<a target="_top" href="'.$url.'&pure=0&refr=30">';
$link['text'] .= html_print_image( $link['text'] .= html_print_image(
'images/normal_screen.png', 'images/exit_fullscreen@svg.svg',
true, true,
[ [
'title' => __('Normal screen'), 'title' => __('Normal screen'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$link['text'] .= '</a>'; $link['text'] .= '</a>';
@ -62,11 +62,11 @@ if ($config['pure']) {
// Fullscreen. // Fullscreen.
$link['text'] = '<a target="_top" href="'.$url.'&pure=1&refr=0">'; $link['text'] = '<a target="_top" href="'.$url.'&pure=1&refr=0">';
$link['text'] .= html_print_image( $link['text'] .= html_print_image(
'images/full_screen.png', 'images/fullscreen@svg.svg',
true, true,
[ [
'title' => __('Full screen'), 'title' => __('Full screen'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$link['text'] .= '</a>'; $link['text'] .= '</a>';

View File

@ -39,20 +39,20 @@ $refr = (int) get_parameter('refr', 0);
$fullscreen = []; $fullscreen = [];
if ($config['pure']) { if ($config['pure']) {
$fullscreen['text'] = '<a target="_top" href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure=0&refr='.$refr.'">'.html_print_image( $fullscreen['text'] = '<a target="_top" href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure=0&refr='.$refr.'">'.html_print_image(
'images/normal_screen.png', 'images/exit_fullscreen@svg.svg',
true, true,
[ [
'title' => __('Normal screen'), 'title' => __('Normal screen'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
} else { } else {
$fullscreen['text'] = '<a target="_top" href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure=1&refr='.$refr.'">'.html_print_image( $fullscreen['text'] = '<a target="_top" href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure=1&refr='.$refr.'">'.html_print_image(
'images/full_screen.png', 'images/fullscreen@svg.svg',
true, true,
[ [
'title' => __('Full screen'), 'title' => __('Full screen'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
} }
@ -60,11 +60,11 @@ if ($config['pure']) {
// List // List
$list = []; $list = [];
$list['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_view&pure='.$config['pure'].'&refresh='.$refr.'">'.html_print_image( $list['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_view&pure='.$config['pure'].'&refresh='.$refr.'">'.html_print_image(
'images/op_snmp.png', 'images/SNMP-network-numeric-data@svg.svg',
true, true,
[ [
'title' => __('List'), 'title' => __('List'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';
@ -72,11 +72,11 @@ $list['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_v
$statistics = []; $statistics = [];
$statistics['active'] = true; $statistics['active'] = true;
$statistics['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure='.$config['pure'].'&refr='.$refr.'">'.html_print_image( $statistics['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_statistics&pure='.$config['pure'].'&refr='.$refr.'">'.html_print_image(
'images/op_reporting.png', 'images/logs@svg.svg',
true, true,
[ [
'title' => __('Statistics'), 'title' => __('Statistics'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>'; ).'</a>';

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

View File

@ -77,28 +77,28 @@ if (is_metaconsole()) {
user_meta_print_header(); user_meta_print_header();
$urls['main'] = 'index.php?sec=advanced&amp;sec2=advanced/users_setup&amp;tab=user_edit'; $urls['main'] = 'index.php?sec=advanced&amp;sec2=advanced/users_setup&amp;tab=user_edit';
} else { } else {
$urls['main'] = 'index.php?sec=workspace&amp;sec2=operation/users/user_edit'; $urls['main'] = 'index.php?sec=gusuarios&sec2=godmode/users/user_list';
$urls['notifications'] = 'index.php?sec=workspace&amp;sec2=operation/users/user_edit_notifications'; $urls['notifications'] = 'index.php?sec=workspace&amp;sec2=operation/users/user_edit_notifications';
$buttons = [ $buttons = [
'main' => [ 'main' => [
'active' => $_GET['sec2'] === 'operation/users/user_edit', 'active' => $_GET['sec2'] === 'godmode/users/user_list&tab=user&pure=0',
'text' => "<a href='{$urls['main']}'>".html_print_image( 'text' => "<a href='{$urls['main']}'>".html_print_image(
'images/user.png', 'images/user.svg',
true, true,
[ [
'title' => __('User management'), 'title' => __('User management'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>', ).'</a>',
], ],
'notifications' => [ 'notifications' => [
'active' => $_GET['sec2'] === 'operation/users/user_edit_notifications', 'active' => $_GET['sec2'] === 'operation/users/user_edit_notifications',
'text' => "<a href='{$urls['notifications']}'>".html_print_image( 'text' => "<a href='{$urls['notifications']}'>".html_print_image(
'images/alerts_template.png', 'images/alert@svg.svg',
true, true,
[ [
'title' => __('User notifications'), 'title' => __('User notifications'),
'class' => 'invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
).'</a>', ).'</a>',
], ],

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
@ -58,7 +58,7 @@ if (get_parameter('change_label', 0)) {
} }
echo '<div id="user-notifications-wrapper" class="white_box table_div table_three_columns"> echo '<div id="user-notifications-wrapper" class="white_box table_div table_three_columns padding-2">
<div class="table_thead"> <div class="table_thead">
<div class="table_th"></div> <div class="table_th"></div>
<div class="table_th">'.__('Enable').'</div> <div class="table_th">'.__('Enable').'</div>
@ -91,8 +91,9 @@ foreach ($sources as $source) {
} }
if ((bool) $disabled_flag === true) { if ((bool) $disabled_flag === true) {
$s = __('Controls have been disabled by the system administrator'); ui_print_warning_message(
echo '<span class="bolder color_ff0">'.$s.'</span>'; __('Controls have been disabled by the system administrator')
);
} }
echo '</div>'; echo '</div>';

View File

@ -34,19 +34,19 @@ if (\is_metaconsole() === true) {
\alerts_meta_print_header($tabs); \alerts_meta_print_header($tabs);
} else { } else {
// Header. // Header.
\ui_print_page_header( \ui_print_standard_header(
// Title. __('Alerts'),
__('Calendars Edit'),
// Icon.
'images/gm_alerts.png', 'images/gm_alerts.png',
// Return.
false, false,
// Help.
'alert_special_days', 'alert_special_days',
// Godmode.
true, true,
// Options. $tabs,
$tabs [
[
'link' => '',
'label' => __('Calendars Edit'),
],
]
); );
} }
@ -114,19 +114,24 @@ $inputs[] = [
'rows' => 50, 'rows' => 50,
'columns' => 30, 'columns' => 30,
], ],
'class' => 'w100p',
]; ];
$button_create = '';
if ($is_management_allowed === true) { if ($is_management_allowed === true) {
// Submit. // Submit.
$inputs[] = [ html_print_action_buttons(
'arguments' => [ html_print_submit_button(
'name' => 'button', (($create === true) ? __('Create') : __('Update')),
'label' => (($create === true) ? __('Create') : __('Update')), 'button',
'type' => 'submit', false,
'attributes' => 'class="sub next"', [
], 'icon' => 'wand',
]; 'form' => 'create_specia_days',
],
true
)
);
} }
// Print form. // Print form.
@ -135,6 +140,8 @@ HTML::printForm(
'form' => [ 'form' => [
'action' => $url.'&op=edit&action=save&id='.$calendar->id(), 'action' => $url.'&op=edit&action=save&id='.$calendar->id(),
'method' => 'POST', 'method' => 'POST',
'id' => 'create_specia_days',
'class' => 'aaaa',
], ],
'inputs' => $inputs, 'inputs' => $inputs,
], ],

View File

@ -101,7 +101,7 @@ try {
[ [
'id' => $tableId, 'id' => $tableId,
'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' => $ajax_url, 'ajax_url' => $ajax_url,
@ -117,12 +117,14 @@ try {
[ [
'label' => __('Free search'), 'label' => __('Free search'),
'type' => 'text', 'type' => 'text',
'class' => 'mw250px', 'class' => 'w25p',
'id' => 'free_search', 'id' => 'free_search',
'name' => 'free_search', 'name' => 'free_search',
], ],
], ],
], ],
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar',
'dom_elements' => 'lftpB',
] ]
); );
} catch (Exception $e) { } catch (Exception $e) {
@ -130,7 +132,7 @@ try {
} }
if ((bool) check_acl($config['id_user'], 0, 'LM') === true) { if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
HTML::printForm( $form_create = HTML::printForm(
[ [
'form' => [ 'form' => [
'action' => $url.'&op=edit', 'action' => $url.'&op=edit',
@ -142,10 +144,12 @@ if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
'name' => 'button', 'name' => 'button',
'label' => __('Create'), 'label' => __('Create'),
'type' => 'submit', 'type' => 'submit',
'attributes' => 'class="sub next"', 'attributes' => ['icon' => 'wand'],
], ],
], ],
], ],
] ],
true
); );
html_print_action_buttons($form_create);
} }

View File

@ -35,19 +35,19 @@ if (\is_metaconsole() === true) {
\alerts_meta_print_header($tabs); \alerts_meta_print_header($tabs);
} else { } else {
// Header. // Header.
\ui_print_page_header( ui_print_standard_header(
// Title. __('Alerts'),
__('Special days'),
// Icon.
'images/gm_alerts.png', 'images/gm_alerts.png',
// Return.
false, false,
// Help.
'alert_special_days', 'alert_special_days',
// Godmode.
true, true,
// Options. $tabs,
$tabs [
[
'link' => '',
'label' => __('Special days'),
],
]
); );
} }
@ -85,6 +85,7 @@ $inputs[] = [
'rows' => 10, 'rows' => 10,
'options' => ['required' => 1], 'options' => ['required' => 1],
], ],
'class' => 'flex flex_column',
]; ];
$days = []; $days = [];
@ -104,6 +105,7 @@ $inputs[] = [
'type' => 'select', 'type' => 'select',
'fields' => $days, 'fields' => $days,
], ],
'class' => 'mrgn_right_20px',
]; ];
// Group. // Group.
@ -114,6 +116,7 @@ $inputs[] = [
'returnAllGroup' => true, 'returnAllGroup' => true,
'name' => 'id_group', 'name' => 'id_group',
], ],
'class' => 'mrgn_right_20px',
]; ];
// Group. // Group.
@ -128,6 +131,7 @@ $inputs[] = [
'id' => 'overwrite', 'id' => 'overwrite',
'disabled_hidden' => true, 'disabled_hidden' => true,
], ],
'class' => 'flex flex_column',
]; ];
// Submit. // Submit.
@ -136,23 +140,39 @@ $inputs[] = [
'name' => 'button', 'name' => 'button',
'label' => __('Upload'), 'label' => __('Upload'),
'type' => 'submit', 'type' => 'submit',
'attributes' => 'class="sub next"', 'attributes' => [
'icon' => 'wand',
'class' => 'mini',
],
], ],
]; ];
if ($is_management_allowed === true) { if ($is_management_allowed === true) {
// Print form. // Print form.
HTML::printForm( $form_upload = HTML::printForm(
[ [
'form' => [ 'form' => [
'action' => $url.'&op=upload_ical&id='.$id_calendar, 'action' => $url.'&op=upload_ical&id='.$id_calendar,
'method' => 'POST', 'method' => 'POST',
'id' => 'icalendar-special-days', 'id' => 'icalendar-special-days',
'enctype' => 'multipart/form-data', 'enctype' => 'multipart/form-data',
'class' => 'calendar-upload-form',
], ],
'inputs' => $inputs, 'inputs' => $inputs,
], ],
false true
);
ui_toggle(
$form_upload,
'<span class="subsection_header_title">'.__('Upload').'</span>',
__('Upload'),
'upload',
true,
false,
'',
'white-box-content no_border',
'filter-datatable-main box-flat white_table_graph fixed_filter_bar '
); );
} }
@ -216,7 +236,7 @@ for ($month = 1; $month <= 12; $month++) {
$cal_table = new stdClass(); $cal_table = new stdClass();
$cal_table->width = '100%'; $cal_table->width = '100%';
$cal_table->class = 'databox data'; $cal_table->class = 'databox data special-days-thead';
$cal_table->data = []; $cal_table->data = [];
$cal_table->head = []; $cal_table->head = [];
@ -238,7 +258,7 @@ for ($month = 1; $month <= 12; $month++) {
$cal_table->size[6] = '14%'; $cal_table->size[6] = '14%';
$cal_table->align = []; $cal_table->align = [];
$cal_table->border = '1'; $cal_table->border = '1';
$cal_table->titlestyle = 'text-align:center; font-weight: bold;'; $cal_table->titlestyle = 'text-align:center;';
switch ($display_month) { switch ($display_month) {
case 1: case 1:
$cal_table->title = __('January'); $cal_table->title = __('January');
@ -467,7 +487,7 @@ for ($month = 1; $month <= 12; $month++) {
} }
if ((bool) check_acl($config['id_user'], 0, 'LM') === true) { if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
HTML::printForm( $form_create = HTML::printForm(
[ [
'form' => [ 'form' => [
'action' => $url.'&op=edit', 'action' => $url.'&op=edit',
@ -479,12 +499,14 @@ if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
'name' => 'button', 'name' => 'button',
'label' => __('Create'), 'label' => __('Create'),
'type' => 'submit', 'type' => 'submit',
'attributes' => 'class="sub next"', 'attributes' => ['icon' => 'wand'],
], ],
], ],
], ],
] ],
true
); );
html_print_action_buttons($form_create);
} }
echo '<div id="modal-alert-templates" class="invisible"></div>'; echo '<div id="modal-alert-templates" class="invisible"></div>';

View File

@ -156,14 +156,18 @@ $inputs[] = [
if ($is_management_allowed === true) { if ($is_management_allowed === true) {
// Submit. // Submit.
$inputs[] = [ html_print_action_buttons(
'arguments' => [ html_print_submit_button(
'name' => 'button', (($create === true) ? __('Create') : __('Update')),
'label' => (($create === true) ? __('Create') : __('Update')), 'button',
'type' => 'submit', false,
'attributes' => 'class="sub next"', [
], 'icon' => 'wand',
]; 'form' => 'form-special-days',
],
true
)
);
} }
// Print form. // Print form.