Merge remote-tracking branch 'origin/develop' into ent-3426-No-desaparece-la-alerta-de-PhantomJS-en-windows
Conflicts: pandora_console/include/styles/pandora.css pandora_console/install.php Former-commit-id: d74f5cb5c6ff0cc05542e63d1f8537f289eebfc8
This commit is contained in:
commit
f849c2b0f0
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.731-190207
|
||||
Version: 7.0NG.731-190214
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.731-190207"
|
||||
pandora_version="7.0NG.731-190214"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
|
|
@ -42,7 +42,7 @@ my $Sem = undef;
|
|||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '7.0NG.731';
|
||||
use constant AGENT_BUILD => '190207';
|
||||
use constant AGENT_BUILD => '190214';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.731
|
||||
%define release 190207
|
||||
%define release 190214
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.731
|
||||
%define release 190207
|
||||
%define release 190214
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.731"
|
||||
PI_BUILD="190207"
|
||||
PI_BUILD="190214"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
|
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||
{}
|
||||
|
||||
Version
|
||||
{190207}
|
||||
{190214}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("7.0NG.731(Build 190207)")
|
||||
#define PANDORA_VERSION ("7.0NG.731(Build 190214)")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
|||
VALUE "LegalCopyright", "Artica ST"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(7.0NG.731(Build 190207))"
|
||||
VALUE "ProductVersion", "(7.0NG.731(Build 190214))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 7.0NG.731-190207
|
||||
Version: 7.0NG.731-190214
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.731-190207"
|
||||
pandora_version="7.0NG.731-190214"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -320,6 +320,23 @@ $(document).ready( function() {
|
|||
}
|
||||
else {
|
||||
$('div#title_menu').hide();
|
||||
if(!click_display){
|
||||
$('#menu').mouseenter(function() {
|
||||
handsInMenu = 1;
|
||||
openTimeMenu = new Date().getTime();
|
||||
$('ul.submenu').css('left', '44px');
|
||||
}).mouseleave(function() {
|
||||
handsInMenu = 0;
|
||||
setTimeout(function() {
|
||||
openedMenu = new Date().getTime() - openTimeMenu;
|
||||
if(openedMenu > 1000 && handsInMenu == 0) {
|
||||
$('li.menu_icon').removeClass( " no_hidden_menu");
|
||||
$('li.menu_icon').find('li').removeClass( " no_hidden_menu" );
|
||||
$('ul.submenu').css('left', '44px');
|
||||
}
|
||||
}, 2500);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
/* ]]> */
|
||||
|
@ -332,7 +349,6 @@ $(document).ready( function() {
|
|||
handsIn2 = 0;
|
||||
|
||||
if(!click_display){
|
||||
if (autohidden_menu) {
|
||||
$('.menu_icon').mouseenter(function() {
|
||||
table_hover = $(this);
|
||||
handsIn = 1;
|
||||
|
@ -352,7 +368,6 @@ $(document).ready( function() {
|
|||
}
|
||||
}, 2500);
|
||||
});
|
||||
}
|
||||
}else{
|
||||
$(document).ready(function() {
|
||||
if (autohidden_menu) {
|
||||
|
|
|
@ -945,6 +945,10 @@ if ($update_agent) {
|
|||
$disabled ? '1' : '0',
|
||||
]
|
||||
);
|
||||
// Validate alerts for disabled agents.
|
||||
if ($disabled) {
|
||||
alerts_validate_alert_agent($id_agente);
|
||||
}
|
||||
}
|
||||
|
||||
if ($tpolicy_group_old) {
|
||||
|
|
|
@ -44,8 +44,7 @@ if (empty($update_module_id)) {
|
|||
$data = [];
|
||||
$data[0] = __('Target IP');
|
||||
$data[1] = html_print_input_text('ip_target', $ip_target, '', 15, 60, true);
|
||||
$data[2] = __('Namespace');
|
||||
$data[2] .= ui_print_help_icon('wminamespace', true);
|
||||
$data[2] = __('Namespace').ui_print_help_tip(__('Optional. WMI namespace. If unsure leave blank.'), true);
|
||||
$data[3] = html_print_input_text(
|
||||
'tcp_send',
|
||||
$tcp_send,
|
||||
|
@ -110,8 +109,7 @@ $table_simple->colspan['wmi_query'][1] = 3;
|
|||
push_table_simple($data, 'wmi_query');
|
||||
|
||||
$data = [];
|
||||
$data[0] = __('Key string');
|
||||
$data[0] .= ui_print_help_icon('wmikey', true);
|
||||
$data[0] = __('Key string').ui_print_help_tip(__('Optional. Substring to look for in the WQL query result. The module returns 1 if found, 0 if not.'), true);
|
||||
$data[1] = html_print_input_text(
|
||||
'snmp_community',
|
||||
$snmp_community,
|
||||
|
@ -124,8 +122,7 @@ $data[1] = html_print_input_text(
|
|||
'',
|
||||
$classdisabledBecauseInPolicy
|
||||
);
|
||||
$data[2] = __('Field number');
|
||||
$data[2] .= ui_print_help_icon('wmifield', true);
|
||||
$data[2] = __('Field number').ui_print_help_tip(__('Column number to retrieve from the WQL query result (starting from zero).'), true);
|
||||
$data[3] = html_print_input_text(
|
||||
'tcp_port',
|
||||
$tcp_port,
|
||||
|
|
|
@ -538,17 +538,22 @@ if ($tab == 'tree') {
|
|||
$url_delete = 'index.php?sec=gagente&sec2=godmode/groups/group_list&delete_group=1&id_group='.$group['id_grupo'];
|
||||
$table->data[$key][0] = $group['id_grupo'];
|
||||
$table->data[$key][1] = "<a href='$url'>".$group['nombre'].'</a>';
|
||||
$table->data[$key][2] = html_print_image(
|
||||
'images/groups_small/'.$group['icon'].'.png',
|
||||
true,
|
||||
[
|
||||
'style' => '',
|
||||
'class' => 'bot',
|
||||
'alt' => $group['nombre'],
|
||||
'title' => $group['nombre'],
|
||||
false, false, false, true
|
||||
]
|
||||
);
|
||||
if ($group['icon'] != '') {
|
||||
$table->data[$key][2] = html_print_image(
|
||||
'images/groups_small/'.$group['icon'].'.png',
|
||||
true,
|
||||
[
|
||||
'style' => '',
|
||||
'class' => 'bot',
|
||||
'alt' => $group['nombre'],
|
||||
'title' => $group['nombre'],
|
||||
false, false, false, true
|
||||
]
|
||||
);
|
||||
} else {
|
||||
$table->data[$key][2] = '';
|
||||
}
|
||||
|
||||
|
||||
// reporting_get_group_stats
|
||||
$table->data[$key][3] = $group['disabled'] ? __('Disabled') : __('Enabled');
|
||||
|
|
|
@ -205,6 +205,10 @@ if ($update_agents) {
|
|||
$values['disabled'],
|
||||
]
|
||||
);
|
||||
// Validate alerts for disabled agents.
|
||||
if ($values['disabled'] == 1) {
|
||||
alerts_validate_alert_agent($id_agent);
|
||||
}
|
||||
}
|
||||
|
||||
if ($group_old || $result) {
|
||||
|
|
|
@ -143,7 +143,7 @@ if ($update) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
// Standard procedure
|
||||
// Standard procedure.
|
||||
foreach ($agents_ as $agent_) {
|
||||
if ($modules_ == false) {
|
||||
$modules_ = [];
|
||||
|
@ -315,7 +315,7 @@ if ($module_type != '') {
|
|||
|
||||
$names = agents_get_modules(
|
||||
array_keys($agents),
|
||||
'DISTINCT(tagente_modulo.nombre)',
|
||||
'tagente_modulo.nombre',
|
||||
$filter,
|
||||
false
|
||||
);
|
||||
|
@ -1965,4 +1965,3 @@ function process_manage_edit($module_name, $agents_select=null, $module_status='
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ if ($create_network_from_module) {
|
|||
$id_module_group = $data_module['id_module_group'];
|
||||
$id_plugin = $data_module['id_plugin'];
|
||||
$plugin_user = $data_module['plugin_user'];
|
||||
$plugin_pass = $data_module['plugin_pass'];
|
||||
$plugin_pass = io_output_password($data_module['plugin_pass']);
|
||||
$plugin_parameter = $data_module['plugin_parameter'];
|
||||
$macros = $data_module['macros'];
|
||||
$max_timeout = $data_module['max_timeout'];
|
||||
|
@ -104,7 +104,7 @@ if (isset($id)) {
|
|||
$id_group = $component['id_group'];
|
||||
$id_plugin = $component['id_plugin'];
|
||||
$plugin_user = $component['plugin_user'];
|
||||
$plugin_pass = $component['plugin_pass'];
|
||||
$plugin_pass = io_output_password($component['plugin_pass']);
|
||||
$plugin_parameter = $component['plugin_parameter'];
|
||||
$macros = $component['macros'];
|
||||
$max_timeout = $component['max_timeout'];
|
||||
|
@ -140,10 +140,10 @@ if (isset($id)) {
|
|||
// New support for snmp v3
|
||||
$snmp_version = $component['tcp_send'];
|
||||
$snmp3_auth_user = $component['plugin_user'];
|
||||
$snmp3_auth_pass = $component['plugin_pass'];
|
||||
$snmp3_auth_pass = io_output_password($component['plugin_pass']);
|
||||
$snmp3_auth_method = $component['plugin_parameter'];
|
||||
$snmp3_privacy_method = $component['custom_string_1'];
|
||||
$snmp3_privacy_pass = $component['custom_string_2'];
|
||||
$snmp3_privacy_pass = io_output_password($component['custom_string_2']);
|
||||
$snmp3_security_level = $component['custom_string_3'];
|
||||
}
|
||||
} else if (isset($new_component) && $new_component && !$create_network_from_snmp_browser) {
|
||||
|
|
|
@ -42,6 +42,7 @@ if (!$is_metaconsole) {
|
|||
$url_visual_console_favorite = 'index.php?sec=screen&sec2=screens/screens&action=visualmap_favorite';
|
||||
$url_visual_console_template = 'index.php?sec=screen&sec2=screens/screens&action=visualmap_template';
|
||||
$url_visual_console_template_wizard = 'index.php?sec=screen&sec2=screens/screens&action=visualmap_wizard';
|
||||
$url_visual_console_manager = 'index.php?sec=screen&sec2=enterprise/extensions/visual_console_manager';
|
||||
}
|
||||
|
||||
$pure = (int) get_parameter('pure', 0);
|
||||
|
@ -70,6 +71,12 @@ if ($is_enterprise && $vconsoles_manage) {
|
|||
'active' => false,
|
||||
'text' => '<a href="'.$url_visual_console_template_wizard.'">'.html_print_image('images/wand.png', true, ['title' => __('Visual Console Template Wizard')]).'</a>',
|
||||
];
|
||||
if ($is_metaconsole) {
|
||||
$buttons['visual_console_manager'] = [
|
||||
'active' => false,
|
||||
'text' => '<a href="'.$url_visual_console_manager.'">'.html_print_image('images/builder.png', true, ['title' => __('Visual Console Manager')]).'</a>',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if (!$is_metaconsole) {
|
||||
|
|
|
@ -41,6 +41,7 @@ if (!$is_metaconsole) {
|
|||
$url_visual_console_favorite = 'index.php?sec=screen&sec2=screens/screens&action=visualmap_favorite';
|
||||
$url_visual_console_template = 'index.php?sec=screen&sec2=screens/screens&action=visualmap_template';
|
||||
$url_visual_console_template_wizard = 'index.php?sec=screen&sec2=screens/screens&action=visualmap_wizard';
|
||||
$url_visual_console_manager = 'index.php?sec=screen&sec2=enterprise/extensions/visual_console_manager';
|
||||
}
|
||||
|
||||
$buttons['visual_console'] = [
|
||||
|
@ -63,6 +64,13 @@ if ($is_enterprise && $vconsoles_manage) {
|
|||
'active' => false,
|
||||
'text' => '<a href="'.$url_visual_console_template_wizard.'">'.html_print_image('images/wand.png', true, ['title' => __('Visual Console Template Wizard')]).'</a>',
|
||||
];
|
||||
|
||||
if ($is_metaconsole) {
|
||||
$buttons['visual_console_manager'] = [
|
||||
'active' => false,
|
||||
'text' => '<a href="'.$url_visual_console_manager.'">'.html_print_image('images/builder.png', true, ['title' => __('Visual Console Manager')]).'</a>',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if (!$is_metaconsole) {
|
||||
|
|
|
@ -125,22 +125,19 @@ $table_other->data[3][0] = __('Default hours for event view');
|
|||
$table_other->data[3][1] = html_print_input_text('event_view_hr', $config['event_view_hr'], '', 5, 5, true);
|
||||
|
||||
$table_other->data[5][0] = __('Use realtime statistics');
|
||||
$table_other->data[5][1] = __('Yes').' '.html_print_radio_button('realtimestats', 1, '', $config['realtimestats'], true).' ';
|
||||
$table_other->data[5][1] .= __('No').' '.html_print_radio_button('realtimestats', 0, '', $config['realtimestats'], true);
|
||||
$table_other->data[5][1] = html_print_checkbox_toogle_switch('realtimestats', 1, $config['realtimestats'], true);
|
||||
|
||||
$table_other->data[6][0] = __('Batch statistics period (secs)').ui_print_help_tip(__('If realtime statistics are disabled, statistics interval resfresh will be set here.'), true);
|
||||
$table_other->data[6][1] = html_print_input_text('stats_interval', $config['stats_interval'], '', 5, 5, true);
|
||||
|
||||
$table_other->data[7][0] = __('Use agent access graph').ui_print_help_icon('agent_access', true);
|
||||
$table_other->data[7][1] = __('Yes').' '.html_print_radio_button('agentaccess', 1, '', $config['agentaccess'], true).' ';
|
||||
$table_other->data[7][1] .= __('No').' '.html_print_radio_button('agentaccess', 0, '', $config['agentaccess'], true);
|
||||
$table_other->data[7][1] = html_print_checkbox_toogle_switch('agentaccess', 1, $config['agentaccess'], true);
|
||||
|
||||
$table_other->data[8][0] = __('Max. recommended number of files in attachment directory').ui_print_help_tip(__('This number is the maximum number of files in attachment directory. If this number is reached then a warning message will appear in the header notification space.'), true);
|
||||
$table_other->data[8][1] = html_print_input_text('num_files_attachment', $config['num_files_attachment'], '', 5, 5, true);
|
||||
|
||||
$table_other->data[9][0] = __('Delete not init modules');
|
||||
$table_other->data[9][1] = __('Yes').' '.html_print_radio_button('delete_notinit', 1, '', $config['delete_notinit'], true).' ';
|
||||
$table_other->data[9][1] .= __('No').' '.html_print_radio_button('delete_notinit', 0, '', $config['delete_notinit'], true);
|
||||
$table_other->data[9][1] = html_print_checkbox_toogle_switch('delete_notinit', 1, $config['delete_notinit'], true);
|
||||
|
||||
$table_other->data[10][0] = __('Big Operation Step to purge old data').ui_print_help_tip(__('The number of blocks that a time interval is split into. A bigger value means bigger blocks, which is faster but heavier on the database. Default is 100.'), true);
|
||||
$table_other->data[10][1] = html_print_input_text('big_operation_step_datos_purge', $config['big_operation_step_datos_purge'], '', 5, 5, true);
|
||||
|
|
|
@ -44,16 +44,14 @@ if (is_ajax()) {
|
|||
// Fallback to local authentication
|
||||
$row = [];
|
||||
$row['name'] = __('Fallback to local authentication').ui_print_help_tip(__('Enable this option if you want to fallback to local authentication when remote (ldap etc...) authentication failed.'), true);
|
||||
$row['control'] = __('Yes').' '.html_print_radio_button('fallback_local_auth', 1, '', $config['fallback_local_auth'], true).' ';
|
||||
$row['control'] .= __('No').' '.html_print_radio_button('fallback_local_auth', 0, '', $config['fallback_local_auth'], true);
|
||||
$row['control'] = html_print_checkbox_toogle_switch('fallback_local_auth', 1, $config['fallback_local_auth'], true);
|
||||
$table->data['fallback_local_auth'] = $row;
|
||||
|
||||
if (enterprise_installed()) {
|
||||
// Autocreate remote users
|
||||
$row = [];
|
||||
$row['name'] = __('Autocreate remote users');
|
||||
$row['control'] = __('Yes').' '.html_print_radio_button_extended('autocreate_remote_users', 1, '', $config['autocreate_remote_users'], false, '', '', true).' ';
|
||||
$row['control'] .= __('No').' '.html_print_radio_button_extended('autocreate_remote_users', 0, '', $config['autocreate_remote_users'], false, '', '', true);
|
||||
$row['control'] = html_print_checkbox_toogle_switch_extended('autocreate_remote_users', 1, $config['autocreate_remote_users'], false, '', '', true).' ';
|
||||
$table->data['autocreate_remote_users'] = $row;
|
||||
|
||||
add_enterprise_auth_autocreate_profiles($table, $type_auth);
|
||||
|
@ -91,8 +89,7 @@ if (is_ajax()) {
|
|||
// Start TLS
|
||||
$row = [];
|
||||
$row['name'] = __('Start TLS');
|
||||
$row['control'] = __('Yes').' '.html_print_radio_button('ldap_start_tls', 1, '', $config['ldap_start_tls'], true).' ';
|
||||
$row['control'] .= __('No').' '.html_print_radio_button('ldap_start_tls', 0, '', $config['ldap_start_tls'], true);
|
||||
$row['control'] = html_print_checkbox_toogle_switch('ldap_start_tls', 1, $config['ldap_start_tls'], true);
|
||||
$table->data['ldap_start_tls'] = $row;
|
||||
|
||||
// Base DN
|
||||
|
@ -137,11 +134,7 @@ if (is_ajax()) {
|
|||
set_unless_defined($config['double_auth_enabled'], false);
|
||||
$row = [];
|
||||
$row['name'] = __('Double authentication').ui_print_help_tip(__('If this option is enabled, the users can use double authentication with their accounts'), true);
|
||||
$row['control'] = __('Yes').' ';
|
||||
$row['control'] .= html_print_radio_button('double_auth_enabled', 1, '', $config['double_auth_enabled'], true);
|
||||
$row['control'] .= ' ';
|
||||
$row['control'] .= __('No').' ';
|
||||
$row['control'] .= html_print_radio_button('double_auth_enabled', 0, '', $config['double_auth_enabled'], true);
|
||||
$row['control'] = html_print_checkbox_toogle_switch('double_auth_enabled', 1, $config['double_auth_enabled'], true);
|
||||
$table->data['double_auth_enabled'] = $row;
|
||||
|
||||
// Session timeout
|
||||
|
|
|
@ -48,8 +48,8 @@ $table_enable->style['name'] = 'font-weight: bold';
|
|||
// Enable eHorus
|
||||
$row = [];
|
||||
$row['name'] = __('Enable eHorus');
|
||||
$row['control'] = __('Yes').' '.html_print_radio_button('ehorus_enabled', 1, '', $config['ehorus_enabled'], true).' ';
|
||||
$row['control'] .= __('No').' '.html_print_radio_button('ehorus_enabled', 0, '', $config['ehorus_enabled'], true);
|
||||
$row['control'] = __('Enabled').' '.html_print_radio_button('ehorus_enabled', 1, '', $config['ehorus_enabled'], true).' ';
|
||||
$row['control'] .= __('Disabled').' '.html_print_radio_button('ehorus_enabled', 0, '', $config['ehorus_enabled'], true);
|
||||
$row['button'] = html_print_submit_button(__('Update'), 'update_button', false, 'class="sub upd"', true);
|
||||
$table_enable->data['ehorus_enabled'] = $row;
|
||||
|
||||
|
|
|
@ -82,16 +82,17 @@ $sources['sql'] = __('Database');
|
|||
$table->data[9][1] = html_print_select($sources, 'timesource', $config['timesource'], '', '', '', true);
|
||||
|
||||
$table->data[10][0] = __('Automatic check for updates');
|
||||
$table->data[10][1] = __('Yes').' '.html_print_radio_button('autoupdate', 1, '', $config['autoupdate'], true).' ';
|
||||
$table->data[10][1] .= __('No').' '.html_print_radio_button('autoupdate', 0, '', $config['autoupdate'], true);
|
||||
$table->data[10][1] = html_print_checkbox_toogle_switch('autoupdate', 1, $config['autoupdate'], true);
|
||||
|
||||
echo "<div id='dialog' title='".__('Enforce https Information')."' style='display:none;'>";
|
||||
echo "<p style='text-align: center;'>".__('If SSL is not properly configured you will lose access to ').get_product_name().__(' Console').'</p>';
|
||||
echo '</div>';
|
||||
|
||||
$table->data[11][0] = __('Enforce https');
|
||||
$table->data[11][1] = __('Yes').' '.html_print_radio_button_extended('https', 1, '', $config['https'], false, "if (! confirm ('".__('If SSL is not properly configured you will lose access to %s Console. Do you want to continue?', get_product_name())."')) return false", '', true).' ';
|
||||
$table->data[11][1] .= __('No').' '.html_print_radio_button('https', 0, '', $config['https'], true);
|
||||
$table->data[11][1] = html_print_checkbox_toogle_switch_extended('https', 1, $config['https'], false, '', '', true);
|
||||
|
||||
$table->data[12][0] = __('Use cert of SSL');
|
||||
$table->data[12][1] = __('Yes').' '.html_print_radio_button_extended('use_cert', 1, '', $config['use_cert'], false, '', '', true).' ';
|
||||
$table->data[12][1] .= __('No').' '.html_print_radio_button('use_cert', 0, '', $config['use_cert'], true);
|
||||
$table->data[12][1] = html_print_checkbox_toogle_switch_extended('use_cert', 1, $config['use_cert'], false, '', '', true);
|
||||
|
||||
$table->rowstyle[13] = 'display: none;';
|
||||
$table->data[13][0] = __('Path of SSL Cert.').ui_print_help_tip(__('Path where you put your cert and name of this cert. Remember your cert only in .pem extension.'), true);
|
||||
|
@ -113,8 +114,7 @@ $table->data[16][0] = __('API password').ui_print_help_tip(__('Please be careful
|
|||
$table->data[16][1] = html_print_input_password('api_password', io_output_password($config['api_password']), '', 25, 255, true);
|
||||
|
||||
$table->data[17][0] = __('Enable GIS features');
|
||||
$table->data[17][1] = __('Yes').' '.html_print_radio_button('activate_gis', 1, '', $config['activate_gis'], true).' ';
|
||||
$table->data[17][1] .= __('No').' '.html_print_radio_button('activate_gis', 0, '', $config['activate_gis'], true);
|
||||
$table->data[17][1] = html_print_checkbox_toogle_switch('activate_gis', 1, $config['activate_gis'], true);
|
||||
|
||||
$table->data[19][0] = __('Enable Netflow');
|
||||
$rbt_disabled = false;
|
||||
|
@ -123,8 +123,8 @@ if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
|
|||
$table->data[19][0] .= ui_print_help_tip(__('Not supported in Windows systems'), true);
|
||||
}
|
||||
|
||||
$table->data[19][1] = __('Yes').' '.html_print_radio_button_extended('activate_netflow', 1, '', $config['activate_netflow'], $rbt_disabled, '', '', true).' ';
|
||||
$table->data[19][1] .= __('No').' '.html_print_radio_button_extended('activate_netflow', 0, '', $config['activate_netflow'], $rbt_disabled, '', '', true);
|
||||
$table->data[19][1] = html_print_checkbox_toogle_switch_extended('activate_netflow', 1, $config['activate_netflow'], $rbt_disabled, '', '', true);
|
||||
|
||||
|
||||
$zone_name = [
|
||||
'Africa' => __('Africa'),
|
||||
|
@ -202,18 +202,15 @@ $table->data[28][1] = html_print_input_text('public_url', $config['public_url'],
|
|||
|
||||
$table->data[29][0] = __('Referer security');
|
||||
$table->data[29][0] .= ui_print_help_tip(__("If enabled, actively checks if the user comes from %s's URL", get_product_name()), true);
|
||||
$table->data[29][1] = __('Yes').' '.html_print_radio_button('referer_security', 1, '', $config['referer_security'], true).' ';
|
||||
$table->data[29][1] .= __('No').' '.html_print_radio_button('referer_security', 0, '', $config['referer_security'], true);
|
||||
$table->data[29][1] = html_print_checkbox_toogle_switch('referer_security', 1, $config['referer_security'], true);
|
||||
|
||||
$table->data[30][0] = __('Event storm protection');
|
||||
$table->data[30][0] .= ui_print_help_tip(__('If set to yes no events or alerts will be generated, but agents will continue receiving data.'), true);
|
||||
$table->data[30][1] = __('Yes').' '.html_print_radio_button('event_storm_protection', 1, '', $config['event_storm_protection'], true).' ';
|
||||
$table->data[30][1] .= __('No').' '.html_print_radio_button('event_storm_protection', 0, '', $config['event_storm_protection'], true);
|
||||
$table->data[30][1] = html_print_checkbox_toogle_switch('event_storm_protection', 1, $config['event_storm_protection'], true);
|
||||
|
||||
|
||||
$table->data[31][0] = __('Command Snapshot').ui_print_help_tip(__('The string modules with several lines show as command output'), true);
|
||||
$table->data[31][1] = __('Yes').' '.html_print_radio_button('command_snapshot', 1, '', $config['command_snapshot'], true).' ';
|
||||
$table->data[31][1] .= __('No').' '.html_print_radio_button('command_snapshot', 0, '', $config['command_snapshot'], true);
|
||||
$table->data[31][1] = html_print_checkbox_toogle_switch('command_snapshot', 1, $config['command_snapshot'], true);
|
||||
|
||||
$table->data[32][0] = __('Server logs directory').ui_print_help_tip(__('Directory where the server logs are stored.'), true);
|
||||
$table->data[32][1] = html_print_input_text(
|
||||
|
@ -253,8 +250,7 @@ $table->data['tutorial_mode'][1] = html_print_select(
|
|||
|
||||
$config['past_planned_downtimes'] = isset($config['past_planned_downtimes']) ? $config['past_planned_downtimes'] : 1;
|
||||
$table->data[34][0] = __('Allow create planned downtimes in the past').ui_print_help_tip(__('The planned downtimes created in the past will affect the SLA reports'), true);
|
||||
$table->data[34][1] = __('Yes').' '.html_print_radio_button('past_planned_downtimes', 1, '', $config['past_planned_downtimes'], true).' ';
|
||||
$table->data[34][1] .= __('No').' '.html_print_radio_button('past_planned_downtimes', 0, '', $config['past_planned_downtimes'], true);
|
||||
$table->data[34][1] = html_print_checkbox_toogle_switch('past_planned_downtimes', 1, $config['past_planned_downtimes'], true);
|
||||
|
||||
$table->data[35][0] = __('Limit for bulk operations').ui_print_help_tip(__('Your PHP environment is set to 1000 max_input_vars. This parameter should have the same value or lower.', ini_get('max_input_vars')), true);
|
||||
$table->data[35][1] = html_print_input_text(
|
||||
|
@ -267,16 +263,13 @@ $table->data[35][1] = html_print_input_text(
|
|||
);
|
||||
|
||||
$table->data[36][0] = __('Include agents manually disabled');
|
||||
$table->data[36][1] = __('Yes').' '.html_print_radio_button('include_agents', 1, '', $config['include_agents'], true).' ';
|
||||
$table->data[36][1] .= __('No').' '.html_print_radio_button('include_agents', 0, '', $config['include_agents'], true);
|
||||
$table->data[36][1] = html_print_checkbox_toogle_switch('include_agents', 1, $config['include_agents'], true);
|
||||
|
||||
$table->data[37][0] = __('Audit log directory').ui_print_help_tip(__('Directory where audit log is stored.'), true);
|
||||
$table->data[37][1] = html_print_input_text('auditdir', io_safe_output($config['auditdir']), '', 30, 100, true);
|
||||
|
||||
$table->data[38][0] = __('Set alias as name by default in agent creation');
|
||||
$table->data[38][1] = __('Yes').' '.html_print_radio_button('alias_as_name', 1, '', $config['alias_as_name'], true).' ';
|
||||
$table->data[38][1] .= __('No').' '.html_print_radio_button('alias_as_name', 0, '', $config['alias_as_name'], true);
|
||||
|
||||
$table->data[38][1] = html_print_checkbox_toogle_switch('alias_as_name', 1, $config['alias_as_name'], true);
|
||||
echo '<form id="form_setup" method="post" action="index.php?sec=gsetup&sec2=godmode/setup/setup&section=general&pure='.$config['pure'].'">';
|
||||
|
||||
echo '<fieldset>';
|
||||
|
@ -340,15 +333,24 @@ $(document).ready (function () {
|
|||
$("#timezone").attr("hidden", false);
|
||||
});
|
||||
$("input[name=use_cert]").change(function () {
|
||||
if( $(this).is(":checked") ){
|
||||
var val = $(this).val();
|
||||
if (val == 1) {
|
||||
if( $(this).is(":checked") )
|
||||
$('#setup_general-13').show();
|
||||
}
|
||||
else
|
||||
$('#setup_general-13').hide();
|
||||
}
|
||||
|
||||
});
|
||||
$("input[name=https]").change(function (){
|
||||
if($("input[name=https]").prop('checked')) {
|
||||
$("#dialog").css({'display': 'inline', 'font-weight': 'bold'}).dialog({
|
||||
modal: true,
|
||||
buttons:{
|
||||
"<?php echo __('Close'); ?>": function(){
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
|
@ -368,5 +370,3 @@ function get_sounds()
|
|||
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ $table_behaviour->data[$row][1] = html_print_select($values, 'vc_refr', $config[
|
|||
$row++;
|
||||
|
||||
$table_behaviour->data[$row][0] = __('Paginated module view');
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox(
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'paginate_module',
|
||||
1,
|
||||
$config['paginate_module'],
|
||||
|
@ -84,7 +84,7 @@ $table_behaviour->data[$row][1] = html_print_checkbox(
|
|||
$row++;
|
||||
|
||||
$table_behaviour->data[$row][0] = __('Display data of proc modules in other format');
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox(
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'render_proc',
|
||||
1,
|
||||
$config['render_proc'],
|
||||
|
@ -102,7 +102,7 @@ $row++;
|
|||
|
||||
// Daniel maya 02/06/2016 Display menu with click --INI
|
||||
$table_behaviour->data[$row][0] = __('Click to display lateral menus').ui_print_help_tip(__('When enabled, the lateral menus are shown when left clicking them, instead of hovering over them'), true);
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox(
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'click_display',
|
||||
1,
|
||||
$config['click_display'],
|
||||
|
@ -121,7 +121,7 @@ if (enterprise_installed()) {
|
|||
}
|
||||
|
||||
$table_behaviour->data[$row][0] = __('Classic menu mode').ui_print_help_tip(__('Text menu options always visible, don\'t hide'), true);
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox(
|
||||
$table_behaviour->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'classic_menu',
|
||||
1,
|
||||
$config['classic_menu'],
|
||||
|
@ -491,7 +491,7 @@ if (enterprise_installed()) {
|
|||
|
||||
if (enterprise_installed()) {
|
||||
$table_styles->data[$row][0] = __('Disable logo in graphs');
|
||||
$table_styles->data[$row][1] = html_print_checkbox(
|
||||
$table_styles->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'fixed_graph',
|
||||
1,
|
||||
$config['fixed_graph'],
|
||||
|
@ -507,7 +507,7 @@ if (enterprise_installed()) {
|
|||
*/
|
||||
|
||||
$table_styles->data[$row][0] = __('Disable helps');
|
||||
$table_styles->data[$row][1] = html_print_checkbox(
|
||||
$table_styles->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'disable_help',
|
||||
1,
|
||||
$config['disable_help'],
|
||||
|
@ -516,7 +516,7 @@ $table_styles->data[$row][1] = html_print_checkbox(
|
|||
$row++;
|
||||
|
||||
$table_styles->data[$row][0] = __('Fixed header');
|
||||
$table_styles->data[$row][1] = html_print_checkbox(
|
||||
$table_styles->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'fixed_header',
|
||||
1,
|
||||
$config['fixed_header'],
|
||||
|
@ -525,7 +525,7 @@ $table_styles->data[$row][1] = html_print_checkbox(
|
|||
$row++;
|
||||
|
||||
$table_styles->data[$row][0] = __('Fixed menu');
|
||||
$table_styles->data[$row][1] = html_print_checkbox(
|
||||
$table_styles->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'fixed_menu',
|
||||
1,
|
||||
$config['fixed_menu'],
|
||||
|
@ -535,7 +535,7 @@ $row++;
|
|||
|
||||
// For 5.1 Autohidden menu feature
|
||||
$table_styles->data['autohidden'][0] = __('Autohidden menu');
|
||||
$table_styles->data['autohidden'][1] = html_print_checkbox(
|
||||
$table_styles->data['autohidden'][1] = html_print_checkbox_toogle_switch(
|
||||
'autohidden_menu',
|
||||
1,
|
||||
$config['autohidden_menu'],
|
||||
|
@ -543,13 +543,14 @@ $table_styles->data['autohidden'][1] = html_print_checkbox(
|
|||
);
|
||||
|
||||
$table_styles->data[$row][0] = __('Visual effects and animation');
|
||||
$table_styles->data[$row][1] = html_print_checkbox(
|
||||
$table_styles->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'visual_animation',
|
||||
1,
|
||||
$config['visual_animation'],
|
||||
true
|
||||
);
|
||||
|
||||
|
||||
echo '<fieldset>';
|
||||
echo '<legend>'.__('Style configuration').'</legend>';
|
||||
html_print_table($table_styles);
|
||||
|
@ -566,7 +567,7 @@ $table_gis->size[0] = '50%';
|
|||
$table_gis->data = [];
|
||||
|
||||
$table_gis->data[$row][0] = __('GIS Labels').ui_print_help_tip(__('This enabling this, you get a label with agent name in GIS maps. If you have lots of agents in the map, will be unreadable. Disabled by default.'), true);
|
||||
$table_gis->data[$row][1] = html_print_checkbox(
|
||||
$table_gis->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'gis_label',
|
||||
1,
|
||||
$config['gis_label'],
|
||||
|
@ -679,7 +680,7 @@ $table_font->data[$row][1] = html_print_input_text(
|
|||
$row++;
|
||||
|
||||
$table_font->data[$row][0] = __('Show unit along with value in reports').ui_print_help_tip(__('This enabling this, max, min and avg values will be shown with units.'), true);
|
||||
$table_font->data[$row][1] = html_print_checkbox(
|
||||
$table_font->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'simple_module_value',
|
||||
1,
|
||||
$config['simple_module_value'],
|
||||
|
@ -777,7 +778,7 @@ $table_chars->data[$row][1] = html_print_input_text(
|
|||
$row++;
|
||||
|
||||
$table_chars->data[$row][0] = __('Use round corners');
|
||||
$table_chars->data[$row][1] = html_print_checkbox(
|
||||
$table_chars->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'round_corner',
|
||||
1,
|
||||
$config['round_corner'],
|
||||
|
@ -946,7 +947,7 @@ $table_other->data[$row][0] = __('Show report info with description').ui_print_h
|
|||
__('Custom report description info. It will be applied to all reports and templates by default.'),
|
||||
true
|
||||
);
|
||||
$table_other->data[$row][1] = html_print_checkbox(
|
||||
$table_other->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'custom_report_info',
|
||||
1,
|
||||
$config['custom_report_info'],
|
||||
|
@ -966,6 +967,7 @@ $table_other->data[$row][1] = html_print_checkbox(
|
|||
$config['custom_report_front'],
|
||||
true
|
||||
);
|
||||
|
||||
$row++;
|
||||
// ----------------------------------------------------------------------
|
||||
$dirItems = scandir($config['homedir'].'/images/custom_logo');
|
||||
|
@ -1059,7 +1061,7 @@ $table_other->data['custom_report_front-footer'][1] = html_print_textarea(
|
|||
|
||||
|
||||
$table_other->data[$row][0] = __('Show QR Code icon in the header');
|
||||
$table_other->data[$row][1] = html_print_checkbox(
|
||||
$table_other->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'show_qr_code_header',
|
||||
1,
|
||||
$config['show_qr_code_header'],
|
||||
|
@ -1097,7 +1099,7 @@ $table_other->data[$row][0] .= ui_print_help_tip(
|
|||
__('Show the group name instead the group icon.'),
|
||||
true
|
||||
);
|
||||
$table_other->data[$row][1] = html_print_checkbox(
|
||||
$table_other->data[$row][1] = html_print_checkbox_toogle_switch(
|
||||
'show_group_name',
|
||||
1,
|
||||
$config['show_group_name'],
|
||||
|
@ -1440,6 +1442,7 @@ $(document).ready (function () {
|
|||
.prop('checked');
|
||||
display_custom_report_front(custom_report,$(this).parent().parent().parent().parent().attr('id'));
|
||||
});
|
||||
$(".databox.filters").css('margin-bottom','-10px');
|
||||
});
|
||||
|
||||
// Change the favicon preview when is changed
|
||||
|
|
|
@ -140,8 +140,8 @@ if ($enterprise == ENTERPRISE_NOT_HOOK) {
|
|||
?>
|
||||
|
||||
<script>
|
||||
var open = "<?php echo $open; ?>";
|
||||
if(open){
|
||||
var isopen = "<?php echo $open; ?>";
|
||||
if(isopen){
|
||||
$(document).ready(function() {
|
||||
$('body').append( "<div id='opacidad' style='position:fixed;background:black;opacity:0.6;z-index:1'></div>" );
|
||||
jQuery.post ("ajax.php",
|
||||
|
@ -150,6 +150,7 @@ if(open){
|
|||
"message":"infomodal"},
|
||||
function (data, status) {
|
||||
$("#alert_messages").hide ()
|
||||
.css ("opacity", 1)
|
||||
.empty ()
|
||||
.append (data)
|
||||
.show ();
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC190207';
|
||||
$build_version = 'PC190214';
|
||||
$pandora_version = 'v7.0NG.731';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
|
|
|
@ -1754,7 +1754,8 @@ function get_snmpwalk(
|
|||
$quick_print=0,
|
||||
$base_oid='',
|
||||
$snmp_port='',
|
||||
$server_to_exec=0
|
||||
$server_to_exec=0,
|
||||
$extra_arguments=''
|
||||
) {
|
||||
global $config;
|
||||
|
||||
|
@ -1805,15 +1806,15 @@ function get_snmpwalk(
|
|||
case '3':
|
||||
switch ($snmp3_security_level) {
|
||||
case 'authNoPriv':
|
||||
$command_str = $snmpwalk_bin.' -m ALL -Oa -v 3'.' -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
$command_str = $snmpwalk_bin.' -m ALL -Oa '.$extra_arguments.' -v 3'.' -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
break;
|
||||
|
||||
case 'noAuthNoPriv':
|
||||
$command_str = $snmpwalk_bin.' -m ALL -Oa -v 3'.' -u '.escapeshellarg($snmp3_auth_user).' -l '.escapeshellarg($snmp3_security_level).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
$command_str = $snmpwalk_bin.' -m ALL -Oa '.$extra_arguments.' -v 3'.' -u '.escapeshellarg($snmp3_auth_user).' -l '.escapeshellarg($snmp3_security_level).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
break;
|
||||
|
||||
default:
|
||||
$command_str = $snmpwalk_bin.' -m ALL -Oa -v 3'.' -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' -x '.escapeshellarg($snmp3_privacy_method).' -X '.escapeshellarg($snmp3_privacy_pass).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
$command_str = $snmpwalk_bin.' -m ALL -Oa '.$extra_arguments.' -v 3'.' -u '.escapeshellarg($snmp3_auth_user).' -A '.escapeshellarg($snmp3_auth_pass).' -l '.escapeshellarg($snmp3_security_level).' -a '.escapeshellarg($snmp3_auth_method).' -x '.escapeshellarg($snmp3_privacy_method).' -X '.escapeshellarg($snmp3_privacy_pass).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -1822,7 +1823,7 @@ function get_snmpwalk(
|
|||
case '2c':
|
||||
case '1':
|
||||
default:
|
||||
$command_str = $snmpwalk_bin.' -m ALL -Oa -v '.escapeshellarg($snmp_version).' -c '.escapeshellarg(io_safe_output($snmp_community)).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
$command_str = $snmpwalk_bin.' -m ALL '.$extra_arguments.' -Oa -v '.escapeshellarg($snmp_version).' -c '.escapeshellarg(io_safe_output($snmp_community)).' '.escapeshellarg($ip_target).' '.$base_oid.' 2> '.$error_redir_dir;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1700,6 +1700,43 @@ function alerts_get_effective_alert_actions($id_agent_module)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Validate alerts for the given module.
|
||||
*
|
||||
* @param int agent_module_id ID of the module
|
||||
*/
|
||||
function alerts_validate_alert_module($agent_module_id)
|
||||
{
|
||||
db_process_sql(
|
||||
sprintf(
|
||||
'UPDATE talert_template_modules
|
||||
SET times_fired=0, internal_counter=0
|
||||
WHERE id_agent_module = %d',
|
||||
$agent_module_id
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Validate alerts for the given agent.
|
||||
*
|
||||
* @param int agent_id ID of the agent
|
||||
*/
|
||||
function alerts_validate_alert_agent($agent_id)
|
||||
{
|
||||
db_process_sql(
|
||||
sprintf(
|
||||
'UPDATE talert_template_modules tm
|
||||
INNER JOIN tagente_modulo am ON tm.id_agent_module = am.id_agente_modulo
|
||||
SET tm.times_fired=0, tm.internal_counter=0
|
||||
WHERE am.id_agente = %d',
|
||||
$agent_id
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Validates an alert id or an array of alert id's.
|
||||
*
|
||||
|
|
|
@ -472,11 +472,12 @@ function api_get_module_last_value($idAgentModule, $trash1, $other=';', $returnT
|
|||
DB column mapping table used by tree_agents (and get module_properties)
|
||||
*/
|
||||
|
||||
// agent related field mappings (output field => column designation for 'tagente')
|
||||
/*
|
||||
* Agent related field mappings (output field => column designation for 'tagente').
|
||||
* agent_id is not in this list (because it is mandatory).
|
||||
* agent_id_group is not in this list.
|
||||
*/
|
||||
$agent_field_column_mapping = [
|
||||
/*
|
||||
agent_id is not in this list (because it is mandatory) */
|
||||
// agent_id_group is not in this list
|
||||
'agent_name' => 'nombre as agent_name',
|
||||
'agent_direction' => 'direccion as agent_direction',
|
||||
'agent_comentary' => 'comentarios as agent_comentary',
|
||||
|
@ -496,8 +497,8 @@ $agent_field_column_mapping = [
|
|||
];
|
||||
|
||||
// module related field mappings 1/2 (output field => column for 'tagente_modulo')
|
||||
// module_id_agent_modulo is not in this list
|
||||
$module_field_column_mampping = [
|
||||
// module_id_agent_modulo is not in this list
|
||||
'module_id_agent' => 'id_agente as module_id_agent',
|
||||
'module_id_module_type' => 'id_tipo_modulo as module_id_module_type',
|
||||
'module_description' => 'descripcion as module_description',
|
||||
|
@ -541,8 +542,8 @@ $module_field_column_mampping = [
|
|||
];
|
||||
|
||||
// module related field mappings 2/2 (output field => column for 'tagente_estado')
|
||||
// module_id_agent_modulo is not in this list
|
||||
$estado_fields_to_columns_mapping = [
|
||||
// module_id_agent_modulo is not in this list
|
||||
'module_id_agent_state' => 'id_agente_estado as module_id_agent_state',
|
||||
'module_data' => 'datos as module_data',
|
||||
'module_timestamp' => 'timestamp as module_timestamp',
|
||||
|
@ -14609,3 +14610,67 @@ function api_get_users($thrash1, $thrash2, $other, $returnType)
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets module counts and alert counts in the agents
|
||||
*
|
||||
* @param $id id of the agent you want to synchronize. Add "All" to synchronize all agents
|
||||
* @param $trash1
|
||||
* @param $trash2
|
||||
* @param $trash3
|
||||
*
|
||||
* Example:
|
||||
* api.php?op=set&op2=reset_agent_counts&apipass=1234&user=admin&pass=pandora&id=All
|
||||
*/
|
||||
function api_set_reset_agent_counts($id, $thrash1, $thrash2, $thrash3)
|
||||
{
|
||||
global $config;
|
||||
|
||||
if (!check_acl($config['id_user'], 0, 'AW')) {
|
||||
returnError('forbidden', 'string');
|
||||
return;
|
||||
}
|
||||
|
||||
if ($id == '' || !$id) {
|
||||
returnError('error_parameter', __('Error. Agent cannot be left blank.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if ($id != 'All') {
|
||||
$agent = db_get_row_filter('tagente', ['id_agente' => $id]);
|
||||
if (empty($agent)) {
|
||||
returnError('error_agent', __('This agent does not exist.'));
|
||||
return;
|
||||
} else {
|
||||
$return = db_process_sql_update(
|
||||
'tagente',
|
||||
[
|
||||
'update_module_count' => 1,
|
||||
'update_alert_count' => 1,
|
||||
],
|
||||
['id_agente' => $id]
|
||||
);
|
||||
}
|
||||
} else {
|
||||
$return = db_process_sql_update(
|
||||
'tagente',
|
||||
[
|
||||
'update_module_count' => 1,
|
||||
'update_alert_count' => 1,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
$data = __('Successfully updated module/alert count in id agent %d.', $id);
|
||||
if ($id == 'All') {
|
||||
$data = __('Successfully updated module/alert count in all agents');
|
||||
}
|
||||
|
||||
if ($return === false) {
|
||||
returnError('error_reset_agent_counts', 'Could not be updated module/alert counts in id agent %d.', $id);
|
||||
} else {
|
||||
returnData('string', ['type' => 'string', 'data' => $data]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -166,92 +166,30 @@ function events_get_events_grouped(
|
|||
$groupby_extra = '';
|
||||
}
|
||||
|
||||
switch ($config['dbtype']) {
|
||||
case 'mysql':
|
||||
db_process_sql('SET group_concat_max_len = 9999999');
|
||||
$event_lj = events_get_secondary_groups_left_join($table);
|
||||
if ($total) {
|
||||
$sql = "SELECT COUNT(*) FROM (SELECT *
|
||||
FROM $table te $event_lj
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra.') AS t';
|
||||
} else {
|
||||
$sql = "SELECT *, MAX(id_evento) AS id_evento,
|
||||
GROUP_CONCAT(DISTINCT user_comment SEPARATOR '<br>') AS user_comment,
|
||||
GROUP_CONCAT(DISTINCT id_evento SEPARATOR ',') AS similar_ids,
|
||||
COUNT(*) AS event_rep, MAX(utimestamp) AS timestamp_rep,
|
||||
MIN(utimestamp) AS timestamp_rep_min,
|
||||
(SELECT owner_user FROM $table WHERE id_evento = MAX(te.id_evento)) owner_user,
|
||||
(SELECT id_usuario FROM $table WHERE id_evento = MAX(te.id_evento)) id_usuario,
|
||||
(SELECT id_agente FROM $table WHERE id_evento = MAX(te.id_evento)) id_agente,
|
||||
(SELECT criticity FROM $table WHERE id_evento = MAX(te.id_evento)) AS criticity,
|
||||
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp,
|
||||
(SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = te.id_agentmodule) AS module_name
|
||||
FROM $table te $event_lj
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra;
|
||||
$sql .= ' '.events_get_sql_order($sort_field, $order, 2);
|
||||
$sql .= ' LIMIT '.$offset.','.$pagination;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'postgresql':
|
||||
if ($total) {
|
||||
$sql = "SELECT COUNT(*)
|
||||
FROM $table te
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agentmodule, id_evento, id_agente, id_usuario, id_grupo, estado, timestamp, utimestamp, event_type, id_alert_am, criticity, user_comment, tags, source, id_extra'.$groupby_extra;
|
||||
} else {
|
||||
$sql = "SELECT *, MAX(id_evento) AS id_evento, array_to_string(array_agg(DISTINCT user_comment), '<br>') AS user_comment,
|
||||
array_to_string(array_agg(DISTINCT id_evento), ',') AS similar_ids,
|
||||
COUNT(*) AS event_rep, MAX(utimestamp) AS timestamp_rep,
|
||||
MIN(utimestamp) AS timestamp_rep_min,
|
||||
(SELECT owner_user FROM $table WHERE id_evento = MAX(te.id_evento)) owner_user,
|
||||
(SELECT id_usuario FROM $table WHERE id_evento = MAX(te.id_evento)) id_usuario,
|
||||
(SELECT id_agente FROM $table WHERE id_evento = MAX(te.id_evento)) id_agente,
|
||||
(SELECT criticity FROM $table WHERE id_evento = MAX(te.id_evento)) AS criticity,
|
||||
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp
|
||||
FROM $table te
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agentmodule, id_evento,
|
||||
id_agente, id_usuario, id_grupo, estado,
|
||||
timestamp, utimestamp, event_type, id_alert_am,
|
||||
criticity, user_comment, tags, source, id_extra,
|
||||
te.critical_instructions,
|
||||
te.warning_instructions,
|
||||
te.unknown_instructions,
|
||||
te.owner_user,
|
||||
te.ack_utimestamp,
|
||||
te.custom_data '.$groupby_extra.'
|
||||
ORDER BY timestamp_rep ASC LIMIT '.$pagination.' OFFSET '.$offset;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'oracle':
|
||||
if ($total) {
|
||||
$sql = "SELECT COUNT(*)
|
||||
FROM $table te
|
||||
WHERE 1=1 $sql_post
|
||||
GROUP BY estado, to_char(evento), id_agentmodule".$groupby_extra.') b ';
|
||||
} else {
|
||||
$set = [];
|
||||
$set['limit'] = $pagination;
|
||||
$set['offset'] = $offset;
|
||||
|
||||
$sql = "SELECT ta.*, tb.event_rep, tb.timestamp_rep, tb.timestamp_rep_min, tb.user_comments, tb.similar_ids
|
||||
FROM $table ta
|
||||
INNER JOIN (SELECT MAX(id_evento) AS id_evento, COUNT(id_evento) AS event_rep,
|
||||
MAX(utimestamp) AS timestamp_rep, MIN(utimestamp) AS timestamp_rep_min,
|
||||
TAB_TO_STRING(CAST(COLLECT(TO_CHAR(user_comment) ORDER BY id_evento ASC) AS t_varchar2_tab), '<br>') AS user_comments,
|
||||
TAB_TO_STRING(CAST(COLLECT(CAST(id_evento AS VARCHAR2(4000)) ORDER BY id_evento ASC) AS t_varchar2_tab)) AS similar_ids
|
||||
FROM $table te
|
||||
WHERE 1=1 $sql_post
|
||||
GROUP BY estado, to_char(evento), id_agentmodule$groupby_extra) tb
|
||||
ON ta.id_evento = tb.id_evento
|
||||
ORDER BY tb.timestamp_rep ASC";
|
||||
$sql = oracle_recode_query($sql, $set);
|
||||
}
|
||||
break;
|
||||
db_process_sql('SET group_concat_max_len = 9999999');
|
||||
$event_lj = events_get_secondary_groups_left_join($table);
|
||||
if ($total) {
|
||||
$sql = "SELECT COUNT(*) FROM (SELECT id_evento
|
||||
FROM $table te $event_lj
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra.') AS t';
|
||||
} else {
|
||||
$sql = "SELECT *, MAX(id_evento) AS id_evento,
|
||||
GROUP_CONCAT(DISTINCT user_comment SEPARATOR '<br>') AS user_comment,
|
||||
GROUP_CONCAT(DISTINCT id_evento SEPARATOR ',') AS similar_ids,
|
||||
COUNT(id_evento) AS event_rep, MAX(utimestamp) AS timestamp_rep,
|
||||
MIN(utimestamp) AS timestamp_rep_min,
|
||||
(SELECT owner_user FROM $table WHERE id_evento = MAX(te.id_evento)) owner_user,
|
||||
(SELECT id_usuario FROM $table WHERE id_evento = MAX(te.id_evento)) id_usuario,
|
||||
(SELECT id_agente FROM $table WHERE id_evento = MAX(te.id_evento)) id_agente,
|
||||
(SELECT criticity FROM $table WHERE id_evento = MAX(te.id_evento)) AS criticity,
|
||||
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp,
|
||||
(SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = te.id_agentmodule) AS module_name
|
||||
FROM $table te $event_lj
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra;
|
||||
$sql .= ' '.events_get_sql_order($sort_field, $order, 2);
|
||||
$sql .= ' LIMIT '.$offset.','.$pagination;
|
||||
}
|
||||
|
||||
// Extract the events by filter (or not) from db
|
||||
|
@ -260,16 +198,6 @@ function events_get_events_grouped(
|
|||
if ($total) {
|
||||
return reset($events[0]);
|
||||
} else {
|
||||
// Override the column 'user_comment' with the column 'user_comments' when oracle
|
||||
if (!empty($events) && $config['dbtype'] == 'oracle') {
|
||||
array_walk(
|
||||
$events,
|
||||
function (&$value, $key) {
|
||||
set_if_defined($value['user_comment'], $value['user_comments']);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return $events;
|
||||
}
|
||||
}
|
||||
|
@ -4871,6 +4799,10 @@ function events_get_sql_order($sort_field='timestamp', $sort='DESC', $group_rep=
|
|||
*/
|
||||
function events_get_secondary_groups_left_join($table)
|
||||
{
|
||||
if (users_is_admin()) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if ($table == 'tevento') {
|
||||
return 'LEFT JOIN tagent_secondary_group tasg ON te.id_agente = tasg.id_agent';
|
||||
}
|
||||
|
|
|
@ -2306,6 +2306,89 @@ function html_print_checkbox($name, $value, $checked=false, $return=false, $disa
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Render a checkbox button input toogle switch type. Extended version, use html_print_checkbox_toogle_switch() to simplify.
|
||||
*
|
||||
* @param string Input name.
|
||||
* @param string Input value.
|
||||
* @param string Set the button to be marked (optional, unmarked by default).
|
||||
* @param bool Disable the button (optional, button enabled by default).
|
||||
* @param string Script to execute when onClick event is triggered (optional).
|
||||
* @param string Optional HTML attributes. It's a free string which will be
|
||||
* @param bool Whether to return an output string or echo now (optional, echo by default).
|
||||
*
|
||||
* @return string HTML code if return parameter is true.
|
||||
*/
|
||||
|
||||
|
||||
function html_print_checkbox_toogle_switch_extended($name, $value, $checked, $disabled, $script, $attributes, $return=false, $id='')
|
||||
{
|
||||
static $idcounter = [];
|
||||
|
||||
// If duplicate names exist, it will start numbering. Otherwise it won't
|
||||
if (isset($idcounter[$name])) {
|
||||
$idcounter[$name]++;
|
||||
} else {
|
||||
$idcounter[$name] = 0;
|
||||
}
|
||||
|
||||
$id_aux = preg_replace('/[^a-z0-9\:\;\-\_]/i', '', $name.($idcounter[$name] ? $idcounter[$name] : ''));
|
||||
|
||||
$output = '<label class="toogle_switch"><input name="'.$name.'" type="checkbox" value="'.$value.'" '.($checked ? 'checked="checked"' : '');
|
||||
if ($id == '') {
|
||||
$output .= ' id="checkbox-'.$id_aux.'"';
|
||||
} else {
|
||||
$output .= ' '.$id.'"';
|
||||
}
|
||||
|
||||
if ($script != '') {
|
||||
$output .= ' onclick="'.$script.'"';
|
||||
}
|
||||
|
||||
if ($disabled) {
|
||||
$output .= ' disabled="disabled"';
|
||||
}
|
||||
|
||||
$output .= ' '.$attributes;
|
||||
$output .= ' /><span class="slider"></span></label>';
|
||||
$output .= "\n";
|
||||
|
||||
if ($return === false) {
|
||||
echo $output;
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Render a checkbox button input toogle switch type.
|
||||
*
|
||||
* @param string Input name.
|
||||
* @param string Input value.
|
||||
* @param string Set the button to be marked (optional, unmarked by default).
|
||||
* @param bool Whether to return an output string or echo now (optional, echo by default).
|
||||
* @param boolean $disabled Disable the button (optional, button enabled by default).
|
||||
*
|
||||
* @return string HTML code if return parameter is true.
|
||||
*/
|
||||
|
||||
|
||||
function html_print_checkbox_toogle_switch($name, $value, $checked=false, $return=false, $disabled=false, $script='', $disabled_hidden=false)
|
||||
{
|
||||
$output = html_print_checkbox_toogle_switch_extended($name, $value, (bool) $checked, $disabled, $script, '', true);
|
||||
if (!$disabled_hidden) {
|
||||
$output .= html_print_input_hidden($name.'_sent', 1, true);
|
||||
}
|
||||
|
||||
if ($return === false) {
|
||||
echo $output;
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prints an image HTML element.
|
||||
*
|
||||
|
@ -2990,4 +3073,3 @@ function html_print_csrf_error()
|
|||
);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -541,7 +541,7 @@ function io_input_password($password)
|
|||
global $config;
|
||||
|
||||
enterprise_include_once('include/functions_crypto.php');
|
||||
$ciphertext = enterprise_hook('openssl_encrypt_decrypt', ['encrypt', $password]);
|
||||
$ciphertext = enterprise_hook('openssl_encrypt_decrypt', ['encrypt', io_safe_output($password)]);
|
||||
if ($ciphertext === ENTERPRISE_NOT_HOOK) {
|
||||
return $password;
|
||||
}
|
||||
|
@ -563,7 +563,7 @@ function io_output_password($password)
|
|||
global $config;
|
||||
|
||||
enterprise_include_once('include/functions_crypto.php');
|
||||
$plaintext = enterprise_hook('openssl_encrypt_decrypt', ['decrypt', $password]);
|
||||
$plaintext = enterprise_hook('openssl_encrypt_decrypt', ['decrypt', io_safe_output($password)]);
|
||||
if ($plaintext === ENTERPRISE_NOT_HOOK) {
|
||||
return $password;
|
||||
}
|
||||
|
|
|
@ -372,7 +372,7 @@ function menu_print_menu(&$menu)
|
|||
}
|
||||
|
||||
// Print out the first level
|
||||
$output .= '<li title="'.ucwords(str_replace(['oper-', 'god-'], '', $id)).'" class="'.implode(' ', $classes).' '.$seleccionado.'" id="icon_'.$id.'">';
|
||||
$output .= '<li title="'.$main['text'].'" class="'.implode(' ', $classes).' '.$seleccionado.'" id="icon_'.$id.'">';
|
||||
// onclick="location.href=\'index.php?sec='.$mainsec.'&sec2='.$main["sec2"].($main["refr"] ? '&refr='.$main["refr"] : '').'\'">';
|
||||
$length = strlen(__($main['text']));
|
||||
$padding_top = ( $length >= 18) ? 6 : 12;
|
||||
|
|
|
@ -329,6 +329,11 @@ function modules_change_disabled($id_agent_module, $new_value=1)
|
|||
continue;
|
||||
}
|
||||
|
||||
// Validate alerts for disabled modules.
|
||||
if ($new_value == 1) {
|
||||
alerts_validate_alert_module($id_module);
|
||||
}
|
||||
|
||||
$id_agent_changed[] = modules_get_agentmodule_agent($id_module);
|
||||
$id_agent_module_changed[] = $id_module;
|
||||
}
|
||||
|
|
|
@ -1183,12 +1183,11 @@ function reporting_SLA(
|
|||
}
|
||||
}
|
||||
|
||||
// SLA items sorted descending ()
|
||||
if ($content['top_n'] == 2) {
|
||||
// SLA items sorted descending ()
|
||||
arsort($return['data']['']);
|
||||
}
|
||||
// SLA items sorted ascending
|
||||
else if ($content['top_n'] == 1) {
|
||||
} else if ($content['top_n'] == 1) {
|
||||
// SLA items sorted ascending
|
||||
asort($sla_showed_values);
|
||||
}
|
||||
|
||||
|
@ -6724,7 +6723,7 @@ function reporting_general($report, $content)
|
|||
'id_agente_modulo',
|
||||
$row['id_agent_module']
|
||||
);
|
||||
|
||||
$id_module_type = db_get_value('id_tipo_modulo', 'tagente_modulo', 'nombre', $mod_name);
|
||||
if ($content['period'] == 0) {
|
||||
$data_res[$index] = modules_get_last_value($row['id_agent_module']);
|
||||
} else {
|
||||
|
@ -6771,16 +6770,31 @@ function reporting_general($report, $content)
|
|||
$agent_name[$index] = $ag_name;
|
||||
$module_name[$index] = $mod_name;
|
||||
$units[$index] = $unit;
|
||||
$id_module_types[$index] = $id_module_type;
|
||||
$operations[$index] = $row['operation'];
|
||||
break;
|
||||
|
||||
case REPORT_GENERAL_GROUP_BY_AGENT:
|
||||
$id_module_types[$index] = $id_module_type;
|
||||
if ($id_module_types[$index] == 2 || $id_module_types[$index] == 6 || $id_module_types[$index] == 9 || $id_module_types[$index] == 18) {
|
||||
$data_res[$index] = round($data_res[$index], 0, PHP_ROUND_HALF_DOWN);
|
||||
}
|
||||
|
||||
if ($id_module_types[$index] == 2 || $id_module_types[$index] == 6 || $id_module_types[$index] == 9 || $id_module_types[$index] == 18) {
|
||||
if ($data_res[$index] == 1) {
|
||||
$data_res[$index] = 'Up';
|
||||
} else if ($data_res[$index] == 0) {
|
||||
$data_res[$index] = 'Down';
|
||||
}
|
||||
}
|
||||
|
||||
if ($data_res[$index] === false) {
|
||||
$return['data'][$ag_name][$mod_name] = null;
|
||||
} else {
|
||||
if (!is_numeric($data_res[$index])) {
|
||||
$return['data'][$ag_name][$mod_name] = $data_res[$index];
|
||||
} else {
|
||||
hd($data_res[$index], true);
|
||||
$return['data'][$ag_name][$mod_name] = format_for_graph($data_res[$index], 2).' '.$unit;
|
||||
}
|
||||
}
|
||||
|
@ -6896,7 +6910,7 @@ function reporting_general($report, $content)
|
|||
$data['module'] = $module_name[$i];
|
||||
$data['id_agent_module'] = $id_agent_module[$i];
|
||||
$data['id_agent'] = agents_get_agent_id_by_module_id($id_agent_module[$i]);
|
||||
|
||||
$data['id_module_type'] = $id_module_types[$i];
|
||||
$data['operator'] = '';
|
||||
if ($content['period'] != 0) {
|
||||
switch ($operations[$i]) {
|
||||
|
|
|
@ -2629,21 +2629,6 @@ function reporting_html_availability_graph(&$table, $item, $pdf=0)
|
|||
}
|
||||
|
||||
|
||||
function get_agent_first_time($agent_name)
|
||||
{
|
||||
$id = agents_get_agent_id($agent_name, true);
|
||||
|
||||
$utimestamp = db_get_all_rows_sql(
|
||||
'SELECT utimestamp FROM tagente_datos WHERE id_agente_modulo IN
|
||||
(SELECT id_agente_modulo FROM tagente_modulo WHERE id_agente = '.$id.')
|
||||
ORDER BY utimestamp ASC LIMIT 1'
|
||||
);
|
||||
$utimestamp = $utimestamp[0]['utimestamp'];
|
||||
|
||||
return $utimestamp;
|
||||
}
|
||||
|
||||
|
||||
function reporting_html_general(&$table, $item)
|
||||
{
|
||||
if (!empty($item['data'])) {
|
||||
|
@ -2676,6 +2661,16 @@ function reporting_html_general(&$table, $item)
|
|||
|
||||
// End - Order by agent
|
||||
foreach ($item['data'] as $row) {
|
||||
if ($row['id_module_type'] == 6 || $row['id_module_type'] == 9 || $row['id_module_type'] == 18 || $row['id_module_type'] == 2) {
|
||||
$row['formated_value'] = round($row['formated_value'], 0, PHP_ROUND_HALF_DOWN);
|
||||
}
|
||||
|
||||
if (($row['id_module_type'] == 6 || $row['id_module_type'] == 9 || $row['id_module_type'] == 18 || $row['id_module_type'] == 2) && $row['formated_value'] == 1) {
|
||||
$row['formated_value'] = 'Up';
|
||||
} else if (($row['id_module_type'] == 6 || $row['id_module_type'] == 9 || $row['id_module_type'] == 18 || $row['id_module_type'] == 2) && $row['formated_value'] == 0) {
|
||||
$row['formated_value'] = 'Down';
|
||||
}
|
||||
|
||||
if ($item['date']['period'] != 0) {
|
||||
$table1->data[] = [
|
||||
$row['agent'],
|
||||
|
@ -2738,13 +2733,11 @@ function reporting_html_general(&$table, $item)
|
|||
}
|
||||
|
||||
$list_modules = array_keys($list_modules);
|
||||
|
||||
$table1->width = '99%';
|
||||
$table1->data = [];
|
||||
$table1->head = array_merge([__('Agent')], $list_modules);
|
||||
foreach ($item['data'] as $agent => $modules) {
|
||||
$row = [];
|
||||
|
||||
$row['agent'] = $agent;
|
||||
$table1->style['agent'] = 'text-align: center;';
|
||||
foreach ($list_modules as $name) {
|
||||
|
@ -2804,6 +2797,21 @@ function reporting_html_general(&$table, $item)
|
|||
}
|
||||
|
||||
|
||||
function get_agent_first_time($agent_name)
|
||||
{
|
||||
$id = agents_get_agent_id($agent_name, true);
|
||||
|
||||
$utimestamp = db_get_all_rows_sql(
|
||||
'SELECT utimestamp FROM tagente_datos WHERE id_agente_modulo IN
|
||||
(SELECT id_agente_modulo FROM tagente_modulo WHERE id_agente = '.$id.')
|
||||
ORDER BY utimestamp ASC LIMIT 1'
|
||||
);
|
||||
$utimestamp = $utimestamp[0]['utimestamp'];
|
||||
|
||||
return $utimestamp;
|
||||
}
|
||||
|
||||
|
||||
function reporting_html_sql(&$table, $item)
|
||||
{
|
||||
if (!$item['correct']) {
|
||||
|
|
|
@ -711,7 +711,7 @@ function update_manager_extract_package()
|
|||
|
||||
rrmdir($path_package);
|
||||
|
||||
if ($result != 0) {
|
||||
if ($result == 0) {
|
||||
db_process_sql_update(
|
||||
'tconfig',
|
||||
[
|
||||
|
|
|
@ -3902,13 +3902,16 @@ function visual_map_translate_agent_status($agent_status)
|
|||
{
|
||||
switch ($agent_status) {
|
||||
case AGENT_STATUS_NORMAL:
|
||||
case AGENT_MODULE_STATUS_NORMAL_ALERT:
|
||||
default:
|
||||
return VISUAL_MAP_STATUS_NORMAL;
|
||||
|
||||
case AGENT_STATUS_CRITICAL:
|
||||
case AGENT_MODULE_STATUS_CRITICAL_ALERT:
|
||||
return VISUAL_MAP_STATUS_CRITICAL_BAD;
|
||||
|
||||
case AGENT_STATUS_WARNING:
|
||||
case AGENT_MODULE_STATUS_WARNING_ALERT:
|
||||
return VISUAL_MAP_STATUS_WARNING;
|
||||
|
||||
case AGENT_STATUS_NOT_INIT:
|
||||
|
|
|
@ -1312,7 +1312,7 @@ function update_last_package(package, version, homeurl) {
|
|||
|
||||
$("#box_online .content").html("");
|
||||
$("#box_online .loading").show();
|
||||
$("#box_online .download_package").show();
|
||||
$("#box_online .downloading_package").show();
|
||||
|
||||
var parameters = {};
|
||||
parameters["page"] = "include/ajax/update_manager.ajax";
|
||||
|
@ -1326,7 +1326,7 @@ function update_last_package(package, version, homeurl) {
|
|||
parameters,
|
||||
function(data) {
|
||||
if (data["in_progress"]) {
|
||||
$("#box_online .download_package").hide();
|
||||
$("#box_online .downloading_package").hide();
|
||||
|
||||
$("#box_online .content").html(data["message"]);
|
||||
|
||||
|
@ -1341,7 +1341,7 @@ function update_last_package(package, version, homeurl) {
|
|||
parameters2,
|
||||
function(data) {
|
||||
if (data["correct"]) {
|
||||
$("#box_online .download_package").hide();
|
||||
$("#box_online .downloading_package").hide();
|
||||
|
||||
$("#box_online .content").html(data["message"]);
|
||||
|
||||
|
|
|
@ -911,13 +911,6 @@ input.group_item_min[disabled] {
|
|||
background: #fefefe url(../../images/group_green.disabled.png) no-repeat
|
||||
center !important;
|
||||
}
|
||||
input.color_cloud_min {
|
||||
background: #fefefe url(../../images/color_cloud_item.png) no-repeat center !important;
|
||||
}
|
||||
input.color_cloud_min[disabled] {
|
||||
background: #fefefe url(../../images/color_cloud_item.disabled.png) no-repeat
|
||||
center !important;
|
||||
}
|
||||
|
||||
div#cont {
|
||||
position: fixed;
|
||||
|
@ -1497,12 +1490,14 @@ table.databox {
|
|||
}
|
||||
|
||||
.databox > thead > tr > th,
|
||||
.databox > tbody > tr > th,
|
||||
.databox > thead > tr > th a {
|
||||
.databox > tbody > tr > th {
|
||||
padding: 9px 7px;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
}
|
||||
.databox > td {
|
||||
#border-bottom: 1px solid #e2e2e2;
|
||||
}
|
||||
|
||||
.databox > th * {
|
||||
color: #fff;
|
||||
|
@ -4273,6 +4268,295 @@ div#dialog_messages table th:last-child {
|
|||
text-align: right;
|
||||
}
|
||||
|
||||
/* --- JQUERY-UI --- */
|
||||
.ui-button-text-only .ui-button-text {
|
||||
font-family: "nunito", sans-serif;
|
||||
font-size: 9pt;
|
||||
color: #82b92e;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-title *,
|
||||
.ui-datepicker th * {
|
||||
color: white;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-title select,
|
||||
.ui-datepicker .ui-datepicker-title option {
|
||||
color: #111 !important;
|
||||
}
|
||||
.ui-dialog .ui-dialog-titlebar {
|
||||
display: inherit;
|
||||
text-align: center;
|
||||
padding: 0.4em 1em;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
background-color: #82b92e !important;
|
||||
}
|
||||
.ui-dialog .ui-dialog-title {
|
||||
font-family: "Nunito", sans-serif;
|
||||
margin: 0.1em 0 !important;
|
||||
white-space: nowrap !important;
|
||||
width: 100% !important;
|
||||
overflow: hidden !important;
|
||||
text-overflow: ellipsis !important;
|
||||
font-size: 11pt;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
float: none !important;
|
||||
}
|
||||
.ui-dialog .ui-dialog-titlebar-close {
|
||||
position: absolute !important;
|
||||
right: 1em !important;
|
||||
width: 21px !important;
|
||||
margin: 0px 0 0 0 !important;
|
||||
padding: 1px !important;
|
||||
height: 20px !important;
|
||||
bottom: 30% !important;
|
||||
top: 20% !important;
|
||||
}
|
||||
.ui-dialog .ui-dialog-content {
|
||||
position: relative !important;
|
||||
border: 0;
|
||||
padding: 0.5em 1em !important;
|
||||
background: none !important;
|
||||
overflow: auto !important;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
.ui-dialog .ui-dialog-buttonpane {
|
||||
text-align: left;
|
||||
border-width: 1px 0 0 0;
|
||||
background-image: none;
|
||||
margin-top: 0.5em;
|
||||
padding: 0.3em 1em 0.5em 0.4em;
|
||||
}
|
||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
|
||||
float: right;
|
||||
}
|
||||
.ui-dialog .ui-dialog-buttonpane button {
|
||||
margin: 0.5em 1em 0.5em 0 !important;
|
||||
cursor: pointer !important;
|
||||
background: white !important;
|
||||
background-color: white !important;
|
||||
border: 1px solid #82b92e !important;
|
||||
min-height: 35px !important;
|
||||
width: 90px !important;
|
||||
}
|
||||
.ui-widget-content {
|
||||
background: #ffffff url(include/styles/images/ui-bg_flat_75_ffffff_40x100.png)
|
||||
50% 50% repeat-x;
|
||||
}
|
||||
.ui-state-default,
|
||||
.ui-widget-content .ui-state-default,
|
||||
.ui-widget-header .ui-state-default {
|
||||
margin-top: 3px;
|
||||
border: 1px solid #d3d3d3 !important;
|
||||
border-bottom: 0 !important;
|
||||
background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50%
|
||||
repeat-x !important;
|
||||
font-weight: normal !important;
|
||||
color: #555555 !important;
|
||||
}
|
||||
.ui-corner-all,
|
||||
.ui-corner-top,
|
||||
.ui-corner-left,
|
||||
.ui-corner-tl {
|
||||
border-top-left-radius: 0 !important;
|
||||
}
|
||||
.ui-corner-all,
|
||||
.ui-corner-top,
|
||||
.ui-corner-right,
|
||||
.ui-corner-tr {
|
||||
border-top-right-radius: 0 !important;
|
||||
}
|
||||
.ui-corner-all,
|
||||
.ui-corner-bottom,
|
||||
.ui-corner-left,
|
||||
.ui-corner-bl {
|
||||
border-bottom-left-radius: 0 !important;
|
||||
}
|
||||
.ui-corner-all,
|
||||
.ui-corner-bottom,
|
||||
.ui-corner-right,
|
||||
.ui-corner-br {
|
||||
border-bottom-right-radius: 0 !important;
|
||||
}
|
||||
#ui-datepicker-div {
|
||||
border-color: #b1b1b1;
|
||||
background: #ffffff;
|
||||
}
|
||||
.ui-widget-header {
|
||||
background: #b1b1b1 !important;
|
||||
color: #ffffff !important;
|
||||
}
|
||||
.ui-datepicker-calendar th {
|
||||
background-color: #3f3f3f;
|
||||
}
|
||||
.ui-dialog .ui-widget-header {
|
||||
background-color: #82b92e;
|
||||
}
|
||||
.ui_tpicker_hour,
|
||||
.ui_tpicker_minute,
|
||||
.ui_tpicker_second,
|
||||
.ui-slider-handle {
|
||||
border: 1px solid #aaaaaa !important;
|
||||
}
|
||||
.ui-timepicker-div dd {
|
||||
margin: 0px 15px 0px 15px;
|
||||
}
|
||||
.ui-timepicker-div .ui-datepicker-title {
|
||||
color: white;
|
||||
}
|
||||
.ui-datepicker-buttonpane button {
|
||||
border-color: #b1b1b1 !important;
|
||||
}
|
||||
.ui-datepicker-buttonpane .ui-datepicker-current {
|
||||
margin-left: 0.2em !important;
|
||||
}
|
||||
.ui-dialog .ui-widget-content {
|
||||
border: 0px !important;
|
||||
}
|
||||
.ui-dialog {
|
||||
box-shadow: 5px 5px 19px #4e4e4e;
|
||||
border: 0px !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.ui-dialog-titlebar {
|
||||
border: 0px !important;
|
||||
}
|
||||
.ui-dialog-titlebar .ui-icon-closethick,
|
||||
.ui-dialog-titlebar .ui-state-default,
|
||||
.ui-dialog-titlebar .ui-state-hover,
|
||||
.ui-dialog-titlebar button {
|
||||
background: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.ui-dialog-title {
|
||||
color: #ffffff;
|
||||
font-size: 9pt;
|
||||
}
|
||||
.ui-widget input,
|
||||
.ui-widget select,
|
||||
.ui-widget textarea,
|
||||
.ui-widget button {
|
||||
font-family: Verdana, Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
a.ui-button:active,
|
||||
.ui-button:active,
|
||||
.ui-button.ui-state-active:hover,
|
||||
.ui-state-focus .ui-widget-content,
|
||||
.ui-state-focus .ui-widget-header,
|
||||
.ui-state-focus .ui-button:hover,
|
||||
.ui-button:focus {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.ui-state-hover,
|
||||
.ui-widget-content .ui-state-hover,
|
||||
.ui-widget-header .ui-state-hover {
|
||||
border: 1px solid #999999 !important;
|
||||
border-bottom: 0 !important;
|
||||
background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50%
|
||||
repeat-x !important;
|
||||
}
|
||||
|
||||
.ui-state-active,
|
||||
.ui-widget-content .ui-state-active,
|
||||
.ui-widget-header .ui-state-active {
|
||||
border: 1px solid #aaaaaa !important;
|
||||
border-bottom: 0 !important;
|
||||
background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50%
|
||||
repeat-x !important;
|
||||
font-weight: normal !important;
|
||||
color: #212121 !important;
|
||||
}
|
||||
.ui-state-active a,
|
||||
.ui-state-active a:link,
|
||||
.ui-state-active a:visited {
|
||||
color: #212121 !important;
|
||||
}
|
||||
|
||||
ul.ui-front {
|
||||
z-index: 1000000 !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
ul.ui-front li {
|
||||
padding: 3px !important;
|
||||
}
|
||||
|
||||
ul.ui-front li:hover {
|
||||
background-color: #e1e3e1 !important;
|
||||
}
|
||||
|
||||
ul.ui-front li a.ui-menu-item-wrapper {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
ul.ui-front li a.ui-menu-item-wrapper span {
|
||||
padding-left: 5px !important;
|
||||
}
|
||||
|
||||
ul.ui-front li a.ui-menu-item-wrapper:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
/* --- END - JQUERY-UI --- */
|
||||
|
||||
.toogle_switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 47px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.toogle_switch input {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: 0.7s;
|
||||
transition: 0.7s;
|
||||
border-radius: 34px;
|
||||
}
|
||||
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: 0.7s;
|
||||
transition: 0.7s;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
input:checked + .slider {
|
||||
background-color: #82b92e;
|
||||
}
|
||||
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px #82b92e;
|
||||
}
|
||||
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
background-color: rgb(197, 235, 192);
|
||||
}
|
||||
|
||||
/* jQuery dialog */
|
||||
.no-close .ui-dialog-titlebar-close {
|
||||
display: none;
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
<div style='height: 10px'>
|
||||
<?php
|
||||
$version = '7.0NG.731';
|
||||
$build = '190207';
|
||||
$build = '190214';
|
||||
$banner = "v$version Build $build";
|
||||
|
||||
error_reporting(0);
|
||||
|
|
|
@ -19,7 +19,6 @@ if (check_acl($id_user, 0, 'ER')) {
|
|||
$groups = users_get_groups($id_user, 'EM');
|
||||
}
|
||||
|
||||
|
||||
$propagate = db_get_value('propagate', 'tgrupo', 'id_grupo', $id_group);
|
||||
|
||||
if ($id_group > 0) {
|
||||
|
@ -41,24 +40,67 @@ if ($id_group > 0) {
|
|||
$childrens_ids = array_keys($groups);
|
||||
}
|
||||
|
||||
// Group selection
|
||||
if (!isset($date_from)) {
|
||||
$date_from = '';
|
||||
}
|
||||
|
||||
if (!isset($date_to)) {
|
||||
$date_to = '';
|
||||
}
|
||||
|
||||
if (($date_from === '') && ($date_to === '')) {
|
||||
if ($event_view_hr > 0) {
|
||||
$filter_resume['hours_max'] = $event_view_hr;
|
||||
$unixtime = (get_system_time() - ($event_view_hr * SECONDS_1HOUR));
|
||||
$sql_post .= ' AND (utimestamp > '.$unixtime.')';
|
||||
}
|
||||
} else {
|
||||
// Some of this values will have the user's timezone,
|
||||
// so we need to reverse it to the system's timezone
|
||||
// before using it into the db.
|
||||
$fixed_offset = get_fixed_offset();
|
||||
|
||||
if (!empty($date_from)) {
|
||||
if (empty($time_from)) {
|
||||
$time_from = '00:00:00';
|
||||
}
|
||||
|
||||
$utimestamp_from = (strtotime($date_from.' '.$time_from) - $fixed_offset);
|
||||
$filter_resume['time_from'] = date(DATE_FORMAT.' '.TIME_FORMAT, $utimestamp_from);
|
||||
$sql_post .= ' AND (utimestamp >= '.$utimestamp_from.')';
|
||||
}
|
||||
|
||||
if (!empty($date_to)) {
|
||||
if (empty($time_to)) {
|
||||
$time_to = '23:59:59';
|
||||
}
|
||||
|
||||
$utimestamp_to = (strtotime($date_to.' '.$time_to) - $fixed_offset);
|
||||
$filter_resume['time_to'] = date(DATE_FORMAT.' '.TIME_FORMAT, $utimestamp_to);
|
||||
$sql_post .= ' AND (utimestamp <= '.$utimestamp_to.')';
|
||||
}
|
||||
}
|
||||
|
||||
// Group selection.
|
||||
if ($id_group > 0 && in_array($id_group, array_keys($groups))) {
|
||||
if ($propagate) {
|
||||
$childrens_str = implode(',', $childrens_ids);
|
||||
$sql_post = " AND (id_grupo IN ($childrens_str) OR id_group IN ($childrens_str))";
|
||||
$sql_post .= " AND (id_grupo IN ($childrens_str) OR id_group IN ($childrens_str))";
|
||||
} else {
|
||||
// If a group is selected and it's in the groups allowed
|
||||
$sql_post = " AND (id_grupo = $id_group OR id_group = $id_group)";
|
||||
// If a group is selected and it's in the groups allowed.
|
||||
$sql_post .= " AND (id_grupo = $id_group OR id_group = $id_group)";
|
||||
}
|
||||
} else {
|
||||
$sql_post = sprintf(
|
||||
' AND (id_grupo IN (%s) OR id_group IN (%s)) ',
|
||||
implode(',', array_keys($groups)),
|
||||
implode(',', array_keys($groups))
|
||||
);
|
||||
if (!users_is_admin() && !users_can_manage_group_all('ER')) {
|
||||
$sql_post .= sprintf(
|
||||
' AND (id_grupo IN (%s) OR id_group IN (%s)) ',
|
||||
implode(',', array_keys($groups)),
|
||||
implode(',', array_keys($groups))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Skip system messages if user is not PM
|
||||
// Skip system messages if user is not PM.
|
||||
if (!check_acl($id_user, 0, 'PM')) {
|
||||
$sql_post .= ' AND id_grupo != 0';
|
||||
}
|
||||
|
@ -164,7 +206,7 @@ if ($source != '') {
|
|||
$sql_post .= " AND source LIKE '%$source%'";
|
||||
}
|
||||
|
||||
// In metaconsole mode the agent search is performed by name
|
||||
// In metaconsole mode the agent search is performed by name.
|
||||
if ($meta) {
|
||||
$text_agent = get_parameter('text_agent', '');
|
||||
$id_agent = get_parameter('id_agent', 0);
|
||||
|
@ -179,7 +221,7 @@ if ($meta) {
|
|||
break;
|
||||
|
||||
case -1:
|
||||
// Agent doesnt exist. No results will returned
|
||||
// Agent doesnt exist. No results will returned.
|
||||
$sql_post .= ' AND 1 = 0';
|
||||
break;
|
||||
|
||||
|
@ -192,9 +234,7 @@ if ($meta) {
|
|||
|
||||
|
||||
|
||||
if ($meta) {
|
||||
// There is another filter.
|
||||
} else {
|
||||
if (!$meta) {
|
||||
if (!empty($text_module)) {
|
||||
$filter_resume['module'] = $text_module;
|
||||
$sql_post .= " AND id_agentmodule IN (
|
||||
|
@ -210,48 +250,7 @@ if ($id_user_ack != '0') {
|
|||
$sql_post .= " AND id_usuario = '".$id_user_ack."'";
|
||||
}
|
||||
|
||||
if (!isset($date_from)) {
|
||||
$date_from = '';
|
||||
}
|
||||
|
||||
if (!isset($date_to)) {
|
||||
$date_to = '';
|
||||
}
|
||||
|
||||
if (($date_from == '') && ($date_to == '')) {
|
||||
if ($event_view_hr > 0) {
|
||||
$filter_resume['hours_max'] = $event_view_hr;
|
||||
$unixtime = (get_system_time() - ($event_view_hr * SECONDS_1HOUR));
|
||||
$sql_post .= ' AND (utimestamp > '.$unixtime.')';
|
||||
}
|
||||
} else {
|
||||
// Some of this values will have the user's timezone,
|
||||
// so we need to reverse it to the system's timezone
|
||||
// before using it into the db
|
||||
$fixed_offset = get_fixed_offset();
|
||||
|
||||
if (!empty($date_from)) {
|
||||
if (empty($time_from)) {
|
||||
$time_from = '00:00:00';
|
||||
}
|
||||
|
||||
$utimestamp_from = (strtotime($date_from.' '.$time_from) - $fixed_offset);
|
||||
$filter_resume['time_from'] = date(DATE_FORMAT.' '.TIME_FORMAT, $utimestamp_from);
|
||||
$sql_post .= ' AND (utimestamp >= '.$utimestamp_from.')';
|
||||
}
|
||||
|
||||
if (!empty($date_to)) {
|
||||
if (empty($time_to)) {
|
||||
$time_to = '23:59:59';
|
||||
}
|
||||
|
||||
$utimestamp_to = (strtotime($date_to.' '.$time_to) - $fixed_offset);
|
||||
$filter_resume['time_to'] = date(DATE_FORMAT.' '.TIME_FORMAT, $utimestamp_to);
|
||||
$sql_post .= ' AND (utimestamp <= '.$utimestamp_to.')';
|
||||
}
|
||||
}
|
||||
|
||||
// Search by tag
|
||||
// Search by tag.
|
||||
if (!empty($tag_with)) {
|
||||
if (!users_is_admin()) {
|
||||
$user_tags = array_flip(tags_get_tags_for_module_search());
|
||||
|
@ -305,7 +304,7 @@ if (!empty($tag_without)) {
|
|||
$sql_post .= ' ) ';
|
||||
}
|
||||
|
||||
// Filter/Only alerts
|
||||
// Filter/Only alerts.
|
||||
if (isset($filter_only_alert)) {
|
||||
if ($filter_only_alert == 0) {
|
||||
$filter_resume['alerts'] = $filter_only_alert;
|
||||
|
@ -316,7 +315,7 @@ if (isset($filter_only_alert)) {
|
|||
}
|
||||
}
|
||||
|
||||
// Tags ACLS
|
||||
// Tags ACLS.
|
||||
if ($id_group > 0 && in_array($id_group, array_keys($groups))) {
|
||||
$group_array = (array) $id_group;
|
||||
} else {
|
||||
|
@ -335,7 +334,7 @@ if (check_acl($id_user, 0, 'ER')) {
|
|||
[],
|
||||
true
|
||||
);
|
||||
// FORCE CHECK SQL "(TAG = tag1 AND id_grupo = 1)"
|
||||
// FORCE CHECK SQL "(TAG = tag1 AND id_grupo = 1)".
|
||||
} else if (check_acl($id_user, 0, 'EW')) {
|
||||
$tags_acls_condition = tags_get_acl_tags(
|
||||
$id_user,
|
||||
|
@ -348,7 +347,7 @@ if (check_acl($id_user, 0, 'ER')) {
|
|||
[],
|
||||
true
|
||||
);
|
||||
// FORCE CHECK SQL "(TAG = tag1 AND id_grupo = 1)"
|
||||
// FORCE CHECK SQL "(TAG = tag1 AND id_grupo = 1)".
|
||||
} else if (check_acl($id_user, 0, 'EM')) {
|
||||
$tags_acls_condition = tags_get_acl_tags(
|
||||
$id_user,
|
||||
|
@ -361,14 +360,14 @@ if (check_acl($id_user, 0, 'ER')) {
|
|||
[],
|
||||
true
|
||||
);
|
||||
// FORCE CHECK SQL "(TAG = tag1 AND id_grupo = 1)"
|
||||
// FORCE CHECK SQL "(TAG = tag1 AND id_grupo = 1)".
|
||||
}
|
||||
|
||||
if (($tags_acls_condition != ERR_WRONG_PARAMETERS) && ($tags_acls_condition != ERR_ACL) && ($tags_acls_condition != -110000)) {
|
||||
$sql_post .= $tags_acls_condition;
|
||||
}
|
||||
|
||||
// Metaconsole fitlers
|
||||
// Metaconsole fitlers.
|
||||
if ($meta) {
|
||||
if ($server_id) {
|
||||
$filter_resume['server'] = $server_id;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.731
|
||||
%define release 190207
|
||||
%define release 190214
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.731
|
||||
%define release 190207
|
||||
%define release 190214
|
||||
%define httpd_name httpd
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name apache2
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-server
|
||||
Version: 7.0NG.731-190207
|
||||
Version: 7.0NG.731-190214
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.731-190207"
|
||||
pandora_version="7.0NG.731-190214"
|
||||
|
||||
package_cpan=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -45,7 +45,7 @@ our @EXPORT = qw(
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.731";
|
||||
my $pandora_build = "190207";
|
||||
my $pandora_build = "190214";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
# Setup hash
|
||||
|
|
|
@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.731";
|
||||
my $pandora_build = "190207";
|
||||
my $pandora_build = "190214";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.731
|
||||
%define release 190207
|
||||
%define release 190214
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.731
|
||||
%define release 190207
|
||||
%define release 190214
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.731"
|
||||
PI_BUILD="190207"
|
||||
PI_BUILD="190214"
|
||||
|
||||
MODE=$1
|
||||
if [ $# -gt 1 ]; then
|
||||
|
|
|
@ -34,7 +34,7 @@ use PandoraFMS::Config;
|
|||
use PandoraFMS::DB;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.731 PS190207";
|
||||
my $version = "7.0NG.731 PS190214";
|
||||
|
||||
# Pandora server configuration
|
||||
my %conf;
|
||||
|
@ -171,11 +171,6 @@ sub pandora_purgedb ($$) {
|
|||
if (!defined($conf->{'_string_purge'})){
|
||||
$conf->{'_string_purge'} = 7;
|
||||
}
|
||||
# Update alert with last_fired older than today - time_threshold
|
||||
my @templates = get_db_rows ($dbh, 'SELECT t1.id,t1.time_threshold FROM talert_templates t1 WHERE EXISTS ( SELECT * FROM talert_template_modules t2 WHERE t1.id = t2.id_alert_template );');
|
||||
foreach my $template(@templates) {
|
||||
db_do($dbh, 'UPDATE talert_template_modules SET times_fired = 0 WHERE id_alert_template = ? AND times_fired > 0 AND last_fired < (? - ?)',$template->{'id'},time(),$template->{'time_threshold'});
|
||||
}
|
||||
|
||||
if ($conf->{'_string_purge'} > 0) {
|
||||
$ulimit_access_timestamp = time() - 86400;
|
||||
|
|
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||
Encode::Locale::decode_argv;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.731 PS190207";
|
||||
my $version = "7.0NG.731 PS190214";
|
||||
|
||||
# save program name for logging
|
||||
my $progname = basename($0);
|
||||
|
@ -137,6 +137,7 @@ sub help_screen{
|
|||
help_screen_line('--delete_cluster_item', '<id_item>', 'Deleting cluster item');
|
||||
help_screen_line('--get_cluster_status', '<id_cluster>', 'Getting cluster status');
|
||||
help_screen_line('--set_disabled_and_standby', '<id_agent> <id_node> <value>', 'Overwrite and disable and standby status');
|
||||
help_screen_line('--reset_agent_counts', '<id_agent>', 'Resets module counts and alert counts in the agents');
|
||||
print "\nMODULES:\n\n" unless $param ne '';
|
||||
help_screen_line('--create_data_module', "<module_name> <module_type> <agent_name> [<description> <module_group> \n\t <min> <max> <post_process> <interval> <warning_min> <warning_max> <critical_min> <critical_max> \n\t <history_data> <definition_file> <warning_str> <critical_str>\n\t <unknown_events> <ff_threshold> <each_ff> <ff_threshold_normal>\n\t <ff_threshold_warning> <ff_threshold_critical> <ff_timeout> <warning_inverse> <critical_inverse>\n\t <critical_instructions> <warning_instructions> <unknown_instructions>]", 'Add data server module to agent');
|
||||
help_screen_line('--create_web_module', "<module_name> <module_type> <agent_name> [<description> <module_group> \n\t <min> <max> <post_process> <interval> <warning_min> <warning_max> <critical_min> <critical_max> \n\t <history_data> <retries> <requests> <agent_browser_id> <auth_server> <auth_realm> <definition_file>\n\t <proxy_url> <proxy_auth_login> <proxy_auth_password> <warning_str> <critical_str>\n\t <unknown_events> <ff_threshold> <each_ff> <ff_threshold_normal>\n\t <ff_threshold_warning> <ff_threshold_critical> <ff_timeout> <warning_inverse> <critical_inverse>\n\t <critical_instructions> <warning_instructions> <unknown_instructions>].\n\t The valid data types are web_data, web_proc, web_content_data or web_content_string", 'Add web server module to agent');
|
||||
|
@ -6375,6 +6376,10 @@ sub pandora_manage_main ($$$) {
|
|||
param_check($ltotal, 3, 1);
|
||||
cli_set_disabled_and_standby();
|
||||
}
|
||||
elsif ($param eq '--reset_agent_counts') {
|
||||
param_check($ltotal, 1, 0);
|
||||
cli_reset_agent_counts();
|
||||
}
|
||||
else {
|
||||
print_log "[ERROR] Invalid option '$param'.\n\n";
|
||||
$param = '';
|
||||
|
@ -6978,4 +6983,17 @@ sub cli_set_disabled_and_standby() {
|
|||
|
||||
my $exit_code = (defined($result) && "$result" eq "1") ? "1" : "0";
|
||||
print "\n$exit_code\n";
|
||||
}
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Resets module counts and alert counts in the agents.
|
||||
# Related option: --reset_agent_counts
|
||||
##############################################################################
|
||||
|
||||
sub cli_reset_agent_counts() {
|
||||
my $agent_id = @ARGV[2];
|
||||
|
||||
my $result = api_call(\%conf,'set', 'reset_agent_counts', $agent_id);
|
||||
print "$result \n\n ";
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue