Merge remote-tracking branch 'origin/develop' into ent-7427-nexcon-datos-de-monitorizacion-con-origen-en-netflow

This commit is contained in:
Calvo 2023-03-22 12:31:11 +01:00
commit 784bd2dbcf
70 changed files with 697 additions and 1347 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.769-230321 Version: 7.0NG.769-230322
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.769-230321" pandora_version="7.0NG.769-230322"
echo "Test if you has the tools for to make the packages." echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -1023,7 +1023,7 @@ my $Sem = undef;
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.769'; use constant AGENT_VERSION => '7.0NG.769';
use constant AGENT_BUILD => '230321'; use constant AGENT_BUILD => '230322';
# Agent log default file size maximum and instances # Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000; use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil} %global __os_install_post %{nil}
%define name pandorafms_agent_linux %define name pandorafms_agent_linux
%define version 7.0NG.769 %define version 7.0NG.769
%define release 230321 %define release 230322
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil} %global __os_install_post %{nil}
%define name pandorafms_agent_linux %define name pandorafms_agent_linux
%define version 7.0NG.769 %define version 7.0NG.769
%define release 230321 %define release 230322
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -10,7 +10,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.769" PI_VERSION="7.0NG.769"
PI_BUILD="230321" PI_BUILD="230322"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{230321} {230322}
ViewReadme ViewReadme
{Yes} {Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils; using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1 #define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.769 Build 230321") #define PANDORA_VERSION ("7.0NG.769 Build 230322")
string pandora_path; string pandora_path;
string pandora_dir; string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST" VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent" VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.769(Build 230321))" VALUE "ProductVersion", "(7.0NG.769(Build 230322))"
VALUE "FileVersion", "1.0.0.0" VALUE "FileVersion", "1.0.0.0"
END END
END END

View File

@ -1,5 +1,5 @@
package: pandorafms-console package: pandorafms-console
Version: 7.0NG.769-230321 Version: 7.0NG.769-230322
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.769-230321" pandora_version="7.0NG.769-230322"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

View File

