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;
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]) {
$full_modules = urlencode(implode(';', $full_modules_selected));
$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;
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 {
$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 '<a target="_top" href="'.$url.'">';
echo html_print_image(
'images/normal_screen.png',
'images/exit_fullscreen@svg.svg',
true,
[
'title' => __('Back to normal mode'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
echo '</a>';

View File

@ -1,16 +1,33 @@
<?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
// ==================================================
// 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.
// Begin.
function users_extension_main()
{
users_extension_main_god(false);
@ -34,7 +51,24 @@ function users_extension_main_god($god=true)
}
// 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');
if ($check_profile === false && !users_is_admin()) {

View File

@ -802,7 +802,7 @@ if ($id_agent_module) {
__('Delete'),
'deleteModule',
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',
'mode' => 'secondary',

View File

@ -524,7 +524,7 @@ $data[0] .= html_print_button(
__('Manage credentials'),
'manage_credentials_button',
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' ],
true
);

View File

@ -171,7 +171,7 @@ if (is_ajax()) {
$ffield = $editor_type_chkbx;
$ffield .= html_print_textarea(
'field'.$i.'_value',
1,
5,
1,
'',
'class="fields"',
@ -208,7 +208,7 @@ if (is_ajax()) {
$rfield = $editor_type_chkbx;
$rfield .= html_print_textarea(
'field'.$i.'_recovery_value',
1,
5,
1,
'',
'class="fields_recovery"',
@ -329,7 +329,7 @@ if (is_ajax()) {
$ffield .= html_print_textarea(
'field'.$i.'_value[]',
1,
5,
1,
'',
'style="min-height:40px; '.$style.'" class="fields"',
@ -341,7 +341,7 @@ if (is_ajax()) {
$rfield .= html_print_textarea(
'field'.$i.'_recovery_value[]',
1,
5,
1,
'',
'style="min-height:40px; '.$style.'" class="fields_recovery',
@ -484,7 +484,7 @@ if (is_ajax()) {
} else {
$ffield = html_print_textarea(
'field'.$i.'_value',
1,
5,
1,
$fv[0],
'style="'.$style.'" class="fields min-height-40px"',
@ -494,7 +494,7 @@ if (is_ajax()) {
);
$rfield = html_print_textarea(
'field'.$i.'_recovery_value',
1,
5,
1,
$fv[0],
'style="'.$style.'" class="fields_recovery min-height-40px',
@ -507,7 +507,7 @@ if (is_ajax()) {
} else {
$ffield = html_print_textarea(
'field'.$i.'_value',
1,
5,
1,
'',
'style="'.$style.'" class="fields min-height-40px"',
@ -517,7 +517,7 @@ if (is_ajax()) {
);
$rfield = html_print_textarea(
'field'.$i.'_recovery_value',
1,
5,
1,
'',
'style="'.$style.'" class="fields_recovery min-height-40px"',
@ -533,7 +533,7 @@ if (is_ajax()) {
$fields_rows[$i] = '';
} else {
$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>';
if ($get_recovery_fields) {
$fields_rows[$i] .= '<td class="datos recovery_col">'.$rfield.'</td>';
@ -575,12 +575,19 @@ if ($update_command) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(
__('Alerts').' &raquo; '.__('Alert commands'),
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'',
true
true,
[],
[
[
'link' => '',
'label' => __('Alert commands'),
],
]
);
}
@ -811,10 +818,9 @@ foreach ($commands as $command) {
array_push($table->data, $data);
}
ui_pagination($total_commands, $url);
if (isset($data) === true && count($table->data) > 0) {
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 {
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.
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.'">';
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_action_buttons($buttonSubmit, ['right_content' => $pagination]);
echo '</form>';
echo '</div>';
}
?>

View File

@ -68,12 +68,19 @@ if ($al_action !== false) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(
__('Alerts').' &raquo; '.__('Configure alert action'),
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'alert_config',
true
'',
true,
[],
[
[
'link' => '',
'label' => __('Configure alert action'),
],
]
);
}
} else {
@ -81,12 +88,19 @@ if ($al_action !== false) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(
__('Alerts').' &raquo; '.__('Configure alert action'),
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
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'),
''
);
$table->data[2][1] = html_print_label_input_block(
__('Recovery'),
$table_macros->data[1][0] = html_print_label_input_block(
__('Command preview'),
''
);
$table->data[5][0] = __('Command preview');
$table->data[5][1] = html_print_textarea(
'command_preview',
5,
30,
$table_macros->data[1][1] = html_print_label_input_block(
'',
'disabled="disabled"',
true
html_print_textarea(
'command_preview',
5,
30,
'',
'disabled="disabled"',
true
)
);
$table->data[5][2] = html_print_textarea(
'command_recovery_preview',
5,
30,
$table_macros->data[1][2] = html_print_label_input_block(
'',
'disabled="disabled"',
true
html_print_textarea(
'command_recovery_preview',
5,
30,
'',
'disabled="disabled"',
true
)
);
// Selector will work only with Integria activated.
$integriaIdName = 'integria_wu';
$table->data[$integriaIdName][0] = __('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.'),
true
);
$table->data[$integriaIdName][1] = html_print_checkbox_switch_extended(
'create_wu_integria',
1,
$create_wu_integria,
false,
'',
$disabled_attr,
true
$table_macros->colspan[$integriaIdName][0] = 3;
$table_macros->data[$integriaIdName][0] = html_print_label_input_block(
__('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.'),
true
),
html_print_checkbox_switch_extended(
'create_wu_integria',
1,
$create_wu_integria,
false,
'',
$disabled_attr,
true
)
);
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',
true
);
$table->data['field'.$i][1] = html_print_image(
$table_macros->data['field'.$i][1] = html_print_image(
'images/spinner.gif',
true
);
$table->data['field'.$i][2] = html_print_image(
$table_macros->data['field'.$i][2] = html_print_image(
'images/spinner.gif',
true
);
// 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',
(!empty($action['field'.$i]) || $action['field'.$i] == 0) ? $action['field'.$i] : '',
true,
'',
$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',
(!empty($action['field'.$i.'_recovery']) || $action['field'.$i] == 0) ? $action['field'.$i.'_recovery'] : '',
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">';
$table_html = html_print_table($table, true);
$table_html_macros = html_print_table($table_macros, true);
$backButton = '';
$submitButton = '';
echo $table_html;
echo $table_html_macros;
if ($is_management_allowed === true) {
if ($id) {
html_print_input_hidden('id', $id);

View File

@ -54,12 +54,19 @@ $alert = [];
if (is_metaconsole() === true) {
alerts_meta_print_header();
} else {
ui_print_page_header(
__('Alerts').' &raquo; '.__('Configure alert command'),
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
false,
'',
true
true,
[],
[
[
'link' => '',
'label' => __('Configure alert command'),
],
]
);
}
@ -199,112 +206,23 @@ if ($is_management_allowed === false) {
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filters';
if (is_metaconsole() === true) {
$table->head[0] = ($id) ? __('Update Command') : __('Create Command');
$table->head_colspan[0] = 4;
$table->headstyle[0] = 'text-align: center';
}
$table->class = 'databox filters filter-table-adv';
$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[0] = '20%';
$table->size[0] = '45%';
$table->size[1] = '45%';
$table->size[2] = '10%';
$table->data = [];
$table->colspan['name'][1] = 3;
$table->data['name'][0] = __('Name');
$table->data['name'][2] = html_print_input_text(
'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,
$table->data[0][0] = html_print_label_input_block(
__('Name'),
html_print_input_text(
'name',
$name,
'',
30,
35,
255,
true,
false,
@ -318,12 +236,91 @@ for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
'',
'',
!$is_management_allowed
);
)
);
$table->data['field'.$i][2] = sprintf(__('Field %s values'), $i);
$table->data['field'.$i][2] .= ui_print_help_tip(
__('value1,tag1;value2,tag2;value3,tag3'),
true
if (users_can_manage_group_all('LM') === true) {
$return_all_group = 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) {
@ -338,54 +335,72 @@ for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
$selected = false;
}
$table->data['field'.$i][3] = html_print_input_text(
'field'.$i.'_values',
$field_values,
'',
55,
1000,
true,
false,
false,
'',
'field_value',
'',
'',
false,
'',
'',
'',
!$is_management_allowed
$table->data['field'.$i][1] = html_print_label_input_block(
sprintf(__('Field %s values'), $i).ui_print_help_tip(
__('value1,tag1;value2,tag2;value3,tag3'),
true
),
html_print_input_text(
'field'.$i.'_values',
$field_values,
'',
55,
1000,
true,
false,
false,
'',
'field_value',
'',
'',
false,
'',
'',
'',
!$is_management_allowed
)
);
$table->data['field'.$i][4] = __('Hide');
$table->data['field'.$i][5] = html_print_checkbox_extended(
'field'.$i.'_hide',
1,
$selected,
!$is_management_allowed,
'cursor: \'pointer\'',
'class="hide_inputs"',
true
$table->data['field'.$i][2] = html_print_label_input_block(
__('Hide'),
html_print_checkbox_extended(
'field'.$i.'_hide',
1,
$selected,
!$is_management_allowed,
'cursor: \'pointer\'',
'class="hide_inputs"',
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);
if ($is_management_allowed === true) {
echo '<div class="action-buttons" style="width: '.$table->width.'">';
if ($id) {
html_print_input_hidden('id', $id);
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 {
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>';

View File

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

View File

@ -332,14 +332,16 @@ if ($result === false) {
if ($management_allowed === true) {
// 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] .= html_print_image('images/config.png', true, ['border' => '0', 'title' => __('Update'), 'class' => 'invert_filter']).'</b></a>';
$data[4] = '<div class="table_action_buttons">';
$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.
$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] .= html_print_checkbox_extended('delete_multiple[]', $row['id_module_inventory'], false, false, '', 'class="check_delete"', true);
$data[4] .= '</div>';
}
array_push($table->data, $data);
@ -349,22 +351,50 @@ if ($result === false) {
html_print_input_hidden('multiple_delete', 1);
html_print_table($table);
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) {
$actionButtons[] = html_print_submit_button(__('Delete'), 'delete_btn', false, ['icon' => 'delete', 'mode' => 'secondary', 'form' => 'form_delete'], true);
$actionButtons[] = html_print_submit_button(__('Create'), 'crt', false, ['icon' => 'wand', 'form' => 'form_create'], true);
$actionButtons .= html_print_submit_button(
__('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_input_hidden('create_module_inventory', 1, true);
$actionButtons[] = '<form>';
$actionButtons .= html_print_submit_button(
__('Delete'),
'delete_btn',
false,
[
'icon' => 'delete',
'mode' => 'secondary',
'form' => 'form_delete',
],
true
);
}
html_print_action_buttons(
implode('', $actionButtons),
$actionButtons,
[
'type' => 'form_action',
'right_content' => $tablePagination,

View File

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

View File

@ -615,18 +615,6 @@ $url = ui_get_url_refresh(
true,
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();
@ -656,54 +644,81 @@ foreach ($component_groups as $component_group_key => $component_group_val) {
}
}
$table->data[0][1] = html_print_select(
$component_groups,
'search_id_group',
$search_id_group,
$name_url = 'index.php?sec=templates&sec2=godmode/modules/manage_network_components';
$table = new stdClass();
$table->width = '100%';
$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,
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,
255,
true
'white-box-content',
'box-flat white_table_graph fixed_filter_bar'
);
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 = [];
if ($search_id_group) {
@ -721,7 +736,6 @@ $total_components = network_components_get_network_components(
);
$total_components = $total_components[0]['total'];
$offset_delete = ($offset >= ($total_components - 1)) ? ($offset - $config['block_size']) : $offset;
ui_pagination($total_components, $name_url);
$filter['offset'] = (int) get_parameter('offset');
$filter['limit'] = (int) $config['block_size'];
$components = network_components_get_network_components(
@ -935,30 +949,20 @@ html_print_action_buttons(
?>
<script type="text/javascript">
$( document ).ready(function() {
$('[id^=checkbox-delete_multiple]').change(function(){
if($(this).parent().parent().hasClass('checkselected')){
$(this).parent().parent().removeClass('checkselected');
}
else{
$(this).parent().parent().addClass('checkselected');
$('[id^=checkbox-delete_multiple]').click(function(){
if($(this).prop("checked") === false ){
$(this).prop("checked", false);
} else {
$(this).prop("checked", true);
}
});
$('[id^=checkbox-all_delete]').change(function(){
if ($("#checkbox-all_delete").prop("checked")) {
$('[id^=checkbox-delete_multiple]')
.parent()
.parent()
.addClass('checkselected');
$(".check_delete")
.prop("checked", true);
$('#checkbox-all_delete').click(function(){
if ($("#checkbox-all_delete").prop("checked") === true) {
$("[id^=checkbox-delete_multiple]").prop("checked", true);
}
else{
$('[id^=checkbox-delete_multiple]')
.parent()
.parent()
.removeClass('checkselected');
$(".check_delete").prop("checked", false);
$("[id^=checkbox-delete_multiple]").prop("checked", false);
}
});
});

View File

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

View File

@ -496,7 +496,7 @@ if ($edit_container) {
$single_table .= "<td id='row_type_graphs' width='30%'>";
$single_table .= html_print_label_input_block(
__('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>';
@ -543,21 +543,22 @@ if ($edit_container) {
$table->width = '100%';
$table->cellspacing = 4;
$table->cellpadding = 4;
$table->class = 'dat';
$table->class = 'filter-table-adv';
$table->styleTable = 'font-weight: bold;';
$table->style[0] = 'width: 13%';
$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_custom', $period, '', '', '0', 10, true, false, true, '', false, $periods);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Custom graph');
$table->data[0][0] = html_print_label_input_block(
__('Time lapse').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
),
html_print_extended_select_for_time('period_custom', $period, '', '', '0', 10, true, 'width:100%', true, '', false, $periods)
);
$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'];
}
$data[1] = html_print_select($graphs, 'id_custom_graph', $idCustomGraph, '', __('None'), 0, true);
$table->data[] = $data;
$table->rowclass[] = '';
$table->data[0][1] = html_print_label_input_block(
__('Custom graph'),
html_print_select($graphs, 'id_custom_graph', $idCustomGraph, '', __('None'), 0, true, '', true, '', false, 'width:100%')
);
$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_2', 1, false, true);
$table->data[] = $data;
$table->rowclass[] = '';
$table->data[0][2] = 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_2', 1, false, true)
);
$data = [];
$data[0] = '';
$data[1] = "<input style='float:right;' type=submit name='add_custom' class='sub add' value='".__('Add item')."'>";
$table->data[] = $data;
$table->rowclass[] = '';
$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_custom',
false,
[
'mode' => 'mini',
'icon' => 'next',
],
true
),
],
true
);
echo "<table width='100%' cellpadding=4 cellspacing=4 class='databox filters'>";
echo '<tr>';
echo '<td>';
echo ui_toggle(html_print_table($table, true), 'Custom graph', '', '', true);
echo '</td>';
echo '</tr>';
echo '</table>';
ui_toggle(
$data_toggle,
'<span class="subsection_header_title">'.__('Custom graph').'</span>',
'container',
'',
true,
false,
'',
'white-box-content',
'box-flat white_table_graph'
);
unset($table);
@ -597,93 +614,113 @@ if ($edit_container) {
$table->width = '100%';
$table->cellspacing = 4;
$table->cellpadding = 4;
$table->class = 'dat';
$table->class = 'filter-table-adv';
$table->styleTable = 'font-weight: bold;';
$table->style[0] = 'width: 13%';
$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 = [];
$data[0] = __('Group');
$data[1] = '<div class="w250px">'.html_print_select_groups($config['id_user'], 'RW', $return_all_groups, 'container_id_group', $id_group, '', '', '', true).'</div>';
$table->data[] = $data;
$table->rowclass[] = '';
$table->data[0][0] = html_print_label_input_block(
__('Time lapse').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
),
html_print_extended_select_for_time('period_custom', $period, '', '', '0', 10, true, 'width:100%', true, '', false, $periods)
);
$data = [];
$data[0] = __('Module group');
$data[1] = html_print_select_from_sql(
'SELECT * FROM tmodule_group ORDER BY name',
'combo_modulegroup',
$modulegroup,
'',
__('All'),
false,
$table->data[0][1] = html_print_label_input_block(
__('Group'),
html_print_select_groups($config['id_user'], 'RW', $return_all_groups, 'container_id_group', $id_group, '', '', '', true)
);
$table->data[0][2] = html_print_label_input_block(
__('Module group'),
html_print_select_from_sql(
'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
);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Agent');
$data[1] = html_print_input_text('text_agent', $textAgent, '', 30, 100, true);
$table->data[] = $data;
$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,
ui_toggle(
$data_toggle,
'<span class="subsection_header_title">'.__('Dynamic rules for simple module graph').'</span>',
'container',
'',
__('Any'),
0,
true,
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) {
$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);
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox data';
$table->class = 'info_table';
$table->id = 'item_table';
$table->align = [];
$table->head = [];
@ -710,7 +747,7 @@ if ($edit_container) {
$table->head[7] = __('Delete');
$table->data = [];
$i = 0;
foreach ($result_item as $item) {
$data = [];
@ -759,6 +796,8 @@ if ($edit_container) {
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?').'\'))
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 fullscale = $("#checkbox-fullscale_2").prop("checked");
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 module_name = $("#text-text_agent_module").val();
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);
echo folder_togge_tree_folders($tree);
if ($report_r && $report_w) {
echo "<div class='right'>";
echo '<form method="post" class="right" action="index.php?sec=reporting&sec2=godmode/reporting/create_container">';
html_print_submit_button(__('Create container'), 'create', false, 'class="sub next mrgn_right_5px mrgn_top_15px"');
echo '</form>';
echo '</div>';
$ActionButtons[] = '<form method="post" class="right" action="index.php?sec=reporting&sec2=godmode/reporting/create_container">';
$ActionButtons[] = '<div class="action-buttons">';
$ActionButtons[] = html_print_submit_button(
__('Create container'),
'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">
<td class="bolder"><?php echo __('Custom graph'); ?></td>
<td >
<td class="toolbox-buttons">
<?php
if ($meta) {
$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(
__('Create'),
'create_graph',
false,
'create_custom_graph();',
'class="sub add" '.$style_button_create_custom_graph
'create_custom_graph()',
$style_create
);
html_print_button(
__('Edit'),
'edit_graph',
false,
'edit_custom_graph();',
'class="sub config" '.$style_button_edit_custom_graph
'edit_custom_graph()',
$style_edit
);
?>
</td>

View File

@ -509,11 +509,11 @@ switch ($action) {
'list_reports' => [
'active' => false,
'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,
[
'title' => __('Reports list'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>',
],

View File

@ -632,7 +632,7 @@ if (empty($create) === false || empty($view) === false) {
$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'][2] = 2;
@ -665,8 +665,10 @@ if (empty($create) === false || empty($view) === false) {
echo '<tr><td align="right">';
if ($create != '') {
$button = html_print_submit_button(
$buttons = '';
if (empty($create) === false) {
$buttons .= html_print_submit_button(
__('Create'),
'crtbutton',
false,
@ -674,7 +676,7 @@ if (empty($create) === false || empty($view) === false) {
true
);
} else {
$button = html_print_submit_button(
$buttons .= html_print_submit_button(
__('Update'),
'uptbutton',
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(
$button
$buttons
);
echo '</form></table>';

View File

@ -1283,7 +1283,7 @@ if (check_login()) {
$linkCaption,
'additional_action_for_'.$idAgenteModulo,
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',
'style' => 'justify-content: flex-end;',
@ -1300,7 +1300,7 @@ if (check_login()) {
__('Edit'),
'edit_module_'.$idAgenteModulo,
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',
'style' => 'justify-content: flex-end;',

View File

@ -1040,7 +1040,7 @@ class CalendarManager
'id' => 'templates_alerts_special_days',
'return' => true,
'class' => 'info_table',
'style' => 'width: 100%',
'style' => 'width: 99%',
'columns' => $columns,
'column_names' => $column_names,
'ajax_url' => 'godmode/alerts/alert_special_days',
@ -1075,7 +1075,9 @@ class CalendarManager
'name' => 'name',
],
],
'class' => 'no_border',
],
'filter_main_class' => 'box-flat white_table_graph',
]
);
} catch (Exception $e) {

View File

@ -103,42 +103,16 @@ class CredentialStore extends Wizard
*/
private function ajaxMsg($type, $msg, $delete=false)
{
$msg_err = 'Failed while saving: %s';
$msg_ok = 'Successfully saved into keystore ';
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
),
]
);
if ($type === 'error') {
$msg_title = ($delete === true) ? 'Failed while removing' : 'Failed while saving';
} else {
echo json_encode(
[
$type => ui_print_success_message(
__(
$msg_ok,
$msg
),
'',
true
),
]
);
$msg_title = ($delete === true) ? 'Successfully deleted' : 'Successfully saved into keystore';
}
echo json_encode(
[ $type => __($msg_title).':<br>'.$msg ]
);
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
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -264,27 +264,11 @@ class ModuleTemplates extends HTML
*/
private function ajaxMsg($type, $msg)
{
if ($type == 'error') {
echo json_encode(
[
$type => ui_print_error_message(
__($msg),
'',
true
),
]
);
} else {
echo json_encode(
[
$type => ui_print_success_message(
__($msg),
'',
true
),
]
);
}
echo json_encode(
[
$type => __($msg),
]
);
exit;
}
@ -708,7 +692,7 @@ class ModuleTemplates extends HTML
'action' => $this->baseUrl,
'id' => 'add_module_form',
'method' => 'POST',
'class' => 'modal',
'class' => 'modal filter-list-adv',
'extra' => '',
];
@ -846,10 +830,10 @@ class ModuleTemplates extends HTML
false
);
// Create the table with Module Block list.
$table = new StdClasS();
$table = new stdClass();
$table->class = 'databox data ';
$table->width = '75%';
$table->styleTable = 'margin: 2em auto 0;border: 1px solid #ddd;';
$table->styleTable = 'border: 1px solid #ddd;';
$table->rowid = [];
$table->data = [];
@ -893,7 +877,7 @@ class ModuleTemplates extends HTML
);
$data[3] .= html_print_input_image(
'export_profile',
'images/csv.png',
'images/file-csv.svg',
$row['id_np'],
'',
true,
@ -914,7 +898,7 @@ class ModuleTemplates extends HTML
$data[3] .= '</a>';
$data[3] .= '<a href="'.$this->baseUrl.'&action=export&id_np='.$row['id_np'].'" onclick="blockResubmit($(this))">';
$data[3] .= html_print_image(
'images/csv.png',
'images/file-csv.svg',
true,
[
'title' => __('Export to CSV'),
@ -1165,7 +1149,7 @@ class ModuleTemplates extends HTML
$blockComponentList = chop($blockComponentList, ',');
// Title of Block.
$blockTitle = '<div class="pdd_t_8px">';
$blockTitle = '<div class="subsection_header_title">';
$blockTitle .= $blockTable['name'];
$blockTitle .= '<div class="white_table_header_checkbox">';
$blockTitle .= html_print_input_image(
@ -1186,7 +1170,7 @@ class ModuleTemplates extends HTML
$table = new StdClasS();
$table->class = 'databox data border_bt';
$table->width = '75%';
$table->styleTable = 'margin: 2em auto 0;border: 1px solid #ddd;';
$table->styleTable = 'margin: 0; border: 1px solid #ddd;';
$table->rowid = [];
$table->data = [];
@ -1220,7 +1204,7 @@ class ModuleTemplates extends HTML
switch ($module['id_format']) {
case MODULE_NETWORK:
$formatInfo = html_print_image(
'images/network.png',
'images/network-server@os.svg',
true,
[
'title' => __('Network module'),
@ -1231,7 +1215,7 @@ class ModuleTemplates extends HTML
case MODULE_WMI:
$formatInfo = html_print_image(
'images/wmi.png',
'images/WMI@svg.svg',
true,
[
'title' => __('WMI module'),
@ -1242,7 +1226,7 @@ class ModuleTemplates extends HTML
case MODULE_PLUGIN:
$formatInfo = html_print_image(
'images/plugin.png',
'images/plugins@svg.svg',
true,
[
'title' => __('Plug-in module'),

View File

@ -3601,7 +3601,7 @@ class NetworkMap
url_background_grid: url_background_grid,
refresh_time: '.$this->mapOptions['refresh_time'].',
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).'"
});
init_drag_and_drop();

View File

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

View File

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

View File

@ -183,29 +183,29 @@ class SnmpConsole extends HTML
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(
'images/op_reporting.png',
'images/logs@svg.svg',
true,
[
'title' => __('Statistics'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
$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,
[
'title' => __('List'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
$list['active'] = true;
$screen['text'] = '<a href="#" onClick="javascript:fullscreen(1)">'.html_print_image(
'images/full_screen.png',
'images/fullscreen@svg.svg',
true,
[
'title' => __('List'),
'class' => 'invert_filter',
'title' => __('View in full screen'),
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
@ -242,11 +242,11 @@ class SnmpConsole extends HTML
echo '<a href="#" onClick="javascript:fullscreen(0)">';
echo html_print_image(
'images/normal_screen.png',
'images/exit_fullscreen@svg.svg',
true,
[
'title' => __('Exit fullscreen'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
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>';
} 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 .= '<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>';
}

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[1] = ui_print_group_icon($group, true);
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 ($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?').'\'))
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
// Delete button.
$data[4] = '';
$data[4] .= '<span style="display: flex">';
$data[4] = '<div class="table_action_buttons flex">';
$typefile = array_pop(explode('.', $fileinfo['name']));
if (is_writable($fileinfo['realpath']) === true
&& (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)
) {
$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] .= '</span>';
$data[4] .= '</div>';
array_push($table->data, $data);
}
@ -983,7 +982,7 @@ function filemanager_file_explorer(
<div id='real_path'></div>";
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(
@ -997,7 +996,7 @@ function filemanager_file_explorer(
echo '</div>';
} else {
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>';
}
}

View File

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

View File

@ -467,7 +467,7 @@ function treeview_printAlertsTable($id_module, $server_data=[], $no_head=false)
__('Go to alerts edition'),
'upd_button',
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'],
true
),

View File

@ -908,11 +908,11 @@ function ui_print_type_agent_icon(
if ((int) $id_os === SATELLITE_OS_ID) {
// 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) {
// 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 {
// Software.
$options['title'] = __('Software');
@ -1214,7 +1214,7 @@ function ui_format_alert_row(
$forceTitle,
'force_execution_'.$alert['id'],
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' ],
true
);
@ -1500,6 +1500,7 @@ function ui_print_alert_template_example($id_alert_template, $return=false, $pri
* @param string $image Image path.
* @param boolean $is_relative Route is relative or not.
* @param string $id Target id.
* @param string $isHeader If true, the view is header.
*
* @return string The help tip
*/
@ -1509,10 +1510,17 @@ function ui_print_help_icon(
$home_url='',
$image='images/info@svg.svg',
$is_relative=false,
$id=''
$id='',
$isHeader=false
) {
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.
if ((bool) $config['disable_help'] === true) {
return '';
@ -1537,7 +1545,7 @@ function ui_print_help_icon(
$image,
true,
[
'class' => 'img_help main_menu_icon',
'class' => 'img_help '.$iconClass,
'title' => __('Help'),
'onclick' => "open_help ('".ui_get_full_url($help_handler)."')",
'id' => $id,
@ -2440,35 +2448,35 @@ function ui_print_session_action_icon($action, $return=false)
global $config;
$key_icon = [
'acl' => 'images/delete.png',
'agent' => 'images/agent.png',
'module' => 'images/module.png',
'alert' => 'images/bell.png',
'incident' => 'images/default_list.png',
'logon' => 'images/house.png',
'logoff' => 'images/house.png',
'massive' => 'images/config.png',
'hack' => 'images/application_edit.png',
'event' => 'images/lightning_go.png',
'policy' => 'images/policies_mc.png',
'report' => 'images/reporting.png',
'file collection' => 'images/collection_col.png',
'user' => 'images/user_green.png',
'password' => 'images/lock.png',
'session' => 'images/heart_col.png',
'snmp' => 'images/snmp.png',
'command' => 'images/bell.png',
'category' => 'images/category_col.png',
'dashboard' => 'images/dashboard_col.png',
'api' => 'images/eye.png',
'db' => 'images/database.png',
'setup' => 'images/cog.png',
'acl' => 'images/delete.svg',
'agent' => 'images/agents@svg.svg',
'module' => 'images/modules@svg.svg',
'alert' => 'images/alerts.svg',
'incident' => 'images/logs@svg.svg',
'logon' => 'images/house@svg.svg',
'logoff' => 'images/house@svg.svg',
'massive' => 'images/configuration@svg.svg',
'hack' => 'images/custom-input@svg.svg',
'event' => 'images/event.svg',
'policy' => 'images/policy@svg.svg',
'report' => 'images/agent-fields.svg',
'file collection' => 'images/file-collection@svg.svg',
'user' => 'images/user.svg',
'password' => 'images/password.svg',
'session' => 'images/star@svg.svg',
'snmp' => 'images/SNMP-network-numeric-data@svg.svg',
'command' => 'images/external-tools@svg.svg',
'category' => 'images/tag@svg.svg',
'dashboard' => 'images/workstation@groups.svg',
'api' => 'images/enable.svg',
'db' => 'images/data-server@svg.svg',
'setup' => 'images/configuration@svg.svg',
];
$output = '';
foreach ($key_icon as $key => $icon) {
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;
}
}
@ -5057,7 +5065,7 @@ function ui_print_page_header(
if (is_metaconsole() === false) {
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:
$title = __('Network server');
$image = 'images/network-server@svg.svg';
$image = 'images/network-server@os.svg';
break;
case MODULE_PLUGIN:

View File

@ -2400,3 +2400,10 @@ function topFunction() {
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 {
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%;
}
.w45p {
width: 45%;
}
.w48p {
width: 48%;
}
.w47p {
width: 47%;
}
@ -5807,10 +5815,10 @@ div.label_select_child_left > span {
overflow: hidden;
}
.switch_radio_button label {
div.switch_radio_button label {
background-color: #fff;
color: rgba(0, 0, 0, 0.6);
line-height: 9pt;
line-height: 6px !important;
text-align: center;
padding: 14px 10px;
margin-right: -1px;
@ -5818,14 +5826,14 @@ div.label_select_child_left > span {
transition: all 0.1s ease-in-out;
}
.switch_radio_button label:first {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
div.switch_radio_button label:first-of-type {
border-top-left-radius: 4px !important;
border-bottom-left-radius: 4px !important;
}
.switch_radio_button label:last-child {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
div.switch_radio_button label:last-of-type {
border-top-right-radius: 4px !important;
border-bottom-right-radius: 4px !important;
margin-right: 0px;
}
@ -11010,14 +11018,14 @@ pre.external_tools_output {
.tag-editor .tag-editor-tag {
padding: 5px !important;
color: #fff !important;
background: #82b92e !important;
background: var(--primary-color) !important;
border-radius: 0 2px 2px 0 !important;
}
.tag-editor .tag-editor-delete {
padding: 5px !important;
line-height: 16px !important;
background: #82b92e !important;
background: var(--primary-color) !important;
border-radius: 2px 0 0 2px !important;
}
@ -11191,6 +11199,10 @@ table.table_modal_alternate
height: 20px;
}
.header_help_icon {
width: 16px;
height: 16px;
}
.main_menu_icon.arrow_up {
transform: rotate(90deg);
}
@ -11505,6 +11517,15 @@ div[role="dialog"] {
/* 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 {
font-size: 11pt;
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"] {
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 > img,
.table_action_buttons > button {
.table_action_buttons > button,
.table_action_buttons > form {
visibility: hidden;
}
.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 > 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;
}

View File

@ -46,7 +46,6 @@ ul.wizard li > label:not(.p-switch):first-of-type {
}
ul.wizard li > textarea {
width: 600px;
height: 15em;
display: inline-block;
}
@ -130,6 +129,12 @@ ul.wizard li > textarea {
background: #e63c52;
}
.wizard .tag-editor li,
.wizard .tag-editor li:focus,
.wizard .tag-editor li:hover {
border: 0;
padding: 0;
}
.wizard .time_selection_container {
display: flex;
align-items: baseline;
@ -200,6 +205,7 @@ li#textarea-create-site > textarea {
width: 100%;
}
form.alert-correlation > ul.wizard > li > label,
form#create_site > ul.wizard > li > label {
font-size: 13px;
line-height: 16px;
@ -210,3 +216,23 @@ form#create_site > ul.wizard > li > label {
select[multiple] {
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
// button.
window.onscroll = function() {
@ -1545,10 +1534,6 @@ require 'include/php_to_js_values.php';
scrollFunction()
};
function menuActionButtonResizing() {
$('.action_buttons_right_content').attr('style', 'left: '+($('#menu_full').width())+'px;');
}
function first_time_identification() {
jQuery.post("ajax.php", {
"page": "general/register",

View File

@ -1141,7 +1141,7 @@ foreach ($agents as $agent) {
$data[0] .= ui_print_help_tip(
__('Agent in scheduled downtime'),
true,
'images/minireloj-16.png'
'images/clock.svg'
);
$data[0] .= '</em>';
}
@ -1254,12 +1254,12 @@ foreach ($agents as $agent) {
$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(
'images/lightning.png',
'images/event.svg',
true,
[
'align' => 'middle',
'title' => __('Agent events'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';

View File

@ -401,7 +401,7 @@ $buttonsRefreshAgent = html_print_button(
__('Refresh data'),
'refresh_data',
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' ],
true
);
@ -411,7 +411,7 @@ if (check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') === true) {
__('Force checks'),
'force_checks',
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' ],
true
);

View File

@ -1,10 +1,10 @@
<?php
/**
* Export Data view
* Export data.
*
* @category Community
* @category Tools
* @package Pandora FMS
* @subpackage Tools
* @subpackage Operation
* @version 1.0.0
* @license See below
*
@ -14,9 +14,15 @@
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2007-2022 Artica Soluciones Tecnologicas, http://www.artica.es
* This code is NOT free software. This code is NOT licenced under GPL2 licence
* You cannnot redistribute it without written permission of copyright holder.
* 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.
* ============================================================================
*/
@ -38,9 +44,25 @@ if (!check_acl($config['id_user'], 0, 'RR')) {
ui_require_javascript_file('calendar');
// 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);
$agentName = get_parameter_post('agent', 0);
@ -220,48 +242,10 @@ if (!empty($export_btn) && !empty($module)) {
}
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());
$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 = [];
if ($group > 0) {
$filter['id_grupo'] = (array) $group;
} else {
$filter['id_grupo'] = array_keys($groups);
}
$filter['id_grupo'] = ($group > 0) ? (array) $group : array_keys($groups);
$agents = [];
$rows = agents_get_agents($filter, false, 'RR');
@ -286,11 +270,6 @@ if (empty($export_btn) || $show_form) {
$params['add_none_module'] = false;
$params['size'] = 38;
$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) {
$modules = agents_get_modules($agent);
@ -325,91 +304,170 @@ if (empty($export_btn) || $show_form) {
$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['data'] = __('Data table');
$export_types['csv'] = __('CSV');
$export_types['excel'] = __('MS Excel');
$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);
// Submit button.
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_button(
__('Export'),
'export_btn',
false,
'change_action()',
['icon' => 'wand'],
true
),
]
html_print_action_buttons(
html_print_button(
__('Export'),
'export_btn',
false,
'change_action()',
['icon' => 'wand'],
true
)
);
echo '</form>';

View File

@ -289,12 +289,12 @@ if (empty($result_groups) === false) {
echo "<td class='group_view_data center vertical_middle'>";
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(
'images/target.png',
'images/change-active.svg',
true,
[
'border' => '0',
'title' => __('Force'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</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
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -64,11 +64,11 @@ if ($group_sent === true) {
$is_ajax = is_ajax();
if ($is_ajax === false && $pure === false) {
$viewtab['config'] = '<a id="config" href="">'.html_print_image(
'images/setup.png',
'images/configuration@svg.svg',
true,
[
'title' => __('Config'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
@ -81,11 +81,11 @@ if ($is_ajax === false && $pure === false) {
);
$viewtab['full_screen'] = '<a id="full_screen" href="'.$url.'">'.html_print_image(
'images/full_screen.png',
'images/fullscreen@svg.svg',
true,
[
'title' => __('Full screen'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
@ -208,11 +208,11 @@ if ($is_ajax === false && $pure === true) {
echo '<a href="'.$urlNoFull.'">';
echo html_print_image(
'images/normal_screen.png',
'images/exit_fullscreen@svg.svg',
true,
[
'title' => __('Back to normal mode'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
);
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
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -52,7 +52,7 @@ $buttons['message_list'] = [
true,
[
'title' => __('Received messages'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>',
];
@ -64,7 +64,7 @@ $buttons['sent_messages'] = [
true,
[
'title' => __('Sent messages'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>',
];
@ -76,7 +76,7 @@ $buttons['create_message'] = [
true,
[
'title' => __('Create message'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>',
];
@ -218,11 +218,8 @@ if ($read_message) {
true
);
html_print_div(
[
'class' => 'action-buttons',
'content' => $outputButtons,
],
html_print_action_buttons(
$outputButtons
);
return;
@ -264,18 +261,6 @@ if ($send_mes === true) {
// User info.
$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',
'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'];
}
$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.
if ($reply === true) {
$table->data[1][1] = (array_key_exists($dst_user, $users) === true) ? $users[$dst_user] : $dst_user;
$table->data[1][1] .= html_print_input_hidden(
$destinationInputs = (array_key_exists($dst_user, $users) === true) ? $users[$dst_user] : $dst_user;
$destinationInputs .= html_print_input_hidden(
'dst_user',
$dst_user,
true
);
$table->data[1][1] .= html_print_input_hidden(
$destinationInputs .= html_print_input_hidden(
'replied',
'1',
true
@ -324,21 +323,27 @@ if ($reply === true) {
$groups = users_get_groups($config['id_user'], 'AR');
// Get a list of all groups.
$table->data[1][1] = html_print_select(
$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(
$destinationInputs = 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(
$config['id_user'],
'AR',
@ -355,24 +360,41 @@ if ($reply === true) {
);
}
$table->data[2][0] = __('Subject');
$table->data[2][1] = html_print_input_text(
'subject',
$subject,
'',
50,
70,
true
$table->data[0][] = html_print_label_input_block(
__('Destination'),
html_print_div(
[
'class' => 'flex-content-left',
'content' => $destinationInputs,
],
true
)
);
$table->data[3][0] = __('Message');
$table->data[3][1] = html_print_textarea(
'message',
15,
255,
$message,
'',
true
$table->colspan[1][] = 2;
$table->data[1][] = html_print_label_input_block(
__('Subject'),
html_print_input_text(
'subject',
$subject,
'',
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 = '';
@ -396,17 +418,14 @@ echo '<form method="post" action="index.php?sec=message_list&amp;sec2=operation/
// Print the main table.
html_print_table($table);
// Print the action buttons section.
html_print_div(
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Send message'),
'send_mes',
false,
[ 'icon' => 'wand' ],
true
),
]
html_print_action_buttons(
html_print_submit_button(
__('Send message'),
'send_mes',
false,
[ 'icon' => 'wand' ],
true
)
);
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
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -206,26 +206,37 @@ if (empty($messages) === true) {
$data[0] = '';
if ($message['read'] == 1) {
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.'">';
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Click to read'), 'class' => 'invert_filter']);
$data[0] .= '</a>';
$pathRead = 'index.php?sec=message_list&amp;sec2=operation/messages/message_edit&read_message=1&amp;show_sent=1&amp;id_message='.$message_id;
$titleRead = __('Click to read');
} 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.'">';
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Mark as unread'), 'class' => 'invert_filter']);
$data[0] .= '</a>';
$pathRead = 'index.php?sec=message_list&amp;sec2=operation/messages/message_list&amp;mark_unread=1&amp;id_message='.$message_id;
$titleRead = __('Mark as unread');
}
} else {
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.'">';
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Message unread - click to read'), 'class' => 'invert_filter']);
$data[0] .= '</a>';
$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;
$titleRead = __('Message unread - click to read');
} 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.'">';
$data[0] .= html_print_image('images/email_inbox.png', true, ['border' => 0, 'title' => __('Message unread - click to read'), 'class' => 'invert_filter']);
$data[0] .= '</a>';
$pathRead = 'index.php?sec=message_list&amp;sec2=operation/messages/message_edit&amp;read_message=1&amp;id_message='.$message_id;
$titleRead = __('Message unread - click to read');
}
}
$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) {
$dest_user = get_user_fullname($message['dest']);
if (!$dest_user) {
@ -243,18 +254,24 @@ if (empty($messages) === 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 {
$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'] == '') {
$data[2] .= __('No Subject');
} else {
$data[2] .= $message['subject'];
$contentSubject = (empty($message['subject']) === true) ? __('No Subject') : $message['subject'];
if ((int) $message['read'] !== 1) {
$contentSubject = '<strong>'.$contentSubject.'</strong>';
}
$data[2] .= '</a>';
$data[2] .= html_print_anchor(
[
'href' => $pathSubject,
'content' => $contentSubject,
],
true
);
$data[3] = ui_print_timestamp(
$message['timestamp'],
@ -264,13 +281,27 @@ if (empty($messages) === true) {
$table->cellclass[][4] = 'table_action_buttons';
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.'"
onClick="javascript:if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/cross.png', true, ['title' => __('Delete'), 'class' => 'invert_filter']).'</a>';
$pathDelete = 'index.php?sec=message_list&amp;sec2=operation/messages/message_list&show_sent=1&delete_message=1&id='.$message_id;
} else {
$data[4] = '<a href="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>';
$pathDelete = 'index.php?sec=message_list&amp;sec2=operation/messages/message_list&delete_message=1&id='.$message_id;
}
$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);
}
}
@ -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>';
html_print_div(
[
'class' => 'action-buttons',
'content' => $outputButton,
]
html_print_action_buttons(
$outputButton
);
?>

View File

@ -226,77 +226,52 @@ ui_print_standard_header(
// ------------------- END HEADER ---------------------------------------
// ------------------------ INIT FORM -----------------------------------
$table = new stdClass();
$table->id = 'controls_table';
$table->width = '100%';
$table->class = 'filter-table-adv';
$table2 = new stdClass();
$table2->id = 'controls_table';
$table2->size[2] = '50%';
$table2->size[3] = '50%';
$table2->style[0] = 'text-align:center';
$table2->style[1] = 'text-align:center';
$table2->styleTable = 'border:none';
if (defined('METACONSOLE')) {
$table->width = '100%';
$table->class = 'databox filters';
$table2->width = '100%';
$table2->class = 'databox filters';
$table->head[0] = __('View Report');
$table->head_colspan[0] = 5;
$table->headstyle[0] = 'text-align: center';
$table2->head[0] = __('View Report');
$table2->head_colspan[0] = 5;
$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
if (!$enable_init_date) {
$table->style[1] = 'display: none';
$table->style[2] = 'display: flex;align-items: baseline;';
$display_to = 'none';
$display_item = '';
} else {
$table->style[1] = 'display: "block"';
$table->style[2] = 'display: flex;align-items: baseline;';
$display_to = '';
$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');
if ($html_menu_export === ENTERPRISE_NOT_HOOK) {
$html_menu_export = '';
}
$table->data[0][1] .= '</div>';
$table->data[0][1] .= $html_menu_export;
$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>';
$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 .= html_print_table($table, true);
$searchForm .= html_print_table($table2, true);
$searchForm .= html_print_input_hidden('id_report', $id_report, true);
$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']);
// ----------------------------------------------------------------------
// 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 html_print_image('images/wait.gif', true, ['border' => '0']);
echo '<strong>'.__('Loading').'...</strong>';
@ -396,7 +367,6 @@ $(document).ready (function () {
changeYear: true,
showAnim: "slideDown"});
$('[id^=text-time_init]').timepicker({
showSecond: true,
timeFormat: '<?php echo TIME_FORMAT_JS; ?>',
@ -414,22 +384,16 @@ $(document).ready (function () {
changeYear: true,
showAnim: "slideDown"});
$("*", "#controls_table-0").css("display", ""); //Re-show the first row of form.
/* Show/hide begin date reports controls */
$("#checkbox-enable_init_date").click(function() {
flag = $("#checkbox-enable_init_date").is(':checked');
if (flag == true) {
$("#controls_table-1-1").css("display", "");
$("#controls_table-1-2").css("display", "");
$("#string_to").show();
$('#string_from').show();
$("#string_items").hide();
}
else {
$("#controls_table-1-1").css("display", "none");
$("#controls_table-1-2").css("display", "");
} else {
$("#string_to").hide();
$('#string_from').hide();
$("#string_items").show();
}
});

View File

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

View File

@ -39,20 +39,20 @@ $refr = (int) get_parameter('refr', 0);
$fullscreen = [];
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(
'images/normal_screen.png',
'images/exit_fullscreen@svg.svg',
true,
[
'title' => __('Normal screen'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
} else {
$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,
[
'title' => __('Full screen'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
}
@ -60,11 +60,11 @@ if ($config['pure']) {
// List
$list = [];
$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,
[
'title' => __('List'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>';
@ -72,11 +72,11 @@ $list['text'] = '<a href="index.php?sec=estado&sec2=operation/snmpconsole/snmp_v
$statistics = [];
$statistics['active'] = true;
$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,
[
'title' => __('Statistics'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</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
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License

View File

@ -77,28 +77,28 @@ if (is_metaconsole()) {
user_meta_print_header();
$urls['main'] = 'index.php?sec=advanced&amp;sec2=advanced/users_setup&amp;tab=user_edit';
} 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';
$buttons = [
'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(
'images/user.png',
'images/user.svg',
true,
[
'title' => __('User management'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</a>',
],
'notifications' => [
'active' => $_GET['sec2'] === 'operation/users/user_edit_notifications',
'text' => "<a href='{$urls['notifications']}'>".html_print_image(
'images/alerts_template.png',
'images/alert@svg.svg',
true,
[
'title' => __('User notifications'),
'class' => 'invert_filter',
'class' => 'main_menu_icon invert_filter',
]
).'</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
* This program is free software; you can redistribute it and/or
* 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_th"></div>
<div class="table_th">'.__('Enable').'</div>
@ -91,8 +91,9 @@ foreach ($sources as $source) {
}
if ((bool) $disabled_flag === true) {
$s = __('Controls have been disabled by the system administrator');
echo '<span class="bolder color_ff0">'.$s.'</span>';
ui_print_warning_message(
__('Controls have been disabled by the system administrator')
);
}
echo '</div>';

View File

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

View File

@ -101,7 +101,7 @@ try {
[
'id' => $tableId,
'class' => 'info_table',
'style' => 'width: 100%',
'style' => 'width: 99%',
'columns' => $columns,
'column_names' => $column_names,
'ajax_url' => $ajax_url,
@ -117,12 +117,14 @@ try {
[
'label' => __('Free search'),
'type' => 'text',
'class' => 'mw250px',
'class' => 'w25p',
'id' => 'free_search',
'name' => 'free_search',
],
],
],
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar',
'dom_elements' => 'lftpB',
]
);
} catch (Exception $e) {
@ -130,7 +132,7 @@ try {
}
if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
HTML::printForm(
$form_create = HTML::printForm(
[
'form' => [
'action' => $url.'&op=edit',
@ -142,10 +144,12 @@ if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
'name' => 'button',
'label' => __('Create'),
'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);
} else {
// Header.
\ui_print_page_header(
// Title.
__('Special days'),
// Icon.
ui_print_standard_header(
__('Alerts'),
'images/gm_alerts.png',
// Return.
false,
// Help.
'alert_special_days',
// Godmode.
true,
// Options.
$tabs
$tabs,
[
[
'link' => '',
'label' => __('Special days'),
],
]
);
}
@ -85,6 +85,7 @@ $inputs[] = [
'rows' => 10,
'options' => ['required' => 1],
],
'class' => 'flex flex_column',
];
$days = [];
@ -104,6 +105,7 @@ $inputs[] = [
'type' => 'select',
'fields' => $days,
],
'class' => 'mrgn_right_20px',
];
// Group.
@ -114,6 +116,7 @@ $inputs[] = [
'returnAllGroup' => true,
'name' => 'id_group',
],
'class' => 'mrgn_right_20px',
];
// Group.
@ -128,6 +131,7 @@ $inputs[] = [
'id' => 'overwrite',
'disabled_hidden' => true,
],
'class' => 'flex flex_column',
];
// Submit.
@ -136,23 +140,39 @@ $inputs[] = [
'name' => 'button',
'label' => __('Upload'),
'type' => 'submit',
'attributes' => 'class="sub next"',
'attributes' => [
'icon' => 'wand',
'class' => 'mini',
],
],
];
if ($is_management_allowed === true) {
// Print form.
HTML::printForm(
$form_upload = HTML::printForm(
[
'form' => [
'action' => $url.'&op=upload_ical&id='.$id_calendar,
'method' => 'POST',
'id' => 'icalendar-special-days',
'enctype' => 'multipart/form-data',
'class' => 'calendar-upload-form',
],
'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->width = '100%';
$cal_table->class = 'databox data';
$cal_table->class = 'databox data special-days-thead';
$cal_table->data = [];
$cal_table->head = [];
@ -238,7 +258,7 @@ for ($month = 1; $month <= 12; $month++) {
$cal_table->size[6] = '14%';
$cal_table->align = [];
$cal_table->border = '1';
$cal_table->titlestyle = 'text-align:center; font-weight: bold;';
$cal_table->titlestyle = 'text-align:center;';
switch ($display_month) {
case 1:
$cal_table->title = __('January');
@ -467,7 +487,7 @@ for ($month = 1; $month <= 12; $month++) {
}
if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
HTML::printForm(
$form_create = HTML::printForm(
[
'form' => [
'action' => $url.'&op=edit',
@ -479,12 +499,14 @@ if ((bool) check_acl($config['id_user'], 0, 'LM') === true) {
'name' => 'button',
'label' => __('Create'),
'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>';

View File

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