@ -27,6 +27,22 @@ require_once __DIR__.'/../include/functions_ui.php';
require_once __DIR__.'/../include/functions.php'; require_once __DIR__.'/../include/functions.php';
require_once __DIR__.'/../include/functions_html.php'; require_once __DIR__.'/../include/functions_html.php';
echo '<style>
:root {';
if ($config['style'] === 'pandora') {
echo '--login-background-color: rgba(255, 255, 255, 0.2);';
echo '--login-label-color: #545454;';
echo '--login-text-color: #000;';
$style_theme = 'white-theme';
} else {
echo '--login-background-color: rgba(0, 0, 0, 0.8);';
echo '--login-label-color: #c5c5c5;';
echo '--login-text-color: #fff;';
$style_theme = '';
}
echo '}
</style>';
if ($config['visual_animation']) { if ($config['visual_animation']) {
// form#login_form, div.login_data { // form#login_form, div.login_data {
@ -121,7 +137,13 @@ if (empty($config['background_opacity']) === false) {
$opacity = 30; $opacity = 30;
} }
$login_body_style = 'style="'.$background_100.'background: linear-gradient(rgba(0,0,0,.'.$opacity.'), rgba(0,0,0,.'.$opacity.")), url('".$background_url."');\""; if ($config['style'] === 'pandora') {
$opacity_color = '255, 255, 255, .';
} else {
$opacity_color = '0, 0, 0, .';
}
$login_body_style = 'style="'.$background_100.'background: linear-gradient(rgba('.$opacity_color.$opacity.'), rgba('.$opacity_color.$opacity.")), url('".$background_url."');\"";
// Get alternative custom in case of db fail. // Get alternative custom in case of db fail.
$custom_fields = [ $custom_fields = [
@ -148,7 +170,7 @@ foreach ($custom_fields as $field) {
$docs_logo = ui_get_docs_logo(); $docs_logo = ui_get_docs_logo();
$support_logo = ui_get_support_logo(); $support_logo = ui_get_support_logo();
echo '<div id="login_body" '.$login_body_style.'>'; echo '<div id="login_body" '.$login_body_style.'>';
echo '<div id="header_login">'; echo '<div id="header_login" class="'.$style_theme.'">';
echo '<div id="list_icon_docs_support"><ul>'; echo '<div id="list_icon_docs_support"><ul>';
@ -298,7 +320,7 @@ switch ($login_screen) {
); );
echo '</div>'; echo '</div>';
} else { } else {
echo '<div class="login_nick">'; echo '<div class="login_nick '.$style_theme.'">';
html_print_input_text_extended( html_print_input_text_extended(
'nick', 'nick',
'', '',
@ -312,7 +334,7 @@ switch ($login_screen) {
); );
echo '<label for="nick" class="placeholder">'.__('User').'</label>'; echo '<label for="nick" class="placeholder">'.__('User').'</label>';
echo '</div>'; echo '</div>';
echo '<div class="login_pass">'; echo '<div class="login_pass '.$style_theme.'">';
html_print_input_text_extended( html_print_input_text_extended(
'pass', 'pass',
'', '',
@ -322,7 +344,7 @@ switch ($login_screen) {
'', '',
false, false,
'', '',
'autocomplete="off" class="input" placeholder=" "', 'autocomplete="off" class="input " placeholder=" " style="background-image: url(images/enable.svg);"',
false, false,
true true
); );
@ -346,7 +368,7 @@ switch ($login_screen) {
} }
} }
echo '<div class="login_nick">'; echo '<div class="login_nick '.$style_theme.'">';
echo '<div>'; echo '<div>';
echo '</div>'; echo '</div>';
@ -495,31 +517,28 @@ if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) {
echo '</div>'; echo '</div>';
echo '<div class ="text_banner_login">'; echo '<div class ="text_banner_login">';
// echo '<div><span class="span1">'; echo '<div><span class="span1">';
// if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) { if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) {
// if ($config['custom_title1_login']) { if ($config['custom_title1_login']) {
// echo io_safe_output($config['custom_title1_login']); echo io_safe_output($config['custom_title1_login']);
// } else { } else {
// echo __('WELCOME TO %s', get_product_name()); echo __('ONE TOOL TO MONITOR THEM ALL');
// } }
// } else { } else {
// echo __('WELCOME TO %s', get_product_name()); echo __('ONE TOOL TO MONITOR THEM ALL');
// } }
// echo '</span></div>';
echo '<div><span class="span2">'; echo '</span></div>';
echo '<div><span class="span2">';
if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) { if (file_exists(ENTERPRISE_DIR.'/load_enterprise.php')) {
if ($config['custom_title2_login']) { if ($config['custom_title2_login']) {
echo io_safe_output($config['custom_title2_login']); echo io_safe_output($config['custom_title2_login']);
} else {
echo __('NEXT GENERATION');
} }
} else {
echo __('NEXT GENERATION');
} }
echo '</span></div>'; echo '</span></div>';
echo '</div>'; echo '</div>';
echo '</div>'; echo '</div>';
echo '</div>'; echo '</div>';
echo '</div>'; echo '</div>';

View File

@ -225,7 +225,7 @@ if (db_get_num_rows($sql) == 0) {
} else { } else {
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox info_trable'; $table->class = 'databox info_table max_floating_element_size';
$table->data = []; $table->data = [];
$table->head = []; $table->head = [];
$table->styleTable = ''; $table->styleTable = '';

View File

@ -794,7 +794,7 @@ if ($agents !== false) {
// Agent name column (1). Agent name. // Agent name column (1). Agent name.
$agentNameColumn = html_print_anchor( $agentNameColumn = html_print_anchor(
[ [
'href' => ui_get_full_url($agentNameUrl), 'href' => ui_get_full_url($agentViewUrl),
'title' => $agent['nombre'], 'title' => $agent['nombre'],
'content' => ui_print_truncate_text($agent['alias'], 'agent_medium').implode('', $additionalDataAgentName), 'content' => ui_print_truncate_text($agent['alias'], 'agent_medium').implode('', $additionalDataAgentName),
], ],

View File

@ -679,7 +679,7 @@ foreach ($simple_alerts as $alert) {
true, true,
[ [
'id' => 'template-details-'.$alert['id_alert_template'], 'id' => 'template-details-'.$alert['id_alert_template'],
'class' => 'img_help action_button_img invert_filter', 'class' => 'img_help main_menu_icon invert_filter',
] ]
); );
$data[2] .= '</a> '; $data[2] .= '</a> ';
@ -757,7 +757,7 @@ foreach ($simple_alerts as $alert) {
true, true,
[ [
'title' => __('Delete action'), 'title' => __('Delete action'),
'class' => 'action_button_img invert_filter', 'class' => 'main_menu_icon invert_filter',
] ]
); );
$data[3] .= html_print_input_hidden('delete_action', 1, true); $data[3] .= html_print_input_hidden('delete_action', 1, true);
@ -772,7 +772,7 @@ foreach ($simple_alerts as $alert) {
true, true,
[ [
'title' => __('Update action'), 'title' => __('Update action'),
'class' => 'action_button_img invert_filter', 'class' => 'main_menu_icon invert_filter',
'onclick' => 'show_display_update_action(\''.$action['id'].'\',\''.$alert['id'].'\',\''.$alert['id_agent_module'].'\',\''.$action_id.'\',\''.$alert['id_agent_module'].'\')', 'onclick' => 'show_display_update_action(\''.$action['id'].'\',\''.$alert['id'].'\',\''.$alert['id_agent_module'].'\',\''.$action_id.'\',\''.$alert['id_agent_module'].'\')',
] ]
); );

View File

@ -122,9 +122,6 @@ $sec = (is_metaconsole() === true) ? 'advanced' : 'galertas';
// case delete_templete action is performed. // case delete_templete action is performed.
if (!$delete_template) { if (!$delete_template) {
// Header. // Header.
if (is_metaconsole() === true) {
alerts_meta_print_header();
} else {
ui_print_standard_header( ui_print_standard_header(
__('Alerts'), __('Alerts'),
'images/gm_alerts.png', 'images/gm_alerts.png',
@ -133,13 +130,16 @@ if (!$delete_template) {
true, true,
[], [],
[ [
[
'link' => '',
'label' => __('Alerts'),
],
[ [
'link' => '', 'link' => '',
'label' => __('Alert templates'), 'label' => __('Alert templates'),
], ],
] ]
); );
}
} }
if ($update_template) { if ($update_template) {

View File

@ -306,21 +306,37 @@ $onheader['snmp'] = $snmptab;
$onheader['satellite'] = $satellitetab; $onheader['satellite'] = $satellitetab;
$onheader['services'] = $servicestab; $onheader['services'] = $servicestab;
// Header. // Header.
if (is_metaconsole() === false) { ui_print_standard_header(
ui_print_page_header( __('Bulk operations').' - '.$options[$option],
__('Bulk operations').' &raquo; '.$options[$option],
'images/gm_massive_operations.png', 'images/gm_massive_operations.png',
false, false,
$help_header, $help_header,
true,
$onheader,
false, false,
'massivemodal' [
); $agentstab,
} else { $modulestab,
massive_meta_print_header(); $pluginstab,
} $userstab,
$alertstab,
$policiestab,
$snmptab,
$satellitetab,
$servicestab,
],
[
[
'link' => '',
'label' => __('Configuration'),
],
[
'link' => '',
'label' => __('Bulk operations'),
],
]
);
// Checks if the PHP configuration is correctly. // Checks if the PHP configuration is correctly.
if ((get_cfg_var('max_execution_time') != 0) if ((get_cfg_var('max_execution_time') != 0)

View File

@ -56,9 +56,13 @@ ui_print_standard_header(
[ [
[ [
'link' => '', 'link' => '',
'label' => __('Netflow'), 'label' => __('Resources'),
], ],
[
'link' => '',
'label' => __('Netflow filters'),
], ],
]
); );
$is_windows = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'); $is_windows = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN');

View File

@ -1047,17 +1047,6 @@ $class = 'databox filters';
?> ?>
<table id="table_item_edit_reporting" class="<?php echo $class; ?>" id="" border="0" cellpadding="4" cellspacing="4" width="100%"> <table id="table_item_edit_reporting" class="<?php echo $class; ?>" id="" border="0" cellpadding="4" cellspacing="4" width="100%">
<?php
if (defined('METACONSOLE')) {
echo '<thead>
<tr>
<th align=center colspan=5>
'.__('Item Editor').'
</th>
</tr>
</thead>';
}
?>
<tbody> <tbody>
<tr id="row_type" class="datos"> <tr id="row_type" class="datos">
<td class="bolder w220px"> <td class="bolder w220px">

View File

@ -201,14 +201,13 @@ if (($agentFilter == 0) && ($moduleFilter == 0) && ($typeFilter == 0)) {
$urlFilter = '&agent_filter='.$agentFilter.'&module_filter='.$moduleFilter.'&type_filter='.$typeFilter; $urlFilter = '&agent_filter='.$agentFilter.'&module_filter='.$moduleFilter.'&type_filter='.$typeFilter;
if (!defined('METACONSOLE')) { $table = new stdClass();
$table = new stdClass(); $table->width = '100%';
$table->width = '100%'; $table->class = 'filter-table-adv';
$table->class = 'filter-table-adv'; $table->size[0] = '33%';
$table->size[0] = '33%'; $table->size[1] = '33%';
$table->size[1] = '33%'; $table->size[1] = '33%';
$table->size[1] = '33%'; $table->data[0][0] = html_print_label_input_block(
$table->data[0][0] = html_print_label_input_block(
__('Agents'), __('Agents'),
html_print_select( html_print_select(
$agents, $agents,
@ -224,8 +223,8 @@ if (!defined('METACONSOLE')) {
false, false,
'width:100%' 'width:100%'
) )
); );
$table->data[0][1] = html_print_label_input_block( $table->data[0][1] = html_print_label_input_block(
__('Modules'), __('Modules'),
html_print_select( html_print_select(
$modules, $modules,
@ -241,8 +240,8 @@ if (!defined('METACONSOLE')) {
false, false,
'width:100%' 'width:100%'
) )
); );
$table->data[0][2] = html_print_label_input_block( $table->data[0][2] = html_print_label_input_block(
__('Type'), __('Type'),
html_print_select( html_print_select(
$types, $types,
@ -258,10 +257,10 @@ if (!defined('METACONSOLE')) {
false, false,
'width:100%' 'width:100%'
) )
); );
$form = '<form method="post" action ="index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=filter&id_report='.$idReport.'">'; $form = '<form method="post" action ="index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=filter&id_report='.$idReport.'">';
$form .= html_print_table($table, true); $form .= html_print_table($table, true);
$form .= html_print_div( $form .= html_print_div(
[ [
'class' => 'action-buttons', 'class' => 'action-buttons',
'content' => html_print_submit_button( 'content' => html_print_submit_button(
@ -277,63 +276,11 @@ if (!defined('METACONSOLE')) {
), ),
], ],
true true
); );
$form .= html_print_input_hidden('action', 'filter', true); $form .= html_print_input_hidden('action', 'filter', true);
$form .= '</form>'; $form .= '</form>';
ui_toggle($form, __('Filters'), '', '', false); ui_toggle($form, __('Filters'), '', '', false);
} else {
$table = new stdClass();
$table->width = '96%';
$table->class = 'databox_filters';
$table->cellpadding = 0;
$table->cellspacing = 0;
$table->data[0][0] = __('Agents');
$table->data[0][1] = html_print_select(
$agents,
'agent_filter',
$agentFilter,
'',
__('All'),
0,
true
);
$table->data[0][2] = __('Modules');
$table->data[0][3] = html_print_select(
$modules,
'module_filter',
$moduleFilter,
'',
__('All'),
0,
true
);
$table->data[0][4] = __('Type');
$table->data[0][5] = html_print_select(
$types,
'type_filter',
$typeFilter,
'',
__('All'),
0,
true
);
$table->style[6] = 'text-align:right;';
$table->data[0][6] = html_print_submit_button(
__('Filter'),
'filter',
false,
'class="sub upd"',
true
).html_print_input_hidden('action', 'filter', true);
$filters = '<form class="filters_form" method="post" action ="index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=
list_items&action=filter&id_report='.$idReport.'">';
$filters .= html_print_table($table, true);
$filters .= '</form>';
ui_toggle($filters, __('Show Options'));
}
$where = '1=1'; $where = '1=1';
if ($typeFilter != '0') { if ($typeFilter != '0') {
@ -412,16 +359,9 @@ $table->style[0] = 'text-align: right;';
if ($items) { if ($items) {
$table->width = '100%'; $table->width = '100%';
if (defined('METACONSOLE')) {
$table->width = '100%';
$table->class = 'databox data';
$arrow_up = 'images/sort_up.png';
$arrow_down = 'images/sort_down.png';
} else {
$table->class = 'info_table'; $table->class = 'info_table';
$arrow_up = 'images/sort_up_black.png'; $arrow_up = 'images/sort_up_black.png';
$arrow_down = 'images/sort_down_black.png'; $arrow_down = 'images/sort_down_black.png';
}
$table->size = []; $table->size = [];
$table->size[0] = '5px'; $table->size[0] = '5px';
@ -717,25 +657,7 @@ foreach ($items as $item) {
} }
} }
if (defined('METACONSOLE')) { if ($items != false) {
if ($items != false) {
ui_pagination($countItems, 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=edit&id_report='.$idReport.$urlFilter);
html_print_table($table);
ui_pagination($countItems, 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=edit&id_report='.$idReport.$urlFilter);
echo "<form action='index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=delete_items&id_report=".$idReport."'
method='post' onSubmit='return added_ids_deleted_items_to_hidden_input();'>";
echo "<div class='right w100p'>";
if (check_acl($config['id_user'], 0, 'RM')) {
html_print_input_hidden('ids_items_to_delete', '');
html_print_submit_button(__('Delete'), 'delete_btn', false, 'class="sub delete right mrgn_btn_15px"');
}
echo '</div>';
echo '</form>';
}
} else {
if ($items != false) {
ui_pagination( ui_pagination(
$countItems, $countItems,
'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=edit&id_report='.$idReport.$urlFilter 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=edit&id_report='.$idReport.$urlFilter
@ -767,64 +689,15 @@ if (defined('METACONSOLE')) {
); );
echo '</div>'; echo '</div>';
echo '</form>'; echo '</form>';
}
} }
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'filter-table-adv';
$table->size[0] = '50%';
$table->size[1] = '50%';
$table->data[1][0] = html_print_label_input_block(
if (defined('METACONSOLE')) {
$table->colspan[0][0] = 3;
$table->size = [];
$table->size[0] = '25%';
$table->size[1] = '25%';
$table->size[2] = '25%';
$table->size[3] = '25%';
$table->class = 'databox data';
$table->head[0] = __('Sort items');
$table->head_colspan[0] = 4;
$table->headstyle[0] = 'text-align: center';
$table->data[1][0] = __('Sort selected items from position: ');
$table->data[1][1] = html_print_select_style(
[
'before' => __('Move before to'),
'after' => __('Move after to'),
],
'move_to',
'',
'',
'',
'',
0,
true
);
$table->data[1][2] = html_print_input_text_extended(
'position_to_sort',
1,
'text-position_to_sort',
'',
3,
10,
false,
"only_numbers('position_to_sort');",
'',
true
);
$table->data[1][2] .= html_print_input_hidden('ids_items_to_sort', '', true);
$table->data[1][3] = html_print_submit_button(__('Sort'), 'sort_submit', false, 'class="sub upd"', true);
echo "<form action='index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=sort_items&id_report=".$idReport."'
method='post' onsubmit='return added_ids_sorted_items_to_hidden_input();'>";
html_print_table($table);
echo '</form>';
} else {
$table->class = 'filter-table-adv';
$table->size[0] = '50%';
$table->size[1] = '50%';
$table->data[1][0] = html_print_label_input_block(
__('Sort selected items from position: '), __('Sort selected items from position: '),
html_print_select_style( html_print_select_style(
[ [
@ -839,8 +712,8 @@ if (defined('METACONSOLE')) {
0, 0,
true, true,
) )
); );
$table->data[1][2] = html_print_label_input_block( $table->data[1][2] = html_print_label_input_block(
__('Position'), __('Position'),
html_print_input_text_extended( html_print_input_text_extended(
'position_to_sort', 'position_to_sort',
@ -854,11 +727,11 @@ if (defined('METACONSOLE')) {
'', '',
true true
).html_print_input_hidden('ids_items_to_sort', '', true) ).html_print_input_hidden('ids_items_to_sort', '', true)
); );
$form = "<form action='index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=sort_items&id_report=".$idReport."' method='post' onsubmit='return added_ids_sorted_items_to_hidden_input();'>"; $form = "<form action='index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=sort_items&id_report=".$idReport."' method='post' onsubmit='return added_ids_sorted_items_to_hidden_input();'>";
$form .= html_print_table($table, true); $form .= html_print_table($table, true);
$form .= html_print_div( $form .= html_print_div(
[ [
'class' => 'action-buttons', 'class' => 'action-buttons',
'content' => html_print_submit_button( 'content' => html_print_submit_button(
@ -874,67 +747,19 @@ if (defined('METACONSOLE')) {
), ),
], ],
true true
); );
$form .= html_print_input_hidden('action', 'sort_items', true); $form .= html_print_input_hidden('action', 'sort_items', true);
$form .= '</form>'; $form .= '</form>';
ui_toggle($form, __('Sort items'), '', '', false); ui_toggle($form, __('Sort items'), '', '', false);
}
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'filter-table-adv';
$table->size[0] = '50%';
$table->size[1] = '50%';
if (defined('METACONSOLE')) { $table->data[0][0] = html_print_label_input_block(
$table->colspan[0][0] = 3;
$table->size = [];
$table->size[0] = '25%';
$table->size[1] = '25%';
$table->size[2] = '25%';
$table->size[3] = '25%';
$table->class = 'databox data';
$table->head[0] = __('Delete items');
$table->head_colspan[0] = 4;
$table->headstyle[0] = 'text-align: center';
$table->data[1][0] = __('Delete selected items from position: ');
$table->data[1][1] = html_print_select_style(
[
'above' => __('Delete above to'),
'below' => __('Delete below to'),
],
'delete_m',
'',
'',
'',
'',
0,
true
);
$table->data[1][2] = html_print_input_text_extended(
'position_to_delete',
1,
'text-position_to_delete',
'',
3,
10,
false,
"only_numbers('position_to_delete');",
'',
true
);
$table->data[1][2] .= html_print_input_hidden('ids_items_to_delete', '', true);
$table->data[1][3] = html_print_submit_button(__('Delete'), 'delete_submit', false, 'class="sub upd"', true);
echo "<form action='index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=delete_items_pos&id_report=".$idReport."'
method='post'>";
html_print_table($table);
echo '</form>';
} else {
$table->class = 'filter-table-adv';
$table->size[0] = '50%';
$table->size[1] = '50%';
$table->data[0][0] = html_print_label_input_block(
__('Delete selected items from position: '), __('Delete selected items from position: '),
html_print_select_style( html_print_select_style(
[ [
@ -949,8 +774,8 @@ if (defined('METACONSOLE')) {
0, 0,
true true
) )
); );
$table->data[0][1] = html_print_label_input_block( $table->data[0][1] = html_print_label_input_block(
__('Poisition'), __('Poisition'),
html_print_input_text_extended( html_print_input_text_extended(
'position_to_delete', 'position_to_delete',
@ -964,13 +789,13 @@ if (defined('METACONSOLE')) {
'', '',
true true
) )
); );
$form = "<form action='index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=delete_items_pos&id_report=".$idReport."' $form = "<form action='index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&tab=list_items&action=delete_items_pos&id_report=".$idReport."'
method='post'>"; method='post'>";
$form .= html_print_input_hidden('ids_items_to_delete', '', true); $form .= html_print_input_hidden('ids_items_to_delete', '', true);
$form .= html_print_table($table, true); $form .= html_print_table($table, true);
$form .= html_print_div( $form .= html_print_div(
[ [
'class' => 'action-buttons', 'class' => 'action-buttons',
'content' => html_print_submit_button( 'content' => html_print_submit_button(
@ -986,10 +811,10 @@ if (defined('METACONSOLE')) {
), ),
], ],
true true
); );
$form .= '</form>'; $form .= '</form>';
ui_toggle($form, __('Delete items'), '', '', false); ui_toggle($form, __('Delete items'), '', '', false);
}
?> ?>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -70,21 +70,13 @@ $table->head = [];
$table->data = []; $table->data = [];
$table->size = []; $table->size = [];
if (is_metaconsole() === true) {
$table->class = 'databox filters'; $table->class = 'filter-table-adv databox';
$table->head[0] = __('Main data'); $table->size[0] = '50%';
$table->head_colspan[0] = 4; $table->size[1] = '50%';
$table->headstyle[0] = 'text-align: center'; $table->size[2] = '50%';
$table->size[0] = '15%'; $table->size[3] = '50%';
$table->size[1] = '90%';
$table->style[0] = 'font-weight: bold; vertical-align: top;';
} else {
$table->class = 'filter-table-adv databox';
$table->size[0] = '50%';
$table->size[1] = '50%';
$table->size[2] = '50%';
$table->size[3] = '50%';
}
$write_groups = users_get_groups_for_select( $write_groups = users_get_groups_for_select(
false, false,
@ -95,22 +87,7 @@ $write_groups = users_get_groups_for_select(
'id_grupo' 'id_grupo'
); );
if (is_metaconsole() === true) { $table->data[0][0] = html_print_label_input_block(
$table->data['name'][0] = __('Name');
$table->data['name'][1] = html_print_input_text(
'name',
$reportName,
__('Name'),
80,
100,
true,
false,
true
);
$table->data['group'][0] = __('Group');
} else {
$table->data[0][0] = html_print_label_input_block(
__('Name'), __('Name'),
html_print_input_text( html_print_input_text(
'name', 'name',
@ -122,8 +99,8 @@ if (is_metaconsole() === true) {
false, false,
true true
) )
); );
}
// If the report group is not among the // If the report group is not among the
// RW groups (special permission) we add it. // RW groups (special permission) we add it.
@ -137,26 +114,8 @@ if (users_can_manage_group_all('RW') === true) {
$return_all_group = true; $return_all_group = true;
} }
if (is_metaconsole() === true) {
$table->data['group'][1] = '<div class="w290px inline">'; $table->data[0][1] = html_print_label_input_block(
$table->data['group'][1] .= html_print_input(
[
'type' => 'select_groups',
'id_user' => $config['id_user'],
'privilege' => 'AR',
'returnAllGroup' => $return_all_group,
'name' => 'id_group',
'selected' => $idGroupReport,
'script' => '',
'nothing' => '',
'nothing_value' => '',
'return' => true,
'required' => true,
]
);
$table->data['group'][1] .= '</div>';
} else {
$table->data[0][1] = html_print_label_input_block(
__('Group'), __('Group'),
html_print_input( html_print_input(
[ [
@ -173,22 +132,11 @@ if (is_metaconsole() === true) {
'required' => true, 'required' => true,
] ]
) )
); );
}
if (is_metaconsole() === true) {
$table->data['description'][0] = __('Description'); $table->colspan[1][0] = 2;
$table->data['description'][1] = html_print_textarea( $table->data[1][0] = html_print_label_input_block(
'description',
2,
80,
$description,
'',
true
);
} else {
$table->colspan[1][0] = 2;
$table->data[1][0] = html_print_label_input_block(
__('Description'), __('Description'),
html_print_textarea( html_print_textarea(
'description', 'description',
@ -198,8 +146,8 @@ if (is_metaconsole() === true) {
'', '',
true true
) )
); );
}
if ($report_id_user == $config['id_user'] if ($report_id_user == $config['id_user']
|| is_user_admin($config['id_user']) || is_user_admin($config['id_user'])
@ -210,43 +158,6 @@ if ($report_id_user == $config['id_user']
'group_edit' => __('The next group can edit the report'), 'group_edit' => __('The next group can edit the report'),
'user_edit' => __('Only the user and admin user can edit the report'), 'user_edit' => __('Only the user and admin user can edit the report'),
]; ];
if (is_metaconsole() === true) {
$table->data['access'][0] = __('Write Access');
$table->data['access'][0] .= ui_print_help_tip(
__('For example, you want a report that the people of "All" groups can see but you want to edit only for you or your group.'),
true
);
$table->data['access'][1] = html_print_select(
$type_access,
'type_access',
$type_access_selected,
'change_type_access(this)',
'',
0,
true
);
$class = ' invisible_important ';
if ($type_access_selected == 'group_edit') {
$class = '';
}
$table->data['access'][1] .= '<span class="access_subform'.$class.'" id="group_edit">';
$table->data['access'][1] .= '<div class="w290px inline">';
$table->data['access'][1] .= html_print_select_groups(
false,
'RW',
false,
'id_group_edit',
$id_group_edit,
false,
'',
'',
true
);
$table->data['access'][1] .= '</div>';
$table->data['access'][1] .= '</span>';
} else {
$table->data[2][0] = html_print_label_input_block( $table->data[2][0] = html_print_label_input_block(
__('Write Access').ui_print_help_tip( __('Write Access').ui_print_help_tip(
__('For example, you want a report that the people of "All" groups can see but you want to edit only for you or your group.'), __('For example, you want a report that the people of "All" groups can see but you want to edit only for you or your group.'),
@ -284,7 +195,6 @@ if ($report_id_user == $config['id_user']
), ),
$options $options
); );
}
} }
if ($enterpriseEnable) { if ($enterpriseEnable) {
@ -293,15 +203,6 @@ if ($enterpriseEnable) {
$non_interactive_check = $non_interactive; $non_interactive_check = $non_interactive;
} }
if (is_metaconsole() === true) {
$table->data['interactive_report'][0] = __('Non interactive report');
$table->data['interactive_report'][1] .= html_print_checkbox_switch(
'non_interactive',
1,
$non_interactive_check,
true
);
} else {
$table->data[2][1] = html_print_label_input_block( $table->data[2][1] = html_print_label_input_block(
__('Non interactive report'), __('Non interactive report'),
html_print_checkbox_switch( html_print_checkbox_switch(
@ -311,28 +212,10 @@ if ($enterpriseEnable) {
true true
) )
); );
}
} }
if (enterprise_installed() === true) { if (enterprise_installed() === true) {
if (is_metaconsole() === true) {
$table->data['cover'][0] = __('Generate cover page in PDF render');
$table->data['cover'][1] = html_print_checkbox_switch(
'cover_page_render',
1,
$cover_page_render,
true
);
$table->data['index'][0] = __('Generate index in PDF render');
$table->data['index'][1] = html_print_checkbox_switch(
'index_render',
1,
$index_render,
true
);
} else {
$table->data[3][0] = html_print_label_input_block( $table->data[3][0] = html_print_label_input_block(
__('Generate cover page in PDF render'), __('Generate cover page in PDF render'),
html_print_checkbox_switch( html_print_checkbox_switch(
@ -352,9 +235,9 @@ if (enterprise_installed() === true) {
true true
) )
); );
}
} }
echo '<form class="" method="post">'; echo '<form class="" method="post">';
html_print_table($table); html_print_table($table);

View File

@ -713,47 +713,6 @@ switch ($action) {
$table_aux = new stdClass(); $table_aux = new stdClass();
$table_aux->width = '100%'; $table_aux->width = '100%';
if (is_metaconsole()) {
$table_aux->class = 'databox filters';
$table_aux->colspan[0][0] = 4;
$table_aux->data[0][0] = '<b>'.__('Group').'</b>';
$table_aux->data[0][1] = html_print_select_groups(
false,
$access,
true,
'id_group',
$id_group,
'',
'',
'',
true,
false,
true,
'',
false,
'',
false,
false,
'id_grupo'
).'<br>';
$table_aux->data[0][2] = '<b>'.__('Free text for search: ');
$table_aux->data[0][2] .= ui_print_help_tip(
__('Search by report name or description, list matches.'),
true
);
$table_aux->data[0][2] .= '</b>';
$table_aux->data[0][3] = html_print_input_text(
__('search'),
$search,
'',
30,
'',
true
);
} else {
$table_aux->class = 'filter-table-adv'; $table_aux->class = 'filter-table-adv';
$table_aux->size[0] = '30%'; $table_aux->size[0] = '30%';
$table_aux->size[1] = '30%'; $table_aux->size[1] = '30%';
@ -796,25 +755,8 @@ switch ($action) {
true true
) )
); );
}
if (is_metaconsole()) {
$table_aux->data[0][6] = html_print_submit_button(
__('Search'),
'search_submit',
false,
'class="sub upd"',
true
);
}
$url_rb = 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder'; $url_rb = 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder';
if (is_metaconsole()) {
$filter = '<form action="'.$url_rb.'&id_group='.$id_group.'&pure='.$pure.'" method="post">';
$filter .= html_print_table($table_aux, true);
$filter .= '</form>';
ui_toggle($filter, __('Show Option'));
} else {
$searchForm = '<form action="'.$url_rb.'&id_group='.$id_group.'&pure='.$pure.'" method="post">'; $searchForm = '<form action="'.$url_rb.'&id_group='.$id_group.'&pure='.$pure.'" method="post">';
$searchForm .= html_print_table($table_aux, true); $searchForm .= html_print_table($table_aux, true);
$searchForm .= html_print_div( $searchForm .= html_print_div(
@ -846,7 +788,6 @@ switch ($action) {
'white-box-content', 'white-box-content',
'box-flat white_table_graph fixed_filter_bar' 'box-flat white_table_graph fixed_filter_bar'
); );
}
ui_require_jquery_file('pandora.controls'); ui_require_jquery_file('pandora.controls');
ui_require_jquery_file('ajaxqueue'); ui_require_jquery_file('ajaxqueue');

View File

@ -845,9 +845,9 @@ foreach ($defaultAgentWizardOptions as $key => $value) {
$i++; $i++;
} }
echo '<form id="form_setup" method="post">'; echo '<form id="form_setup" method="post" class="max_floating_element_size">';
echo '<fieldset class="full-column">'; echo '<fieldset>';
echo '<legend>'.__('Database maintenance status').' '.ui_print_help_icon('database_maintenance_status_tab', true).'</legend>'; echo '<legend>'.__('Database maintenance status').' '.ui_print_help_icon('database_maintenance_status_tab', true).'</legend>';
html_print_table($table_status); html_print_table($table_status);
echo '</fieldset>'; echo '</fieldset>';

View File

@ -431,7 +431,7 @@ $table_styles->data[$row][] = html_print_label_input_block(
$config['login_background'], $config['login_background'],
'', '',
__('Default'), __('Default'),
'background_pandora_console_keys.jpg', '',
true, true,
false, false,
true, true,
@ -571,7 +571,7 @@ if (enterprise_installed() === true) {
$config['custom_splash_login'], $config['custom_splash_login'],
'', '',
__('Default'), __('Default'),
'default.svg', 'default',
true, true,
false, false,
true, true,

View File

@ -874,7 +874,7 @@ class DiscoveryTaskList extends HTML
$data[7] = ui_progress( $data[7] = ui_progress(
$task['status'], $task['status'],
'100%', '100%',
1.9, 1.2,
// Color. // Color.
'#ececec', '#ececec',
// Return. // Return.
@ -891,7 +891,8 @@ class DiscoveryTaskList extends HTML
'id' => $task['id_rt'], 'id' => $task['id_rt'],
'method' => 'taskProgress', 'method' => 'taskProgress',
], ],
] ],
''
); );
} }

View File

@ -393,7 +393,7 @@ class SatelliteAgent extends HTML
true, true,
[ [
'border' => '0', 'border' => '0',
'class' => 'action_button_img mrgn_lft_05em invert_filter', 'class' => 'main_menu_icon mrgn_lft_05em invert_filter',
'onclick' => 'disable_agent(\''.$tmp->address.'\',\''.strip_tags($tmp->name).'\',\''.(int) $disable.'\',\''.$id_agente.'\')', 'onclick' => 'disable_agent(\''.$tmp->address.'\',\''.strip_tags($tmp->name).'\',\''.(int) $disable.'\',\''.$id_agente.'\')',
] ]
); );
@ -405,7 +405,7 @@ class SatelliteAgent extends HTML
true, true,
[ [
'border' => '0', 'border' => '0',
'class' => 'action_button_img mrgn_lft_05em invert_filter', 'class' => 'main_menu_icon mrgn_lft_05em invert_filter',
'onclick' => 'delete_agent(\''.$tmp->address.'\',\''.strip_tags($tmp->name).'\',\''.(int) $delete.'\',\''.$id_agente.'\')', 'onclick' => 'delete_agent(\''.$tmp->address.'\',\''.strip_tags($tmp->name).'\',\''.(int) $delete.'\',\''.$id_agente.'\')',
] ]
); );

View File

@ -20,7 +20,7 @@
/** /**
* Pandora build version and version * Pandora build version and version
*/ */
$build_version = 'PC230321'; $build_version = 'PC230322';
$pandora_version = 'v7.0NG.769'; $pandora_version = 'v7.0NG.769';
// Do not overwrite default timezone set if defined. // Do not overwrite default timezone set if defined.

View File

@ -2561,7 +2561,7 @@ function config_process_config()
} }
if (!isset($config['custom_splash_login'])) { if (!isset($config['custom_splash_login'])) {
config_update_value('custom_splash_login', 'default'); config_update_value('custom_splash_login', 'none.png');
} }
if (!isset($config['custom_docs_logo'])) { if (!isset($config['custom_docs_logo'])) {
@ -2597,11 +2597,11 @@ function config_process_config()
} }
if (!isset($config['custom_title1_login'])) { if (!isset($config['custom_title1_login'])) {
config_update_value('custom_title1_login', __('PANDORA FMS')); config_update_value('custom_title1_login', __('ONE TOOL TO MONITOR THEM ALL'));
} }
if (!isset($config['custom_title2_login'])) { if (!isset($config['custom_title2_login'])) {
config_update_value('custom_title2_login', __('ONE TOOL TO MONITOR THEM ALL')); config_update_value('custom_title2_login', '');
} }
if (!isset($config['custom_docs_url'])) { if (!isset($config['custom_docs_url'])) {
@ -2649,11 +2649,11 @@ function config_process_config()
} }
if (!isset($config['meta_custom_title1_login'])) { if (!isset($config['meta_custom_title1_login'])) {
config_update_value('meta_custom_title1_login', __('PANDORA FMS NEXT GENERATION')); config_update_value('meta_custom_title1_login', __('ONE TOOL TO MONITOR THEM ALL'));
} }
if (!isset($config['meta_custom_title2_login'])) { if (!isset($config['meta_custom_title2_login'])) {
config_update_value('meta_custom_title2_login', __('METACONSOLE')); config_update_value('meta_custom_title2_login', __('COMMAND CENTER'));
} }
if (!isset($config['vc_favourite_view'])) { if (!isset($config['vc_favourite_view'])) {
@ -3482,7 +3482,7 @@ function config_process_config()
} }
if (!isset($config['random_background'])) { if (!isset($config['random_background'])) {
config_update_value('random_background', ''); config_update_value('random_background', 1);
} }
if (!isset($config['meta_random_background'])) { if (!isset($config['meta_random_background'])) {

View File

@ -3630,10 +3630,9 @@ function html_print_button($label='OK', $name='', $disabled=false, $script='', $
$classes .= ' buttonButton'; $classes .= ' buttonButton';
} }
if ($disabled === true) { // if ($disabled === true) {
$classes .= ' disabled_action_button'; // $classes .= ' disabled_action_button';
} // }
if (empty($buttonAttributes) === true) { if (empty($buttonAttributes) === true) {
$parameters = []; $parameters = [];
$parameters[] = 'class="'.$classes.'"'; $parameters[] = 'class="'.$classes.'"';
@ -6199,7 +6198,8 @@ function html_print_tabs(array $tabs)
$result .= "<li><a href='".$value['href']."' id='".$value['id']."'>"; $result .= "<li><a href='".$value['href']."' id='".$value['id']."'>";
$result .= html_print_image( $result .= html_print_image(
'images/'.$value['img'], 'images/'.$value['img'],
true true,
['class' => 'main_menu_icon invert_filter']
); );
$result .= '<span>'.$value['name'].'</span>'; $result .= '<span>'.$value['name'].'</span>';
$result .= '</a></li>'; $result .= '</a></li>';

View File

@ -58,6 +58,16 @@ function menu_print_menu(&$menu)
$sec2 = (string) get_parameter('sec2'); $sec2 = (string) get_parameter('sec2');
if ($sec2 === 'operation/agentes/ver_agente') { if ($sec2 === 'operation/agentes/ver_agente') {
$sec2 = 'godmode/agentes/configurar_agente'; $sec2 = 'godmode/agentes/configurar_agente';
} else if ($sec2 === 'godmode/alerts/configure_alert_template') {
$sec2 = 'godmode/alerts/alert_templates';
} else if ($sec2 === 'godmode/events/events') {
$sec2 = 'godmode/events/events&section=filter';
} else if ($sec2 === 'godmode/alerts/configure_alert_action') {
$sec2 = 'godmode/alerts/alert_actions';
} else if ($sec2 === 'godmode/alerts/configure_alert_command') {
$sec2 = 'godmode/alerts/alert_commands';
} else if ($sec2 === 'enterprise/godmode/setup/edit_skin') {
$sec2 = 'enterprise/godmode/setup/setup_skins';
} else if ($sec2 === 'godmode/servers/discovery') { } else if ($sec2 === 'godmode/servers/discovery') {
$wiz = (string) get_parameter('wiz'); $wiz = (string) get_parameter('wiz');
$sec2 = 'godmode/servers/discovery&wiz='.$wiz; $sec2 = 'godmode/servers/discovery&wiz='.$wiz;

View File

@ -6002,6 +6002,7 @@ function reporting_get_last_activity()
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->data = []; $table->data = [];
$table->class = 'info_table';
$table->size = []; $table->size = [];
$table->size[2] = '150px'; $table->size[2] = '150px';
$table->size[3] = '130px'; $table->size[3] = '130px';
@ -6015,8 +6016,6 @@ function reporting_get_last_activity()
$table->head[5] = __('Comments'); $table->head[5] = __('Comments');
$table->title = '<span>'.__('Last activity in %s console', get_product_name()).'</span>'; $table->title = '<span>'.__('Last activity in %s console', get_product_name()).'</span>';
switch ($config['dbtype']) {
case 'mysql':
$sql = sprintf( $sql = sprintf(
'SELECT id_usuario,accion,fecha,ip_origen,descripcion,utimestamp 'SELECT id_usuario,accion,fecha,ip_origen,descripcion,utimestamp
FROM tsesion FROM tsesion
@ -6024,28 +6023,6 @@ function reporting_get_last_activity()
AND `id_usuario` = '%s' ORDER BY `utimestamp` DESC LIMIT 5", AND `id_usuario` = '%s' ORDER BY `utimestamp` DESC LIMIT 5",
$config['id_user'] $config['id_user']
); );
break;
case 'postgresql':
$sql = sprintf(
"SELECT \"id_usuario\", accion, fecha, \"ip_origen\", descripcion, utimestamp
FROM tsesion
WHERE (\"utimestamp\" > ceil(date_part('epoch', CURRENT_TIMESTAMP)) - ".SECONDS_1WEEK.")
AND \"id_usuario\" = '%s' ORDER BY \"utimestamp\" DESC LIMIT 5",
$config['id_user']
);
break;
case 'oracle':
$sql = sprintf(
"SELECT id_usuario, accion, fecha, ip_origen, descripcion, utimestamp
FROM tsesion
WHERE ((utimestamp > ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (".SECONDS_1DAY.')) - '.SECONDS_1WEEK.")
AND id_usuario = '%s') AND rownum <= 10 ORDER BY utimestamp DESC",
$config['id_user']
);
break;
}
$sessions = db_get_all_rows_sql($sql); $sessions = db_get_all_rows_sql($sql);
@ -6056,18 +6033,8 @@ function reporting_get_last_activity()
foreach ($sessions as $session) { foreach ($sessions as $session) {
$data = []; $data = [];
switch ($config['dbtype']) {
case 'mysql':
case 'oracle':
$session_id_usuario = $session['id_usuario']; $session_id_usuario = $session['id_usuario'];
$session_ip_origen = $session['ip_origen']; $session_ip_origen = $session['ip_origen'];
break;
case 'postgresql':
$session_id_usuario = $session['id_usuario'];
$session_ip_origen = $session['ip_origen'];
break;
}
$data[0] = '<strong>'.$session_id_usuario.'</strong>'; $data[0] = '<strong>'.$session_id_usuario.'</strong>';
$data[1] = ui_print_session_action_icon($session['accion'], true); $data[1] = ui_print_session_action_icon($session['accion'], true);
@ -6079,10 +6046,6 @@ function reporting_get_last_activity()
array_push($table->data, $data); array_push($table->data, $data);
} }
if (defined('METACONSOLE')) {
$table->class = 'databox_tactical';
}
return html_print_table($table, true); return html_print_table($table, true);
} }

View File

@ -657,7 +657,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
$table->data['description'] = $row; $table->data['description'] = $row;
// Last contact. // Last contact.
$last_contact = ui_print_timestamp($agent['ultimo_contacto'], true, ['class' => 'font_11']); $last_contact = ui_print_timestamp($agent['ultimo_contacto'], true, ['style' => 'font-size: 13px;']);
if ($agent['ultimo_contacto_remoto'] === '01-01-1970 00:00:00') { if ($agent['ultimo_contacto_remoto'] === '01-01-1970 00:00:00') {
$last_remote_contact = __('Never'); $last_remote_contact = __('Never');
@ -689,8 +689,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
'#ececec', '#ececec',
true, true,
'', '',
false, false
'line-height: 13px;'
); );
$table->data['next_contact'] = $row; $table->data['next_contact'] = $row;

View File

@ -283,6 +283,14 @@ function ui_print_message($message, $class='', $attributes='', $return=false, $t
if (empty($message['force_class']) === false) { if (empty($message['force_class']) === false) {
$force_class = $message['force_class']; $force_class = $message['force_class'];
} }
if (isset($message['autoclose']) === true) {
if ($message['autoclose'] === true) {
$autoclose = true;
} else {
$autoclose = false;
}
}
} else { } else {
$text_message = $message; $text_message = $message;
} }
@ -5012,14 +5020,7 @@ function ui_print_standard_header(
$applyBreadcrumbs, $applyBreadcrumbs,
true true
); );
// Create the header.
// if (is_metaconsole() === true) {
// $output = ui_meta_print_header(
// $title,
// false,
// $options
// );
// } else {
$output = ui_print_page_header( $output = ui_print_page_header(
$title, $title,
$icon, $icon,
@ -5035,7 +5036,6 @@ function ui_print_standard_header(
false, false,
$fav_menu_config $fav_menu_config
); );
// }
if ($return !== true) { if ($return !== true) {
echo $output; echo $output;
} else { } else {
@ -5986,14 +5986,14 @@ function ui_print_agent_autocomplete_input($parameters)
$javascript_function_change .= ' $javascript_function_change .= '
function setInputBackground(inputId, image) { function setInputBackground(inputId, image) {
$("#"+inputId) $("#"+inputId)
.attr("style", "background-image: url(\'"+image+"\'); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; '.$inputStyles.'"); .attr("style", "background-image: url(\'"+image+"\'); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; width:100%; '.$inputStyles.'");
} }
$(document).ready(function () { $(document).ready(function () {
$("#'.$input_id.'").focusout(function (e) { $("#'.$input_id.'").focusout(function (e) {
setTimeout(() => { setTimeout(() => {
let iconImage = "'.$icon_image.'"; let iconImage = "'.$icon_image.'";
$("#'.$input_id.'").attr("style", "background-image: url(\'"+iconImage+"\'); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; '.$inputStyles.'"); $("#'.$input_id.'").attr("style", "background-image: url(\'"+iconImage+"\'); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; width:100%; '.$inputStyles.'");
}, 100); }, 100);
}); });
}); });
@ -6267,7 +6267,7 @@ function ui_print_agent_autocomplete_input($parameters)
if (select_item_click) { if (select_item_click) {
select_item_click = 0; select_item_click = 0;
$("#'.$input_id.'") $("#'.$input_id.'")
.attr("style", "background-image: url(\"'.$spinner_image.'\"); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; '.$inputStyles.'"); .attr("style", "background-image: url(\"'.$spinner_image.'\"); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; width:100%; '.$inputStyles.'");
return; return;
} else { } else {
// Clear selectbox if item is not selected. // Clear selectbox if item is not selected.
@ -6282,7 +6282,7 @@ function ui_print_agent_autocomplete_input($parameters)
//Set loading //Set loading
$("#'.$input_id.'") $("#'.$input_id.'")
.attr("style", "background-image: url(\"'.$spinner_image.'\"); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; '.$inputStyles.'"); .attr("style", "background-image: url(\"'.$spinner_image.'\"); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; width:100%; '.$inputStyles.'");
var term = input_value; //Word to search var term = input_value; //Word to search
'.$javascript_change_ajax_params_text.' '.$javascript_change_ajax_params_text.'
@ -6299,7 +6299,7 @@ function ui_print_agent_autocomplete_input($parameters)
success: function (data) { success: function (data) {
if (data.length < 2) { if (data.length < 2) {
//Set icon //Set icon
$("#'.$input_id.'").attr("style", "background-image: url(\"'.$spinner_image.'\"); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; '.$inputStyles.'"); $("#'.$input_id.'").attr("style", "background-image: url(\"'.$spinner_image.'\"); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; width:100%; '.$inputStyles.'");
return; return;
} }
@ -6349,7 +6349,7 @@ function ui_print_agent_autocomplete_input($parameters)
//Set icon //Set icon
$("#'.$input_id.'") $("#'.$input_id.'")
.attr("style", "background: url(\"'.$icon_image.'\") 97% center no-repeat; background-size: 20px; '.$inputStyles.'") .attr("style", "background: url(\"'.$icon_image.'\") 97% center no-repeat; background-size: 20px; width:100%; '.$inputStyles.'")
return; return;
} }
}); });
@ -6368,7 +6368,7 @@ function ui_print_agent_autocomplete_input($parameters)
} }
$attrs = []; $attrs = [];
$attrs['style'] = 'background-image: url('.$icon_image.'); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; '.$text_color.' '.$inputStyles.''; $attrs['style'] = 'background-image: url('.$icon_image.'); background-repeat: no-repeat; background-position: 97% center; background-size: 20px; width:100%; '.$text_color.' '.$inputStyles.'';
if (!$disabled_javascript_on_blur_function) { if (!$disabled_javascript_on_blur_function) {
$attrs['onblur'] = $javascript_on_blur_function_name.'()'; $attrs['onblur'] = $javascript_on_blur_function_name.'()';
@ -7319,9 +7319,6 @@ function ui_get_inventory_module_add_form(
$table->rowstyle = []; $table->rowstyle = [];
$table->rowstyle['hidden-custom-field-row'] = 'display: none;'; $table->rowstyle['hidden-custom-field-row'] = 'display: none;';
$table->rowstyle['custom-fields-button'] = 'display: none;'; $table->rowstyle['custom-fields-button'] = 'display: none;';
// $table->colspan = [];
// $table->colspan['custom-fields-row'] = [];
// $table->colspan['custom-fields-row']['custom-fields-column'] = 2;
$table->data = []; $table->data = [];
$row = []; $row = [];
@ -7585,13 +7582,10 @@ function ui_get_inventory_module_add_form(
ob_start(); ob_start();
echo '<form name="modulo" method="post" action="'.$form_action.'" class="max_floating_element_size">'; echo '<form id="policy_inventory_module_edit_form" name="modulo" method="post" action="'.$form_action.'" class="max_floating_element_size">';
echo html_print_table($table); echo html_print_table($table);
echo '<div class="action-buttons w100p">';
echo $form_buttons; echo $form_buttons;
echo '</div>';
echo '</form>'; echo '</form>';
?> ?>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -360,11 +360,14 @@ if ($getVisualConsole === true) {
$removeBtn = [ $removeBtn = [
'name' => 'Remove', 'name' => 'Remove',
'label' => '', 'label' => __('Remove'),
'type' => 'button', 'type' => 'button',
'attributes' => 'class="remove-item-img"', 'attributes' => [
'mode' => 'mini secondary',
'icon' => 'delete',
],
'return' => true, 'return' => true,
'script' => 'removeColorRange(\''.$uniqId.'\')', 'script' => 'removeColorRange("'.$uniqId.'")',
]; ];
$classRangeColor = 'interval-color-ranges flex-row flex-start w100p'; $classRangeColor = 'interval-color-ranges flex-row flex-start w100p';
@ -377,8 +380,7 @@ if ($getVisualConsole === true) {
$liRangeColor .= '<div>'; $liRangeColor .= '<div>';
$liRangeColor .= html_print_input($rangeColor); $liRangeColor .= html_print_input($rangeColor);
$liRangeColor .= '</div>'; $liRangeColor .= '</div>';
$liRangeColor .= '<label></label>'; $liRangeColor .= html_print_input($removeBtn, 'div', true);
$liRangeColor .= html_print_input($removeBtn);
$liRangeColor .= '<li>'; $liRangeColor .= '<li>';
echo $liRangeColor; echo $liRangeColor;

View File

@ -480,11 +480,14 @@ final class ColorCloud extends Item
[ [
'arguments' => [ 'arguments' => [
'name' => 'add', 'name' => 'add',
'label' => '', 'label' => __('Add'),
'type' => 'button', 'type' => 'button',
'attributes' => 'class="add-item-img"', 'attributes' => [
'mode' => 'mini secondary',
'icon' => 'next',
],
'return' => true, 'return' => true,
'script' => 'createColorRange(\''.$baseUrl.'\',\''.$values['vCId'].'\')', 'script' => 'createColorRange("'.$baseUrl.'","'.$values['vCId'].'")',
], ],
], ],
], ],
@ -540,13 +543,14 @@ final class ColorCloud extends Item
[ [
'arguments' => [ 'arguments' => [
'name' => 'remove-'.$uniqId, 'name' => 'remove-'.$uniqId,
'label' => '', 'label' => __('Remove'),
'type' => 'button', 'type' => 'button',
'attributes' => 'class="remove-item-img"', 'attributes' => [
'mode' => 'mini secondary',
'icon' => 'delete',
],
'return' => true, 'return' => true,
'script' => 'removeColorRange( 'script' => 'removeColorRange("'.$uniqId.'")',
\''.$uniqId.'\'
)',
], ],
], ],
], ],

View File

@ -538,7 +538,7 @@ final class ModuleGraph extends Item
// Choose Type module graph if graph normal or custom. // Choose Type module graph if graph normal or custom.
$inputs[] = [ $inputs[] = [
'wrapper' => 'div', 'wrapper' => 'div',
'class' => 'flex-row-vcenter', 'class' => 'flex',
'direct' => 1, 'direct' => 1,
'block_content' => [ 'block_content' => [
[ [

View File

@ -26,7 +26,7 @@ div#error_buttons a {
/* Set rules to fill background */ /* Set rules to fill background */
/* background-color:#000 !important; */ /* background-color:#000 !important; */
min-height: 100%; min-height: 100%;
min-width: 1200px; /* min-width: 1200px; */
width: 100%; width: 100%;
position: absolute; position: absolute;
background-repeat: repeat; background-repeat: repeat;
@ -68,7 +68,7 @@ div#login_f {
#ver_num { #ver_num {
width: 100%; width: 100%;
color: #878787; color: #dddddd;
text-align: center; text-align: center;
font-weight: 350; font-weight: 350;
font-size: 10px; font-size: 10px;
@ -105,7 +105,7 @@ div#list_icon_docs_support ul {
div#list_icon_docs_support ul li { div#list_icon_docs_support ul li {
display: inline-block; display: inline-block;
color: white; color: #fff;
vertical-align: middle; vertical-align: middle;
margin-right: 5px; margin-right: 5px;
font-size: 10pt; font-size: 10pt;
@ -140,7 +140,9 @@ li#li_margin_support {
} }
div.login_page { div.login_page {
background-color: rgba(0, 0, 0, 0.8); /* background-color: rgba(0, 0, 0, 0.8); */
/* background-color: rgba(255, 255, 255, 0.2); */
background-color: var(--login-background-color);
width: 40vw; width: 40vw;
min-width: 300px; min-width: 300px;
height: 100vh; height: 100vh;
@ -164,7 +166,8 @@ div.login_logo_icon {
div.login_logo_icon img { div.login_logo_icon img {
margin: 0 auto; margin: 0 auto;
width: 300px; max-height: 185px;
max-width: 300px;
} }
div.login_double_auth_code, div.login_double_auth_code,
@ -174,7 +177,6 @@ div.login_pass {
width: 300px; width: 300px;
height: 40px; height: 40px;
margin-bottom: 20px; margin-bottom: 20px;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
border-radius: 3px; border-radius: 3px;
} }
@ -195,8 +197,8 @@ div.login_pass input {
box-sizing: border-box; box-sizing: border-box;
} }
div.login_pass > input#pass { input {
background-image: url(../../images/enable.svg); background-color: transparent;
} }
input:not([type="image"]):focus, input:not([type="image"]):focus,
@ -335,23 +337,26 @@ div.login_data {
div.text_banner_login { div.text_banner_login {
width: 100%; width: 100%;
color: white; color: #fff;
margin-top: 40px; margin-top: 40px;
display: flex;
flex-direction: column;
} }
span.span1 { span.span1 {
font-size: 38px; display: block;
letter-spacing: -0.38px; max-width: 700px;
font-size: 80pt;
line-height: 80pt;
font-family: "lato-bolder"; font-family: "lato-bolder";
color: white; color: #fff;
line-height: 49pt;
} }
span.span2 { span.span2 {
display: block; display: block;
width: 700px; max-width: 700px;
font-size: 80pt; font-size: 30pt;
line-height: 80pt; line-height: 30pt;
font-family: "lato-bolder"; font-family: "lato-bolder";
color: #fff; color: #fff;
} }
@ -377,16 +382,18 @@ div.img_banner_login img {
@media all and (max-width: 1266px) { @media all and (max-width: 1266px) {
span.span1 { span.span1 {
font-size: 38px; display: block;
letter-spacing: -0.38px; max-width: 500px;
font-weight: bold;
color: white;
line-height: 49pt;
}
span.span2 {
width: 550px;
font-size: 60pt; font-size: 60pt;
line-height: 60pt; line-height: 60pt;
font-weight: bold;
color: #fff;
}
span.span2 {
display: block;
max-width: 500px;
font-size: 20pt;
line-height: 20pt;
font-family: "lato-bolder"; font-family: "lato-bolder";
color: #fff; color: #fff;
} }
@ -682,7 +689,7 @@ div.button_message_alert_form input {
bottom: 10px; bottom: 10px;
/* background: transparent; */ /* background: transparent; */
background: #f1f1f1; background: #f1f1f1;
border: solid white 10px; border: solid #fff 10px;
border-radius: 50%; border-radius: 50%;
} }
@ -715,6 +722,7 @@ div.login_pass input:-webkit-autofill:active {
background-size: 27px; background-size: 27px;
background-position: right 10px bottom 50%; background-position: right 10px bottom 50%;
box-sizing: border-box; box-sizing: border-box;
-webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0) inset !important;
} }
div.login_pass input:-webkit-autofill, div.login_pass input:-webkit-autofill,
@ -796,3 +804,62 @@ button.submitButton > span {
font-size: 9pt; font-size: 9pt;
top: -10px; top: -10px;
} }
div.login_nick.white-theme input,
div.login_pass.white-theme input {
background-color: #f6f7fb;
border: 0px;
color: #343434;
border-radius: 3px;
width: 100%;
height: 40px;
font-size: 10pt;
padding: 0px 0px 0px 8%;
background-repeat: no-repeat;
background-size: 27px;
background-position: right 10px bottom 50%;
box-sizing: border-box;
}
div.white-theme > .placeholder {
color: #8b8b8b;
left: 24px;
}
div.white-theme > .input:not(:placeholder-shown) ~ .placeholder {
top: 15px;
color: transparent;
}
div.white-theme > .input:focus ~ .placeholder {
top: 15px;
color: transparent;
}
div.white-theme input:-webkit-autofill,
div.white-theme input:-webkit-autofill:hover,
div.white-theme input:-webkit-autofill:focus,
div.white-theme input:-webkit-autofill:active {
-webkit-text-fill-color: #343434;
border: 0px;
border-bottom: 0px;
border-radius: 3px;
width: 100%;
height: 40px;
font-size: 12pt;
background-repeat: no-repeat;
background-size: 27px;
background-position: right 10px bottom 50%;
box-sizing: border-box;
-webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0) inset !important;
}
div.white-theme input:not([type="image"]):focus,
textarea:focus,
select:focus {
border: 2px solid #8a96a6;
}
div#header_login.white-theme {
background-color: rgba(0, 0, 0, 0.5);
}

View File

@ -478,7 +478,7 @@ ul li {
.logo_green { .logo_green {
background-color: #fff; background-color: #fff;
min-height: 60px; min-height: 61px;
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
align-items: center; align-items: center;
@ -601,7 +601,7 @@ ul li {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
min-height: 50px; min-height: 51px;
} }
.tabs_li { .tabs_li {

View File

@ -555,3 +555,7 @@ ul.datatable_filter > li > div.action-buttons > button {
.ui-dialog.ui-corner-all.ui-widget.ui-widget-content { .ui-dialog.ui-corner-all.ui-widget.ui-widget-content {
z-index: 10000 !important; z-index: 10000 !important;
} }
.action_buttons_right_content {
z-index: 1 !important;
}

View File

@ -301,6 +301,10 @@ td input[type="checkbox"] {
height: 15px; height: 15px;
} }
input[type="radio"] {
height: 15px;
}
input[type="image"] { input[type="image"] {
border: 0px; border: 0px;
background-color: transparent; background-color: transparent;
@ -707,6 +711,10 @@ select:-internal-list-box {
width: 60%; width: 60%;
} }
.w67p {
width: 67%;
}
.w70p { .w70p {
width: 70%; width: 70%;
} }
@ -970,6 +978,10 @@ select:-internal-list-box {
padding-left: 2em !important; padding-left: 2em !important;
} }
.padding10 {
padding: 10px;
}
.margin-soft { .margin-soft {
margin: 0.3em 1em; margin: 0.3em 1em;
} }
@ -10174,8 +10186,8 @@ button.submitButton > div.mini {
height: 1.5rem; height: 1.5rem;
} }
button.buttonButton:not(.secondary):not(.link), button.buttonButton:not(.secondary):not(.link):not(.onlyIcon),
button.submitButton:not(.secondary):not(.link) { button.submitButton:not(.secondary):not(.link):not(.onlyIcon) {
background: linear-gradient( background: linear-gradient(
90deg, 90deg,
var(--primary-color) 0%, var(--primary-color) 0%,
@ -10208,18 +10220,22 @@ button.submitButton > div {
button.buttonButton.onlyIcon, button.buttonButton.onlyIcon,
button.submitButton.onlyIcon { button.submitButton.onlyIcon {
/*
min-width: 32px;
height: 32px;
*/
padding: 0 !important; padding: 0 !important;
min-width: 2em !important; min-width: 1.7em !important;
width: 2em !important; width: 1.7em !important;
height: 2em !important; height: 1.7em !important;
border: none; border: none;
box-shadow: none; box-shadow: none;
} }
button.buttonButton.onlyIcon {
background-color: #333;
}
button.buttonButton.onlyIcon:disabled {
background-color: #cacaca;
}
button.buttonButton.onlyIcon.pending, button.buttonButton.onlyIcon.pending,
button.submitButton.onlyIcon.pending { button.submitButton.onlyIcon.pending {
mask: url(../../images/validate.svg) no-repeat right / contain; mask: url(../../images/validate.svg) no-repeat right / contain;
@ -10269,6 +10285,12 @@ button.submitButton.onlyIcon.auto_sla_graph_min {
-webkit-mask: url(../../images/event-history.svg) no-repeat right / contain; -webkit-mask: url(../../images/event-history.svg) no-repeat right / contain;
} }
button.buttonButton.onlyIcon.basic_chart_min,
button.submitButton.onlyIcon.basic_chart_min {
mask: url(../../images/event-history.svg) no-repeat right / contain;
-webkit-mask: url(../../images/event-history.svg) no-repeat right / contain;
}
button.buttonButton.onlyIcon.binary_min, button.buttonButton.onlyIcon.binary_min,
button.submitButton.onlyIcon.binary_min { button.submitButton.onlyIcon.binary_min {
mask: url(../../images/simple-value.svg) no-repeat right / contain; mask: url(../../images/simple-value.svg) no-repeat right / contain;
@ -11681,9 +11703,9 @@ ul.tag-editor {
} }
.select2-container--default .select2-search--inline .select2-search__field { .select2-container--default .select2-search--inline .select2-search__field {
height: 20px; height: 12px;
padding-left: 5px !important; padding-left: 5px !important;
font-size: 20px !important; font-size: 12px !important;
} }
div.ui-dialog-buttonset > button.ui-button.ui-corner-all.ui-widget { div.ui-dialog-buttonset > button.ui-button.ui-corner-all.ui-widget {
@ -11720,3 +11742,13 @@ div.relative > div > div#ui-datepicker-div {
top: 55px !important; top: 55px !important;
left: 5px !important; left: 5px !important;
} }
.ui-widget-overlay {
background: #aaa;
opacity: 0.3 !important;
}
.ui-dialog .ui-widget-content.ui-autocomplete {
border-radius: 0px;
margin-left: 10px;
}

View File

@ -31,7 +31,7 @@ ul.subsubmenu li,
input.search_input, input.search_input,
.filters input, .filters input,
input#text-id_parent.ac_input, input#text-id_parent.ac_input,
input, input:not(div.login_pass > input):not(div.login_nick > input),
textarea, textarea,
select, select,
.edit_user_comments #textarea_comments, .edit_user_comments #textarea_comments,
@ -466,12 +466,6 @@ ul.tree-group
filter: invert(100%); filter: invert(100%);
} }
/* login.css */
div.login_nick input,
div.login_pass input {
background-color: #111 !important;
}
/* user edit */ /* user edit */
.edit_user_info_right input { .edit_user_info_right input {
border-bottom: 1px solid #5f5f5f; border-bottom: 1px solid #5f5f5f;
@ -1534,3 +1528,9 @@ pre code.hljs {
background-color: #222222; background-color: #222222;
color: #fff; color: #fff;
} }
a.autorefresh_txt,
#refrcounter {
color: #ffffff;
font-size: 8.5pt;
}

View File

@ -6,8 +6,8 @@
display: inline-block; display: inline-block;
display: flex; display: flex;
border-radius: 4px; border-radius: 4px;
line-height: 24px; line-height: 9pt;
font-size: 11pt; font-size: 9pt;
} }
.progress_main_noborder { .progress_main_noborder {

View File

@ -407,3 +407,7 @@ div#tree-controller-recipient {
.tree-node .node-icon.node-status { .tree-node .node-icon.node-status {
border: 0; border: 0;
} }
.max-graph-tree-view {
width: calc(100% - 100px);
}

View File

@ -4,10 +4,17 @@
* --------------------------------------------------------------------- * ---------------------------------------------------------------------
*/ */
input[type="text"],
input[type="number"],
select {
height: 32px;
}
div.external-visual-console-container { div.external-visual-console-container {
width: 100%; width: 100%;
overflow-x: auto; overflow-x: auto;
overflow-y: hidden; overflow-y: hidden;
z-index: 0;
} }
div#vc-controls { div#vc-controls {
@ -70,7 +77,6 @@ div#vc-controls img.vc-qr {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
margin-bottom: 5px;
} }
.visual-console-edit-controls { .visual-console-edit-controls {
@ -140,416 +146,6 @@ div#edit-controls input.sub[disabled] {
border-color: transparent; border-color: transparent;
} }
input.delete_min,
button.delete_min {
background: url(../../images/delete.svg) no-repeat center;
}
input.delete_min[disabled],
button.delete_min[disabled] {
background: url(../../images/cross.disabled.png) no-repeat center;
}
input.delete_min_white,
button.delete_min_white {
background: url(../../images/cross.disabled.png) no-repeat center;
}
input.delete_min_white[disabled],
button.delete_min_white[disabled] {
background: url(../../images/delete.svg) no-repeat center;
}
input.graph_min,
button.graph_min {
background: url(../../images/chart_curve.png) no-repeat center;
}
input.graph_min[disabled],
button.graph_min[disabled] {
background: url(../../images/chart_curve.disabled.png) no-repeat center;
}
input.graph_min_white,
button.graph_min_white {
background: url(../../images/chart_curve.disabled.png) no-repeat center;
}
input.graph_min_white[disabled],
button.graph_min_white[disabled] {
background: url(../../images/chart_curve.png) no-repeat center;
}
input.bars_graph_min,
button.bars_graph_min {
background: url(../../images/icono-barras-arriba.png) no-repeat center;
}
input.bars_graph_min[disabled],
button.bars_graph_min[disabled] {
background: url(../../images/icono-barras-arriba.disabled.png) no-repeat
center;
}
input.bars_graph_min_white,
button.bars_graph_min_white {
background: url(../../images/icono-barras-arriba.disabled.png) no-repeat
center;
}
input.bars_graph_min_white[disabled],
button.bars_graph_min_white[disabled] {
background: url(../../images/icono-barras-arriba.png) no-repeat center;
}
input.percentile_min,
button.percentile_min {
background: url(../../images/chart_bar.png) no-repeat center;
}
input.percentile_min[disabled],
button.percentile_min[disabled] {
background: url(../../images/chart_bar.disabled.png) no-repeat center;
}
input.percentile_min_white,
button.percentile_min_white {
background: url(../../images/chart_bar.disabled.png) no-repeat center;
}
input.percentile_min_white[disabled],
button.percentile_min_white[disabled] {
background: url(../../images/chart_bar.png) no-repeat center;
}
input.percentile_item_min,
button.percentile_item_min {
background: url(../../images/percentile_item.png) no-repeat center;
}
input.percentile_item_min[disabled],
button.percentile_item_min[disabled] {
background: url(../../images/percentile_item.disabled.png) no-repeat center;
}
input.percentile_item_min_white,
button.percentile_item_min_white {
background: url(../../images/percentile_item.disabled.png) no-repeat center;
}
input.percentile_item_min_white[disabled],
button.percentile_item_min_white[disabled] {
background: url(../../images/percentile_item.png) no-repeat center;
}
input.auto_sla_graph_min,
button.auto_sla_graph_min {
background: url(../../images/auto_sla_graph.png) no-repeat center;
}
input.auto_sla_graph_min[disabled],
button.auto_sla_graph_min[disabled] {
background: url(../../images/auto_sla_graph.disabled.png) no-repeat center;
}
input.auto_sla_graph_min_white,
button.auto_sla_graph_min_white {
background: url(../../images/auto_sla_graph.disabled.png) no-repeat center;
}
input.auto_sla_graph_min_white[disabled],
button.auto_sla_graph_min_white[disabled] {
background: url(../../images/auto_sla_graph.png) no-repeat center;
}
input.donut_graph_min,
button.donut_graph_min {
background: url(../../images/icono-quesito.png) no-repeat center;
}
input.donut_graph_min[disabled],
button.donut_graph_min[disabled] {
background: url(../../images/icono-quesito.disabled.png) no-repeat center;
}
input.donut_graph_min_white,
button.donut_graph_min_white {
background: url(../../images/icono-quesito.disabled.png) no-repeat center;
}
input.donut_graph_min_white[disabled],
button.donut_graph_min_white[disabled] {
background: url(../../images/icono-quesito.png) no-repeat center;
}
input.binary_min,
button.binary_min {
background: url(../../images/binary.png) no-repeat center;
}
input.binary_min[disabled],
button.binary_min[disabled] {
background: url(../../images/binary.disabled.png) no-repeat center;
}
input.binary_min_white,
button.binary_min_white {
background: url(../../images/binary.disabled.png) no-repeat center;
}
input.binary_min_white[disabled],
button.binary_min_white[disabled] {
background: url(../../images/binary.png) no-repeat center;
}
input.camera_min,
button.camera_min {
background: url(../../images/camera.png) no-repeat center;
}
input.camera_min[disabled],
button.camera_min[disabled] {
background: url(../../images/camera.disabled.png) no-repeat center;
}
input.camera_min_white,
button.camera_min_white {
background: url(../../images/camera.disabled.png) no-repeat center;
}
input.camera_min_white[disabled],
button.camera_min_white[disabled] {
background: url(../../images/camera.png) no-repeat center;
}
input.config_min,
button.config_min {
background: url(../../images/edit.svg) no-repeat center;
}
input.config_min[disabled],
button.config_min[disabled] {
background: url(../../images/config.disabled.png) no-repeat center;
}
input.config_min_white,
button.config_min_white {
background: url(../../images/config.disabled.png) no-repeat center;
}
input.config_min_white[disabled],
button.config_min_white[disabled] {
background: url(../../images/edit.svg) no-repeat center;
}
input.label_min,
button.label_min {
background: url(../../images/tag_red.png) no-repeat center;
}
input.label_min[disabled],
button.label_min[disabled] {
background: url(../../images/tag_red.disabled.png) no-repeat center;
}
input.label_min_white,
button.label_min_white {
background: url(../../images/tag_red.disabled.png) no-repeat center;
}
input.label_min_white[disabled],
button.label_min_white[disabled] {
background: url(../../images/tag_red.png) no-repeat center;
}
input.icon_min,
button.icon_min {
background: url(../../images/photo.png) no-repeat center;
}
input.icon_min[disabled],
button.icon_min[disabled] {
background: url(../../images/photo.disabled.png) no-repeat center;
}
input.icon_min_white,
button.icon_min_white {
background: url(../../images/photo.disabled.png) no-repeat center;
}
input.icon_min_white[disabled],
button.icon_min_white[disabled] {
background: url(../../images/photo.png) no-repeat center;
}
input.clock_min,
button.clock_min {
background: url(../../images/clock-tab.png) no-repeat center;
}
input.clock_min[disabled],
button.clock_min[disabled] {
background: url(../../images/clock-tab.disabled.png) no-repeat center;
}
input.clock_min_white,
button.clock_min_white {
background: url(../../images/clock-tab.disabled.png) no-repeat center;
}
input.clock_min_white[disabled],
button.clock_min_white[disabled] {
background: url(../../images/clock-tab.png) no-repeat center;
}
input.box_item,
button.box_item {
background: url(../../images/box_item.png) no-repeat center;
}
input.box_item[disabled],
button.box_item[disabled] {
background: url(../../images/box_item.disabled.png) no-repeat center;
}
input.box_item_white,
button.box_item_white {
background: url(../../images/box_item.disabled.png) no-repeat center;
}
input.box_item_white[disabled],
button.box_item_white[disabled] {
background: url(../../images/box_item.png) no-repeat center;
}
input.line_item,
button.line_item {
background: url(../../images/line_item.png) no-repeat center;
}
input.line_item[disabled],
button.line_item[disabled] {
background: url(../../images/line_item.disabled.png) no-repeat center;
}
input.line_item_white,
button.line_item_white {
background: url(../../images/line_item.disabled.png) no-repeat center;
}
input.line_item_white[disabled],
button.line_item_white[disabled] {
background: url(../../images/line_item.png) no-repeat center;
}
input.copy_item,
button.copy_item {
background: url(../../images/copy_visualmap.png) no-repeat center;
}
input.copy_item[disabled],
button.copy_item[disabled] {
background: url(../../images/copy_visualmap.disabled.png) no-repeat center;
}
input.copy_item_white,
button.copy_item_white {
background: url(../../images/copy_visualmap.disabled.png) no-repeat center;
}
input.copy_item_white[disabled],
button.copy_item_white[disabled] {
background: url(../../images/copy_visualmap.png) no-repeat center;
}
input.grid_min,
button.grid_min {
background: url(../../images/grid.png) no-repeat center;
}
input.grid_min[disabled],
button.grid_min[disabled] {
background: url(../../images/grid.disabled.png) no-repeat center;
}
input.grid_min_white,
button.grid_min_white {
background: url(../../images/grid.disabled.png) no-repeat center;
}
input.grid_min_white[disabled],
button.grid_min_white[disabled] {
background: url(../../images/grid.png) no-repeat center;
}
input.save_min,
button.save_min {
background: url(../../images/file.png) no-repeat center;
}
input.save_min[disabled],
button.save_min[disabled] {
background: url(../../images/file.disabled.png) no-repeat center;
}
input.save_min_white,
button.save_min_white {
background: url(../../images/file.disabled.png) no-repeat center;
}
input.save_min_white[disabled],
button.save_min_white[disabled] {
background: url(../../images/file.png) no-repeat center;
}
input.service_min,
button.service_min {
background: url(../../images/box.png) no-repeat center;
}
input.service_min[disabled],
button.service_min[disabled] {
background: url(../../images/box.disabled.png) no-repeat center;
}
input.service_min_white,
button.service_min_white {
background: url(../../images/box.disabled.png) no-repeat center;
}
input.service_min_white[disabled],
button.service_min_white[disabled] {
background: url(../../images/box.png) no-repeat center;
}
input.network_link_min,
button.network_link_min {
background: url(../../images/network_link_item.png) no-repeat center;
}
input.network_link_min[disabled],
button.network_link_min[disabled] {
background: url(../../images/network_link_item.disabled.png) no-repeat center;
}
input.network_link_min_white,
button.network_link_min_white {
background: url(../../images/network_link_item.disabled.png) no-repeat center;
}
input.network_link_min_white[disabled],
button.network_link_min_white[disabled] {
background: url(../../images/network_link_item.png) no-repeat center;
}
input.group_item_min,
button.group_item_min {
background: url(../../images/group_green.png) no-repeat center;
}
input.group_item_min[disabled],
button.group_item_min[disabled] {
background: url(../../images/group_green.disabled.png) no-repeat center;
}
input.group_item_min_white,
button.group_item_min_white {
background: url(../../images/group_green.disabled.png) no-repeat center;
}
input.group_item_min_white[disabled],
button.group_item_min_white[disabled] {
background: url(../../images/group_green.png) no-repeat center;
}
input.color_cloud_min,
button.color_cloud_min {
background: url(../../images/color_cloud_item.png) no-repeat center;
}
input.color_cloud_min[disabled],
button.color_cloud_min[disabled] {
background: url(../../images/color_cloud_item.disabled.png) no-repeat center;
}
input.color_cloud_min_white,
button.color_cloud_min_white {
background: url(../../images/color_cloud_item.disabled.png) no-repeat center;
}
input.color_cloud_min_white[disabled],
button.color_cloud_min_white[disabled] {
background: url(../../images/color_cloud_item.png) no-repeat center;
}
input.odometer_min,
button.odometer_min {
background: url(../../images/odometer.png) no-repeat center;
}
input.odometer_min[disabled],
button.odometer_min[disabled] {
background: url(../../images/odometer.disabled.png) no-repeat center;
}
input.odometer_min_white,
button.odometer_min_white {
background: url(../../images/odometer.disabled.png) no-repeat center;
}
input.odometer_min_white[disabled],
button.odometer_min_white[disabled] {
background: url(../../images/odometer.png) no-repeat center;
}
input.basic_chart_min,
button.basic_chart_min {
background: url(../../images/basic_chart.png) no-repeat center;
}
input.basic_chart_min[disabled],
button.basic_chart_min[disabled] {
background: url(../../images/basic_chart.disabled.png) no-repeat center;
}
input.basic_chart_min_white,
button.basic_chart_min_white {
background: url(../../images/basic_chart.disabled.png) no-repeat center;
}
input.basic_chart_min_white[disabled],
button.basic_chart_min_white[disabled] {
background: url(../../images/basic_chart.png) no-repeat center;
}
div#cont { div#cont {
position: fixed; position: fixed;
max-height: 320px; max-height: 320px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

View File

@ -5,7 +5,6 @@
background-size: 100% 100%; background-size: 100% 100%;
background-position: center; background-position: center;
margin-top: 5px; margin-top: 5px;
z-index: 0;
} }
.is-maintenance { .is-maintenance {
@ -402,10 +401,6 @@ p.error-p-validate {
border-radius: 5px 5px 0px 0px; border-radius: 5px 5px 0px 0px;
} }
label span.p-slider {
width: 30px;
}
li.interval-color-ranges > label, li.interval-color-ranges > label,
li#li-default-ranges > label { li#li-default-ranges > label {
margin-right: 15px; margin-right: 15px;
@ -858,4 +853,5 @@ div.module-graph .gauge_d3_class {
animation: rotate-second 60s infinite linear; animation: rotate-second 60s infinite linear;
} }
/*# sourceMappingURL=vc.main.css.map*/ /*# sourceMappingURL=vc.main.css.map*/

File diff suppressed because one or more lines are too long

View File

@ -131,7 +131,7 @@
<div style='padding-bottom: 50px'> <div style='padding-bottom: 50px'>
<?php <?php
$version = '7.0NG.769'; $version = '7.0NG.769';
$build = '230321'; $build = '230322';
$banner = "v$version Build $build"; $banner = "v$version Build $build";
error_reporting(0); error_reporting(0);

View File

@ -76,9 +76,9 @@ if ($fields === false) {
$data[0] = '<b>'.$field['name'].'</b>'; $data[0] = '<b>'.$field['name'].'</b>';
if ($field['display_on_front']) { if ($field['display_on_front']) {
$data[1] = html_print_image('images/validate.svg', true, ['class' => 'invert_filter']); $data[1] = html_print_image('images/validate.svg', true, ['class' => 'invert_filter main_menu_icon']);
} else { } else {
$data[1] = html_print_image('images/delete.svg', true, ['class' => 'invert_filter']); $data[1] = html_print_image('images/delete.svg', true, ['class' => 'invert_filter main_menu_icon']);
} }
$custom_value = db_get_all_rows_sql( $custom_value = db_get_all_rows_sql(

View File

@ -483,8 +483,7 @@ $data[1] = ui_progress(
'refresh_contact' => 1, 'refresh_contact' => 1,
], ],
], ]
'line-height: 13px;'
); );
$table_contact->data[] = $data; $table_contact->data[] = $data;

View File

@ -321,8 +321,12 @@ if (empty($result_groups) === false) {
$link = "<a href='index.php?sec=monitoring&sec2=operation/tree&tag_id=".$data['_id_']."'>"; $link = "<a href='index.php?sec=monitoring&sec2=operation/tree&tag_id=".$data['_id_']."'>";
} else { } else {
$deep = groups_get_group_deep($data['_id_']); $deep = groups_get_group_deep($data['_id_']);
if ($data['_id_'] === '0') {
$link = "<a href='index.php?sec=view&sec2=operation/agentes/estado_agente&group_id=".$data['_id_']."'>";
} else {
$link = "<a href='index.php?sec=view&sec2=godmode/groups/tactical&id_group=".$data['_id_']."'>"; $link = "<a href='index.php?sec=view&sec2=godmode/groups/tactical&id_group=".$data['_id_']."'>";
} }
}
$group_name = '<b><span>'.ui_print_truncate_text($data['_name_'], 50).'</span></b>'; $group_name = '<b><span>'.ui_print_truncate_text($data['_name_'], 50).'</span></b>';

View File

@ -30,7 +30,7 @@ use PandoraFMS\Enterprise\Metaconsole\Node;
global $config; global $config;
require_once 'include/functions_gis.php'; require_once $config['homedir'].'/include/functions_gis.php';
require_once $config['homedir'].'/include/functions_agents.php'; require_once $config['homedir'].'/include/functions_agents.php';
require_once $config['homedir'].'/include/functions_groups.php'; require_once $config['homedir'].'/include/functions_groups.php';
require_once $config['homedir'].'/include/functions_modules.php'; require_once $config['homedir'].'/include/functions_modules.php';

View File

@ -184,7 +184,7 @@ if (empty($messages) === true) {
$table->size[3] = '80px'; $table->size[3] = '80px';
$table->size[4] = '60px'; $table->size[4] = '60px';
$table->head[5] = html_print_checkbox('all_delete_messages', 0, false, true, false); $table->head[5] = html_print_checkbox('all_delete_messages', 0, false, true, false, 'check_all_checkboxes()');
$table->head[0] = __('Status'); $table->head[0] = __('Status');
if ($show_sent === true) { if ($show_sent === true) {
$table->head[1] = __('Destination'); $table->head[1] = __('Destination');
@ -351,28 +351,14 @@ if (empty($messages) === false) {
<script type="text/javascript"> <script type="text/javascript">
$( document ).ready(function() { function check_all_checkboxes() {
if ($("input[name=all_delete_messages]").prop("checked")) {
$("[name^='delete_multiple']").prop("checked", true);
}
else {
$("[name^='delete_multiple']").prop("checked", false);
}
}
$('[id^=checkbox-delete_multiple_messages]').change(function(){
if($(this).parent().parent().hasClass('checkselected')){
$(this).parent().parent().removeClass('checkselected');
}
else{
$(this).parent().parent().addClass('checkselected');
}
});
$('[id^=checkbox-all_delete_messages]').change(function(){
if ($("#checkbox-all_delete_messages").prop("checked")) {
$('[id^=checkbox-delete_multiple_messages]').parent().parent().addClass('checkselected');
$(".check_delete_messages").prop("checked", true);
}
else{
$('[id^=checkbox-delete_multiple_messages]').parent().parent().removeClass('checkselected');
$(".check_delete_messages").prop("checked", false);
}
});
});
</script> </script>

View File

@ -203,7 +203,7 @@ function snmp_browser_show_add_module_massive(module_target = 'agent') {
function modal_preaction() { function modal_preaction() {
// Select all in select box. // Select all in select box.
$("input[name='select_all_right']").click(); $('#id_item2>option').prop('selected', true);
// Load adding modules modal. // Load adding modules modal.
waiting_modal(); waiting_modal();

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.769 %define version 7.0NG.769
%define release 230321 %define release 230322
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.769 %define version 7.0NG.769
%define release 230321 %define release 230322
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.769 %define version 7.0NG.769
%define release 230321 %define release 230322
%define httpd_name httpd %define httpd_name httpd
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name apache2 %define httpd_name apache2

View File

@ -85,7 +85,7 @@ $product_name = get_product_name(); ?>
__('Cancel'), __('Cancel'),
'cancel_registration', 'cancel_registration',
false, false,
'class="lato ui-widget 'id="submit-cancel_registration" class="lato ui-widget
ui-state-default ui-corner-all ui-button-text-only sub upd submit-cancel"', ui-state-default ui-corner-all ui-button-text-only sub upd submit-cancel"',
true true
); );
@ -97,7 +97,7 @@ $product_name = get_product_name(); ?>
__('OK!'), __('OK!'),
'register', 'register',
false, false,
'class="lato ui-widget 'id="submit-register" class="lato ui-widget
ui-state-default ui-corner-all ui-button-text-only sub ok submit-next w100px"', ui-state-default ui-corner-all ui-button-text-only sub ok submit-next w100px"',
true true
); );

View File

@ -34,7 +34,7 @@ if (\is_metaconsole() === true) {
\alerts_meta_print_header($tabs); \alerts_meta_print_header($tabs);
} else { } else {
// Header. // Header.
\ui_print_standard_header( ui_print_standard_header(
__('Alerts'), __('Alerts'),
'images/gm_alerts.png', 'images/gm_alerts.png',
false, false,
@ -44,7 +44,11 @@ if (\is_metaconsole() === true) {
[ [
[ [
'link' => '', 'link' => '',
'label' => __('Calendars Edit'), 'label' => __('Alerts'),
],
[
'link' => '',
'label' => __('Special days'),
], ],
] ]
); );

View File

@ -33,19 +33,23 @@ if (\is_metaconsole() === true) {
\alerts_meta_print_header($tabs); \alerts_meta_print_header($tabs);
} else { } else {
// Header. // Header.
\ui_print_page_header( ui_print_standard_header(
// Title. __('Alerts'),
__('Calendars'),
// Icon.
'images/gm_alerts.png', 'images/gm_alerts.png',
// Return.
false, false,
// Help.
'alert_special_days', 'alert_special_days',
// Godmode.
true, true,
// Options. $tabs,
$tabs [
[
'link' => '',
'label' => __('Alerts'),
],
[
'link' => '',
'label' => __('Special days'),
],
]
); );
} }

View File

@ -43,6 +43,10 @@ if (\is_metaconsole() === true) {
true, true,
$tabs, $tabs,
[ [
[
'link' => '',
'label' => __('Alerts'),
],
[ [
'link' => '', 'link' => '',
'label' => __('Special days'), 'label' => __('Special days'),

View File

@ -1,5 +1,5 @@
package: pandorafms-server package: pandorafms-server
Version: 7.0NG.769-230321 Version: 7.0NG.769-230322
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.769-230321" pandora_version="7.0NG.769-230322"
package_cpan=0 package_cpan=0
package_pandora=1 package_pandora=1

View File

@ -46,7 +46,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.769"; my $pandora_version = "7.0NG.769";
my $pandora_build = "230321"; my $pandora_build = "230322";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash # Setup hash

View File

@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.769"; my $pandora_version = "7.0NG.769";
my $pandora_build = "230321"; my $pandora_build = "230322";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] ); our %EXPORT_TAGS = ( 'all' => [ qw() ] );

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil} %global __os_install_post %{nil}
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.769 %define version 7.0NG.769
%define release 230321 %define release 230322
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil} %global __os_install_post %{nil}
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.769 %define version 7.0NG.769
%define release 230321 %define release 230322
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -9,7 +9,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.769" PI_VERSION="7.0NG.769"
PI_BUILD="230321" PI_BUILD="230322"
MODE=$1 MODE=$1
if [ $# -gt 1 ]; then if [ $# -gt 1 ]; then

View File

@ -35,7 +35,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB; use PandoraFMS::DB;
# version: define current version # version: define current version
my $version = "7.0NG.769 Build 230321"; my $version = "7.0NG.769 Build 230322";
# Pandora server configuration # Pandora server configuration
my %conf; my %conf;

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv; Encode::Locale::decode_argv;
# version: define current version # version: define current version
my $version = "7.0NG.769 Build 230321"; my $version = "7.0NG.769 Build 230322";
# save program name for logging # save program name for logging
my $progname = basename($0); my $progname = basename($0);