Merge branch 'develop' into 'ent-3961-Añadir-caché-para-los-elementos-de-la-Consola-Visual'

# Conflicts:
#   pandora_console/extras/mr/28.sql
This commit is contained in:
Daniel Maya 2019-05-29 11:10:31 +02:00
commit 552467286c
68 changed files with 608 additions and 258 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.735-190527
Version: 7.0NG.735-190529
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -42,7 +42,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.735';
use constant AGENT_BUILD => '190527';
use constant AGENT_BUILD => '190529';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;
@ -536,6 +536,12 @@ sub parse_conf_modules($) {
# Check for invalid modules
next unless (($module->{'name'} ne '' && $module->{'func'} != 0) || $module->{'func'} == \&module_plugin);
# Skip disabled modules.
if (defined($module->{'disabled'}) && $module->{'disabled'} == 1) {
log_message('setup', 'Skipping disabled module "' . $module->{'name'} . '"');
next;
}
# Set the intensive interval
if ($module->{'is_intensive'} == 1) {
$module->{'intensive_interval'} = $module->{'interval'};

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_agent_unix
%define version 7.0NG.735
%define release 190527
%define release 190529
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_agent_unix
%define version 7.0NG.735
%define release 190527
%define release 190529
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.735"
PI_BUILD="190527"
PI_BUILD="190529"
OS_NAME=`uname -s`
FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{190527}
{190529}
ViewReadme
{Yes}

View File

@ -1117,6 +1117,12 @@ Pandora_Module_Factory::getModuleFromDefinition (string definition) {
}
}
/* Skip disabled modules */
if (module_disabled == "1") {
pandoraLog ("Skipping disabled module \"%s\"", module_name.c_str ());
return NULL;
}
/* Create module objects */
if (module_exec != "") {
module = new Pandora_Module_Exec (module_name,

View File

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

View File

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

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.735-190527
Version: 7.0NG.735-190529
Architecture: all
Priority: optional
Section: admin

View File

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

View File

@ -298,7 +298,7 @@ function mainAgentsAlerts()
$table2->data[2][0] = __('Threshold');
$table2->data[2][1] = html_print_input_text('module_action_threshold', '0', '', 5, 7, true);
$table2->data[2][1] .= ' '.__('seconds').ui_print_help_icon('action_threshold', true);
$table2->data[2][1] .= ' '.__('seconds');
$content2 = '<form class="add_alert_form" method="post">';
$content2 .= html_print_table($table2, true);

View File

@ -9,7 +9,7 @@ ALTER TABLE `talert_commands` ADD COLUMN `fields_hidden` text;
ALTER TABLE `talert_templates` MODIFY COLUMN `type` ENUM('regex','max_min','max','min','equal','not_equal','warning','critical','onchange','unknown','always','not_normal');
DELETE FROM `tevent_response` WHERE `name` LIKE 'Create&#x20;Integria&#x20;IMS&#x20;incident&#x20;from&#x20;event';
INSERT INTO `tnews` (`id_news`, `author`, `subject`, `text`, `timestamp`) VALUES (1,'admin','Welcome&#x20;to&#x20;Pandora&#x20;FMS&#x20;Console', '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;',NOW());
INSERT INTO `tnews` (`id_news`, `author`, `subject`, `text`, `timestamp`) VALUES (NULL,'admin','Welcome&#x20;to&#x20;Pandora&#x20;FMS&#x20;Console', '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;',NOW());
INSERT INTO `tnotification_source_user` (`id_source`, `id_user`, `enabled`, `also_mail`) VALUES ((SELECT `id` FROM `tnotification_source` WHERE `description`="Official&#x20;communication"), "admin", 1, 0);
@ -39,4 +39,8 @@ CREATE TABLE IF NOT EXISTS `tvisual_console_elements_cache` (
ALTER TABLE `tlayout_data` ADD COLUMN `cache_expiration` INTEGER UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_level_user` VARCHAR(60);
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_level_pass` VARCHAR(45);
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_level_enabled` TINYINT(1) DEFAULT '1';
COMMIT;

View File

@ -1288,6 +1288,11 @@ alter table tusuario add autorefresh_white_list text not null default '';
ALTER TABLE tusuario ADD COLUMN `time_autorefresh` int(5) unsigned NOT NULL default '30';
ALTER TABLE `tusuario` DROP COLUMN `flash_chart`;
ALTER TABLE `tusuario` ADD COLUMN `default_custom_view` int(10) unsigned NULL default '0';
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_level_user` VARCHAR(60);
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_level_pass` VARCHAR(45);
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_level_enabled` TINYINT(1);
-- ---------------------------------------------------------------------
-- Table `tagente_modulo`

View File

@ -197,12 +197,17 @@ if (!empty($all_data)) {
}
foreach ($news as $article) {
$image = false;
if ($article['text'] == '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;') {
$image = true;
}
$text_bbdd = io_safe_output($article['text']);
$text = html_entity_decode($text_bbdd);
echo '<tr><th class="green_title">'.$article['subject'].'</th></tr>';
echo '<tr><td>'.__('by').' <b>'.$article['author'].'</b> <i>'.ui_print_timestamp($article['timestamp'], true).'</i> '.$comparation_suffix.'</td></tr>';
echo '<tr><td class="datos">';
if ($article['id_news'] == 1) {
if ($image) {
echo '<center><img src="./images/welcome_image.png" alt="img colabora con nosotros - Support" width="191" height="207"></center>';
}

View File

@ -341,7 +341,7 @@ $table_server .= html_print_select(
__('None'),
0,
true
).'<div class="label_select_child_icons">'.ui_print_help_icon('agent_server', true).'</div></div></div>';
).'<div class="label_select_child_icons"></div></div></div>';
// Description.
$table_description = '<div class="label_select"><p class="input_label">'.__('Description').': </p>';
@ -368,7 +368,7 @@ echo '</div>';
if (enterprise_installed()) {
$secondary_groups_selected = enterprise_hook('agents_get_secondary_groups', [$id_agente]);
$table_adv_secondary_groups = '<div class="label_select"><p class="input_label">'.__('Secondary groups').': '.ui_print_help_icon('secondary_groups', true).'</p></div>';
$table_adv_secondary_groups = '<div class="label_select"><p class="input_label">'.__('Secondary groups').':</p></div>';
$table_adv_secondary_groups_left = html_print_select_groups(
false,
// Use the current user to select the groups
@ -546,13 +546,13 @@ $params['cascade_protection'] = true;
$table_adv_parent .= '<div class="label_simple_items">';
$table_adv_parent .= ui_print_agent_autocomplete_input($params);
if (enterprise_installed()) {
$table_adv_parent .= html_print_checkbox_switch('cascade_protection', 1, $cascade_protection, true).__('Cascade protection').'&nbsp;'.ui_print_help_icon('cascade_protection', true);
$table_adv_parent .= html_print_checkbox_switch('cascade_protection', 1, $cascade_protection, true).__('Cascade protection').'&nbsp;';
}
$table_adv_parent .= __('Module').'&nbsp;'.html_print_select($modules_values, 'cascade_protection_module', $cascade_protection_module, '', '', 0, true).'</div></div>';
// Learn mode / Normal mode
$table_adv_module_mode = '<div class="label_select"><p class="input_label">'.__('Module definition').': '.ui_print_help_icon('module_definition', true).'</p>';
$table_adv_module_mode = '<div class="label_select"><p class="input_label">'.__('Module definition').':</p>';
$table_adv_module_mode .= '<div class="switch_radio_button">';
$table_adv_module_mode .= html_print_radio_button_extended(
'modo',

View File

@ -1437,32 +1437,11 @@ if ($update_module || $create_module) {
$module_in_policy = enterprise_hook('policies_is_module_in_policy', [$id_agent_module]);
$module_linked = enterprise_hook('policies_is_module_linked', [$id_agent_module]);
if ((!$module_in_policy && !$module_linked && $update_module)
|| ( $module_in_policy && !$module_linked && $update_module)
) {
enterprise_hook(
'config_agents_update_module_in_conf',
[
$id_agente,
io_safe_output($old_configuration_data),
io_safe_output($configuration_data),
$disabled,
]
);
} else {
enterprise_hook(
'config_agents_write_module_in_conf',
[
$id_agente,
io_safe_output($old_configuration_data),
io_safe_output($configuration_data),
$disabled,
]
);
}
}
// Initialize result of the action (insert or update).
$success_action = NOERR;
// MODULE UPDATE.
if ($update_module) {
$id_agent_module = (int) get_parameter('id_agent_module');
@ -1598,6 +1577,8 @@ if ($update_module) {
break;
}
// I save the result of the action (insert or update).
$success_action = $result;
$result = false;
ui_print_error_message($msg);
@ -1639,6 +1620,9 @@ if ($update_module) {
// MODULE INSERT.
if ($create_module) {
// Old configuration data must always be empty in case of creation.
$old_configuration_data = '';
if (isset($_POST['combo_snmp_oid'])) {
$combo_snmp_oid = get_parameter_post('combo_snmp_oid');
}
@ -1648,12 +1632,6 @@ if ($create_module) {
}
$id_module = (int) get_parameter('id_module');
// Commented because can't create prediction modules
/*
if ($id_module == 5) {
$prediction_module = 1;
}
*/
switch ($config['dbtype']) {
case 'oracle':
@ -1777,17 +1755,26 @@ if ($create_module) {
break;
}
// I save the result of the action (insert or update).
$success_action = $id_agent_module;
$id_agent_module = false;
ui_print_error_message($msg);
$edit_module = true;
$moduletype = $id_module;
db_pandora_audit(
'Agent management',
"Fail to try added module '$name' for agent ".$agent['alias']
'Fail to try added module '.$name.' for agent '.$agent['alias']
);
} else {
if ($prediction_module == 3) {
enterprise_hook('modules_create_synthetic_operations', [$id_agent_module, $serialize_ops]);
enterprise_hook(
'modules_create_synthetic_operations',
[
$id_agent_module,
$serialize_ops,
]
);
}
// Update the module interval.
@ -1810,6 +1797,112 @@ if ($create_module) {
}
}
// MODULE ENABLE/DISABLE
// =====================.
if ($enable_module) {
$result = modules_change_disabled($enable_module, 0);
$module_name = modules_get_agentmodule_name($enable_module);
// Write for conf disable if remote_config.
$configuration_data = enterprise_hook(
'config_agents_get_module_from_conf',
[
$id_agente,
io_safe_output($module_name),
]
);
// Force disable.
$disabled = 0;
// Force Update when disabled for save disabled in conf.
$old_configuration_data = $configuration_data;
// Successfull action.
$success_action = $result;
$success_action = $result;
if ($result === NOERR) {
db_pandora_audit(
'Module management',
'Enable #'.$enable_module.' | '.$module_name.' | '.$agent['alias']
);
} else {
db_pandora_audit(
'Module management',
'Fail to enable #'.$enable_module.' | '.$module_name.' | '.$agent['alias']
);
}
ui_print_result_message(
$result,
__('Successfully enabled'),
__('Could not be enabled')
);
}
if ($disable_module) {
$result = modules_change_disabled($disable_module, 1);
$module_name = modules_get_agentmodule_name($disable_module);
// Write for conf disable if remote_config.
$configuration_data = enterprise_hook(
'config_agents_get_module_from_conf',
[
$id_agente,
io_safe_output($module_name),
]
);
// Force disable.
$disabled = 1;
// Force Update when disabled for save disabled in conf.
$old_configuration_data = $configuration_data;
// Successfull action.
$success_action = $result;
if ($result === NOERR) {
db_pandora_audit(
'Module management',
'Disable #'.$disable_module.' | '.$module_name.' | '.$agent['alias']
);
} else {
db_pandora_audit(
'Module management',
'Fail to disable #'.$disable_module.' | '.$module_name.' | '.$agent['alias']
);
}
ui_print_result_message(
$result,
__('Successfully disabled'),
__('Could not be disabled')
);
}
// Fix to stop the module from being added to the agent's conf
// when an error occurred while updating or inserting. or enable disable module.
if ($update_module || $create_module
|| $enable_module || $disable_module
) {
if ((!$module_in_policy && !$module_linked)
|| ($module_in_policy && !$module_linked)
) {
if ($success_action > 0) {
enterprise_hook(
'config_agents_write_module_in_conf',
[
$id_agente,
io_safe_output($old_configuration_data),
io_safe_output($configuration_data),
$disabled,
]
);
}
}
}
// MODULE DELETION
// =================.
if ($delete_module) {
@ -2009,46 +2102,6 @@ if (!empty($duplicate_module)) {
}
}
// MODULE ENABLE/DISABLE
// =====================.
if ($enable_module) {
$result = modules_change_disabled($enable_module, 0);
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$enable_module.'');
$modulo_nombre = $modulo_nombre['nombre'];
if ($result === NOERR) {
enterprise_hook('config_agents_enable_module_conf', [$id_agente, $enable_module]);
db_pandora_audit('Module management', 'Enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
} else {
db_pandora_audit('Module management', 'Fail to enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
}
ui_print_result_message(
$result,
__('Successfully enabled'),
__('Could not be enabled')
);
}
if ($disable_module) {
$result = modules_change_disabled($disable_module, 1);
$modulo_nombre = db_get_row_sql('SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = '.$disable_module.'');
$modulo_nombre = $modulo_nombre['nombre'];
if ($result === NOERR) {
enterprise_hook('config_agents_disable_module_conf', [$id_agente, $disable_module]);
db_pandora_audit('Module management', 'Disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
} else {
db_pandora_audit('Module management', 'Fail to disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
}
ui_print_result_message(
$result,
__('Successfully disabled'),
__('Could not be disabled')
);
}
// UPDATE GIS
// ==========.
$updateGIS = get_parameter('update_gis', 0);

View File

@ -81,7 +81,6 @@ function add_component_selection($id_network_component_type)
$data = [];
$data[0] = __('Using module component').' ';
$data[0] .= ui_print_help_icon('network_component', true);
$component_groups = network_components_get_groups($id_network_component_type);
$data[1] = '<span id="component_group" class="left">';
@ -384,7 +383,7 @@ if ($disabledBecauseInPolicy) {
$table_simple->data[2][3] .= html_print_input_hidden('id_module_group', $id_module_group, true);
}
$table_simple->data[3][0] = __('Dynamic Threshold Interval').' '.ui_print_help_icon('dynamic_threshold', true);
$table_simple->data[3][0] = __('Dynamic Threshold Interval');
$table_simple->data[3][1] = html_print_extended_select_for_time('dynamic_interval', $dynamic_interval, '', 'None', '0', 10, true, 'width:150px', false, $classdisabledBecauseInPolicy, $disabledBecauseInPolicy);
$table_simple->data[3][1] .= '<a onclick=advanced_option_dynamic()>'.html_print_image('images/cog.png', true, ['title' => __('Advanced options Dynamic Threshold')]).'</a>';
if ($in_policy) {
@ -424,7 +423,7 @@ $table_simple->data[3][2] .= html_print_input_text(
$table_simple->data[3][3] = '<span><em>'.__('Dynamic Threshold Two Tailed: ').'</em>';
$table_simple->data[3][3] .= html_print_checkbox('dynamic_two_tailed', 1, $dynamic_two_tailed, true, $disabledBecauseInPolicy);
$table_simple->data[4][0] = __('Warning status').' '.ui_print_help_icon('warning_status', true);
$table_simple->data[4][0] = __('Warning status');
if (!modules_is_string_type($id_module_type) || $edit) {
$table_simple->data[4][1] .= '<span id="minmax_warning"><em>'.__('Min. ').'</em>';
$table_simple->data[4][1] .= html_print_input_text(
@ -477,7 +476,7 @@ if (!modules_is_string_type($id_module_type) || $edit) {
$table_simple->data[4][2] = '<svg id="svg_dinamic" width="500" height="300"> </svg>';
}
$table_simple->data[5][0] = __('Critical status').' '.ui_print_help_icon('critical_status', true);
$table_simple->data[5][0] = __('Critical status');
if (!modules_is_string_type($id_module_type) || $edit) {
$table_simple->data[5][1] .= '<span id="minmax_critical"><em>'.__('Min. ').'</em>';
$table_simple->data[5][1] .= html_print_input_text(
@ -528,7 +527,6 @@ $table_simple->data[5][1] .= html_print_checkbox('critical_inverse', 1, $critica
// FF stands for Flip-flop.
$table_simple->data[6][0] = __('FF threshold').' ';
$table_simple->data[6][0] .= ui_print_help_icon('ff_threshold', true);
$table_simple->data[6][1] .= __('Keep counters');
$table_simple->data[6][1] .= html_print_checkbox(
@ -703,15 +701,15 @@ if ($moduletype == MODULE_DATA) {
if (isset($id_agente)) {
$agent_interval = agents_get_interval($id_agente);
$interval_factor = ($interval / $agent_interval);
$table_advanced->data[2][1] = human_time_description_raw($interval).' ('.sprintf(__('Agent interval x %s'), $interval_factor).') '.ui_print_help_icon('module_interval_factor', true);
$table_advanced->data[2][1] = human_time_description_raw($interval).' ('.sprintf(__('Agent interval x %s'), $interval_factor).') ';
} else {
$table_advanced->data[2][1] = sprintf(__('Agent interval x %s'), $interval_factor).ui_print_help_icon('module_interval_factor', true);
$table_advanced->data[2][1] = sprintf(__('Agent interval x %s'), $interval_factor);
}
if ($__code_from == 'policies') {
// If is the policy form, module_interval will store the factor (not the seconds).
// So server will transform it to interval in seconds
$table_advanced->data[2][1] = sprintf(__('Default').': 1', $interval_factor).ui_print_help_icon('module_interval_factor', true);
$table_advanced->data[2][1] = sprintf(__('Default').': 1', $interval_factor);
$table_advanced->data[2][1] .= html_print_input_hidden('module_interval', $interval_factor, true);
} else if ($module_id_policy_module != 0) {
$table_advanced->data[2][1] .= ui_print_help_tip(__('The policy modules of data type will only update their intervals when policy is applied.'), true);
@ -720,14 +718,14 @@ if ($moduletype == MODULE_DATA) {
// If it is a non policy form, the module_interval will not provided and will
// be taken the agent interval (this code is at configurar_agente.php)
} else {
$table_advanced->data[2][0] = __('Interval').ui_print_help_icon('module_interval', true);
$table_advanced->data[2][0] = __('Interval');
$table_advanced->colspan[2][1] = 2;
$table_advanced->data[2][1] = html_print_extended_select_for_time('module_interval', $interval, '', '', '0', false, true, false, false, $classdisabledBecauseInPolicy, $disabledBecauseInPolicy);
}
$table_advanced->data[2][1] .= html_print_input_hidden('moduletype', $moduletype, true);
$table_advanced->data[2][3] = __('Post process').' '.ui_print_help_icon('postprocess', true);
$table_advanced->data[2][3] = __('Post process');
$table_advanced->data[2][4] = html_print_extended_select_for_post_process(
'post_process',
$post_process,
@ -793,7 +791,7 @@ $table_advanced->data[4][4] = html_print_checkbox(
);
$table_advanced->colspan[4][4] = 3;
$table_advanced->data[5][0] = __('FF interval').' '.ui_print_help_icon('ff_interval', true);
$table_advanced->data[5][0] = __('FF interval');
$table_advanced->data[5][1] = html_print_input_text(
'module_ff_interval',
$ff_interval,
@ -808,7 +806,7 @@ $table_advanced->data[5][1] = html_print_input_text(
).ui_print_help_tip(__('Module execution flip flop time interval (in secs).'), true);
$table_advanced->colspan[5][1] = 2;
$table_advanced->data[5][3] = __('FF timeout').' '.ui_print_help_icon('ff_timeout', true);
$table_advanced->data[5][3] = __('FF timeout');
$module_type_name = modules_get_type_name($id_module_type);
$table_advanced->data[5][4] = '';
@ -1010,7 +1008,7 @@ $table_advanced->colspan[10][1] = 6;
if (isset($id_agente) && $moduletype == MODULE_DATA) {
$has_remote_conf = enterprise_hook('config_agents_has_remote_configuration', [$agent['id_agente']]);
if ($has_remote_conf) {
$table_advanced->data[11][0] = __('Cron from').ui_print_help_icon('cron', true);
$table_advanced->data[11][0] = __('Cron from');
$table_advanced->data[11][1] = html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, $disabledBecauseInPolicy);
$table_advanced->colspan[11][1] = 6;
@ -1018,7 +1016,7 @@ if (isset($id_agente) && $moduletype == MODULE_DATA) {
$table_advanced->data[12][1] = html_print_extended_select_for_cron($hour_to, $minute_to, $mday_to, $month_to, $wday_to, true, $disabledBecauseInPolicy, true);
$table_advanced->colspan[12][1] = 6;
} else {
$table_advanced->data[11][0] = __('Cron from').ui_print_help_icon('cron', true);
$table_advanced->data[11][0] = __('Cron from');
$table_advanced->data[11][1] = html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, true);
$table_advanced->colspan[11][1] = 6;
@ -1027,7 +1025,7 @@ if (isset($id_agente) && $moduletype == MODULE_DATA) {
$table_advanced->colspan[12][1] = 6;
}
} else {
$table_advanced->data[11][0] = __('Cron from').ui_print_help_icon('cron', true);
$table_advanced->data[11][0] = __('Cron from');
$table_advanced->data[11][1] = html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, $disabledBecauseInPolicy);
$table_advanced->colspan[11][1] = 6;

View File

@ -128,7 +128,7 @@ $snmp_versions['2c'] = 'v. 2c';
$snmp_versions['3'] = 'v. 3';
$data = [];
$data[0] = __('SNMP community').ui_print_help_icon('column_macros', true);
$data[0] = __('SNMP community');
$adopt = false;
if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK && isset($id_agent_module)) {
$adopt = policies_is_module_adopt($id_agent_module);
@ -233,7 +233,7 @@ push_table_simple($data, 'snmp_2');
// Advanced stuff
$data = [];
$data[0] = __('TCP send').' '.ui_print_help_icon('tcp_send', true);
$data[0] = __('TCP send');
$data[1] = html_print_textarea('tcp_send', 2, 65, $tcp_send, $disabledTextBecauseInPolicy, true, $largeclassdisabledBecauseInPolicy);
$table_simple->colspan['tcp_send'][1] = 3;
@ -277,7 +277,7 @@ if (!isset($id_agent_module)) {
}
$data = [];
$data[0] = __('Auth user').ui_print_help_icon('column_macros', true);
$data[0] = __('Auth user');
$data[1] = html_print_input_text(
'snmp3_auth_user',
$snmp3_auth_user,
@ -290,7 +290,7 @@ $data[1] = html_print_input_text(
'',
$classdisabledBecauseInPolicy
);
$data[2] = __('Auth password').ui_print_help_icon('column_macros', true).ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[2] = __('Auth password').ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[3] = html_print_input_password(
'snmp3_auth_pass',
$snmp3_auth_pass,
@ -312,7 +312,7 @@ push_table_simple($data, 'field_snmpv3_row1');
$data = [];
$data[0] = __('Privacy method');
$data[1] = html_print_select(['DES' => __('DES'), 'AES' => __('AES')], 'snmp3_privacy_method', $snmp3_privacy_method, '', '', '', true, false, false, '', $disabledBecauseInPolicy);
$data[2] = __('Privacy pass').ui_print_help_icon('column_macros', true).ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[2] = __('Privacy pass').ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[3] = html_print_input_password(
'snmp3_privacy_pass',
$snmp3_privacy_pass,

View File

@ -60,7 +60,7 @@ $data[3] = html_print_input_text(
push_table_simple($data, 'target_ip');
$data = [];
$data[0] = __('Username').ui_print_help_icon('column_macros', true);
$data[0] = __('Username');
$data[1] = html_print_input_text(
'plugin_user',
$plugin_user,
@ -73,7 +73,7 @@ $data[1] = html_print_input_text(
'',
$classdisabledBecauseInPolicy
);
$data[2] = __('Password').ui_print_help_icon('column_macros', true);
$data[2] = __('Password');
$data[3] = html_print_input_password(
'plugin_pass',
$plugin_pass,
@ -91,7 +91,6 @@ push_table_simple($data, 'user_pass');
$data = [];
$data[0] = __('WMI query');
$data[0] .= ui_print_help_icon('wmiquery', true);
$data[1] = html_print_input_text(
'snmp_oid',
$snmp_oid,

View File

@ -84,9 +84,7 @@ if (is_ajax()) {
// If the field is the number one, print the help message.
if ($i == 1) {
// If our context is snmpconsole, show snmp_alert helps.
if ((isset($_SERVER['HTTP_REFERER'])) && ( preg_match('/snmp_alert/', $_SERVER['HTTP_REFERER']) > 0 )) {
$fdesc .= ui_print_help_icon('snmp_alert_field1', true);
} else {
if ((!isset($_SERVER['HTTP_REFERER'])) && ( preg_match('/snmp_alert/', $_SERVER['HTTP_REFERER']) > 0 )) {
$fdesc .= ui_print_help_icon('alert_config', true);
}
}

View File

@ -386,7 +386,7 @@ if (count($actions) == 1 && isset($actions[0])) {
$table->data[$kaction][($k + 1)] = human_time_description_raw($action_threshold, true, 'tiny');
}
$table->head[($k + 1)] = __('Threshold').'<span style="float: right;">'.ui_print_help_icon('action_threshold', true, '', 'images/header_help.png').'</span>';
$table->head[($k + 1)] = __('Threshold');
}
}

View File

@ -215,7 +215,6 @@ $table->data[3][1] .= __('Number of alerts match from').' ';
$table->data[3][1] .= html_print_input_text('fires_min', 0, '', 4, 10, true);
$table->data[3][1] .= ' '.__('to').' ';
$table->data[3][1] .= html_print_input_text('fires_max', 0, '', 4, 10, true);
$table->data[3][1] .= ui_print_help_icon('alert-matches', true);
$table->data[3][1] .= '</span>';
echo '<form method="post" id="form_alerts" action="index.php?sec=gmassive&sec2=godmode/massive/massive_operations&option=add_action_alerts">';

View File

@ -125,7 +125,7 @@ echo '<form '.'action="index.php?'.'sec=gmassive&'.'sec2=godmode/massive/massive
echo '<fieldset id="fieldset_source">';
echo '<legend>';
echo '<span>'.__('Source').ui_print_help_icon('manageconfig', true).'</span>';
echo '<span>'.__('Source');
echo '</legend>';
html_print_table($table);
echo '</fieldset>';

View File

@ -695,7 +695,7 @@ $table->data['edit1'][1] = '<table width="100%">';
true
);
$table->data['edit3'][0] = __('Post process').ui_print_help_icon('postprocess', true);
$table->data['edit3'][0] = __('Post process');
$table->data['edit3'][1] = html_print_extended_select_for_post_process(
'post_process',
@ -846,10 +846,6 @@ $table->data['edit1'][1] = '<table width="100%">';
// FF stands for Flip-flop.
$table->data['edit7'][0] = __('FF threshold').' ';
$table->data['edit7'][0] .= ui_print_help_icon(
'ff_threshold',
true
);
$table->colspan['edit7'][1] = 3;
$table->data['edit7'][1] = __('Mode').' ';
@ -1060,26 +1056,26 @@ $table->data['edit1'][1] = '<table width="100%">';
true
);
$table->data['edit22'][0] = __('Web checks').ui_print_help_icon('web_checks', true);
$table->data['edit22'][0] = __('Web checks');
;
$table->data['edit22'][1] = '<textarea id="textarea_plugin_parameter" name="plugin_parameter_text" cols="65" rows="15"></textarea>';
$table->data['edit16'][2] = __('Port');
$table->data['edit16'][3] = html_print_input_text('tcp_port', '', '', 5, 20, true);
$table->data['edit17'][0] = __('TCP send').' '.ui_print_help_icon('tcp_send', true);
$table->data['edit17'][0] = __('TCP send');
$table->data['edit17'][1] = html_print_textarea('tcp_send2', 2, 65, '', '', true);
$table->data['edit17'][2] = __('TCP receive');
$table->data['edit17'][3] = html_print_textarea('tcp_rcv', 2, 65, '', '', true);
$table->data['edit18'][0] = __('WMI query').ui_print_help_icon('wmiquery', true);
$table->data['edit18'][0] = __('WMI query');
$table->data['edit18'][1] = html_print_input_text('wmi_query', '', '', 35, 255, true);
$table->data['edit18'][2] = __('Key string');
$table->data['edit18'][3] = html_print_input_text('key_string', '', '', 20, 60, true);
$table->data['edit19'][0] = __('Field number').ui_print_help_icon('wmifield', true);
$table->data['edit19'][0] = __('Field number');
$table->data['edit19'][1] = html_print_input_text('field_number', '', '', 5, 15, true);
$table->data['edit20'][0] = __('Plugin').ui_print_help_icon('plugin_macros', true);

View File

@ -154,7 +154,7 @@ $table->data[2][1] = html_print_select(
$table->data[2][2] = __('Interval');
$table->data[2][3] = html_print_extended_select_for_time('module_interval', $module_interval, '', '', '0', false, true);
$table->data[3][0] = __('Dynamic Interval').' '.ui_print_help_icon('dynamic_threshold', true);
$table->data[3][0] = __('Dynamic Interval');
$table->data[3][1] = html_print_extended_select_for_time('dynamic_interval', $dynamic_interval, '', 'None', '0', 10, true, 'width:150px', false);
$table->data[3][1] .= '<a onclick=advanced_option_dynamic()>'.html_print_image('images/cog.png', true, ['title' => __('Advanced options Dynamic Threshold')]).'</a>';
@ -165,7 +165,7 @@ $table->data[3][2] .= html_print_input_text('dynamic_max', $dynamic_max, '', 10,
$table->data[3][3] = '<span><em>'.__('Dynamic Two Tailed: ').'</em>';
$table->data[3][3] .= html_print_checkbox('dynamic_two_tailed', 1, $dynamic_two_tailed, true);
$table->data[4][0] = __('Warning status').' '.ui_print_help_icon('warning_status', true);
$table->data[4][0] = __('Warning status');
$table->data[4][1] = '<span id="minmax_warning"><em>'.__('Min.').'&nbsp;</em>&nbsp;';
$table->data[4][1] .= html_print_input_text(
'min_warning',
@ -200,7 +200,7 @@ $table->data[4][2] = '<svg id="svg_dinamic" width="500" height="300"> </svg>';
$table->colspan[4][2] = 2;
$table->rowspan[4][2] = 3;
$table->data[5][0] = __('Critical status').' '.ui_print_help_icon('critical_status', true);
$table->data[5][0] = __('Critical status');
$table->data[5][1] = '<span id="minmax_critical"><em>'.__('Min.').'&nbsp;</em>&nbsp;';
$table->data[5][1] .= html_print_input_text(
'min_critical',
@ -231,7 +231,7 @@ $table->data[5][1] .= html_print_input_text(
$table->data[5][1] .= '<br /><em>'.__('Inverse interval').'</em>';
$table->data[5][1] .= html_print_checkbox('critical_inverse', 1, $critical_inverse, true);
$table->data[6][0] = __('FF threshold').' '.ui_print_help_icon('ff_threshold', true);
$table->data[6][0] = __('FF threshold');
$table->colspan[6][1] = 3;
$table->data[6][1] = __('Keep counters');

View File

@ -57,16 +57,16 @@ $data = [];
$data[0] = __('SNMP Enterprise String');
$data[1] = html_print_input_text('snmp_oid', $snmp_oid, '', 30, 400, true);
// $table->colspan['snmp_2'][1] = 3;
$data[2] = __('SNMP community').ui_print_help_icon('column_macros', true);
$data[2] = __('SNMP community');
$data[3] = html_print_input_text('snmp_community', $snmp_community, '', 15, 60, true);
push_table_row($data, 'snmp_2');
$data = [];
$data[0] = __('Auth user').ui_print_help_icon('column_macros', true);
$data[0] = __('Auth user');
$data[1] = html_print_input_text('snmp3_auth_user', $snmp3_auth_user, '', 15, 60, true);
$data[2] = __('Auth password').ui_print_help_icon('column_macros', true);
$data[2] = __('Auth password');
$data[3] = html_print_input_password('snmp3_auth_pass', $snmp3_auth_pass, '', 15, 60, true);
$data[3] .= html_print_input_hidden_extended('active_snmp_v3', 0, 'active_snmp_v3_mncfn', true);
push_table_row($data, 'field_snmpv3_row1');
@ -74,7 +74,7 @@ push_table_row($data, 'field_snmpv3_row1');
$data = [];
$data[0] = __('Privacy method');
$data[1] = html_print_select(['DES' => __('DES'), 'AES' => __('AES')], 'snmp3_privacy_method', $snmp3_privacy_method, '', '', '', true);
$data[2] = __('Privacy pass').ui_print_help_icon('column_macros', true);
$data[2] = __('Privacy pass');
$data[3] = html_print_input_password('snmp3_privacy_pass', $snmp3_privacy_pass, '', 15, 60, true);
push_table_row($data, 'field_snmpv3_row2');
@ -98,7 +98,7 @@ $data[3] = html_print_select(
push_table_row($data, 'field_snmpv3_row3');
$data = [];
$data[0] = __('Post process').' '.ui_print_help_icon('postprocess', true);
$data[0] = __('Post process');
$data[1] = html_print_extended_select_for_post_process(
'post_process',
$post_process,
@ -117,7 +117,7 @@ push_table_row($data, 'field_process');
// Advanced stuff
$data = [];
$data[0] = __('TCP send').' '.ui_print_help_icon('tcp_send', true);
$data[0] = __('TCP send');
$data[1] = html_print_textarea('tcp_send', 2, 65, $tcp_send, '', true);
$table->colspan['tcp_send'][1] = 3;

View File

@ -31,7 +31,7 @@ $data[1] = html_print_select_from_sql(
);
// Store the macros in base64 into a hidden control to move between pages
$data[1] .= html_print_input_hidden('macros', base64_encode($macros), true);
$data[2] = __('Post process').' '.ui_print_help_icon('postprocess', true, ui_get_full_url(false, false, false, false));
$data[2] = __('Post process');
$data[3] = html_print_extended_select_for_post_process(
'post_process',
$post_process,

View File

@ -30,29 +30,29 @@ require_once $config['homedir'].'/include/functions_modules.php';
$data = [];
$data[0] = __('WMI query').' '.ui_print_help_icon('wmi_query_tab', true);
$data[1] = html_print_input_text('snmp_oid', $snmp_oid, '', 25, 255, true);
$data[2] = __('Key string').' '.ui_print_help_icon('wmikey', true, ui_get_full_url(false, false, false, false));
$data[2] = __('Key string');
$data[3] = html_print_input_text('snmp_community', $snmp_community, '', 25, 255, true);
push_table_row($data, 'wmi_1');
$data = [];
$data[0] = __('Field number').' '.ui_print_help_icon('wmifield', true, ui_get_full_url(false, false, false, false));
$data[0] = __('Field number');
$data[1] = html_print_input_text('tcp_port', $tcp_port, '', 5, 25, true);
$data[2] = __('Namespace').' '.ui_print_help_icon('wminamespace', true, ui_get_full_url(false, false, false, false));
$data[2] = __('Namespace');
$data[3] = html_print_input_text('tcp_send', $tcp_send, '', 25, 255, true);
push_table_row($data, 'wmi_2');
$data = [];
$data[0] = __('Username').ui_print_help_icon('column_macros', true);
$data[0] = __('Username');
$data[1] = html_print_input_text('plugin_user', $plugin_user, '', 15, 255, true);
$data[2] = __('Password').ui_print_help_icon('column_macros', true);
$data[2] = __('Password');
$data[3] = html_print_input_password('plugin_pass', $plugin_pass, '', 25, 255, true);
push_table_row($data, 'wmi_3');
$data = [];
$data[0] = __('Post process').' '.ui_print_help_icon('postprocess', true, ui_get_full_url(false, false, false, false));
$data[0] = __('Post process');
$data[1] = html_print_extended_select_for_post_process(
'post_process',
$post_process,

View File

@ -66,6 +66,12 @@ $table_remote->class = 'databox filters';
$table_remote->size['name'] = '30%';
$table_remote->style['name'] = 'font-weight: bold';
// Enable eHorus user configuration.
$row = [];
$row['name'] = ('eHorus configuration at user level');
$row['control'] = html_print_checkbox_switch('ehorus_user_level_conf', 1, $config['ehorus_user_level_conf'], true);
$table_remote->data['ehorus_user_level_conf'] = $row;
// User.
$row = [];
$row['name'] = __('User');
@ -163,9 +169,19 @@ echo '</div>';
?>
<script type="text/javascript">
if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked')){
$('#form_remote').hide();
if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked'))
{
$('#form_remote').hide();
}
if($('input:checkbox[name="ehorus_user_level_conf"]').is(':checked'))
{
$('#ehorus-remote-setup-ehorus_user').hide();
$('#ehorus-remote-setup-ehorus_pass').hide()
}
$('#form_enable').css('margin-bottom','20px');
var showFields = function () {
$('#form_remote').show();
@ -173,6 +189,17 @@ if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked')){
var hideFields = function () {
$('#form_remote').hide();
}
var hideUserPass = function () {
$('#ehorus-remote-setup-ehorus_user').hide();
$('#ehorus-remote-setup-ehorus_pass').hide();
}
var showUserPass = function () {
$('#ehorus-remote-setup-ehorus_user').show();
$('#ehorus-remote-setup-ehorus_pass').show();
}
var handleEnable = function (event) {
var is_checked = $('input:checkbox[name="ehorus_enabled"]').is(':checked');
if (event.target.value == '1' && is_checked) {
@ -184,15 +211,32 @@ if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked')){
$('input:checkbox[name="ehorus_enabled"]').attr('checked', false);
};
}
var handleUserLevel = function(event) {
var is_checked = $('input:checkbox[name="ehorus_enabled"]').is(':checked');
var is_checked_userlevel = $('input:checkbox[name="ehorus_user_level_conf"]').is(':checked');
if (event.target.value == '1' && is_checked && !is_checked_userlevel) {
showUserPass();
$('input:checkbox[name="ehorus_user_level_conf"]').attr('checked', true);
}
else {
hideUserPass();
$('input:checkbox[name="ehorus_user_level_conf"]').attr('checked', false);
};
}
$('input:checkbox[name="ehorus_enabled"]').change(handleEnable);
$('input:checkbox[name="ehorus_user_level_conf"]').change(handleUserLevel);
var handleTest = function (event) {
var user = $('input#text-ehorus_user').val();
var pass = $('input#password-ehorus_pass').val();
var host = $('input#text-ehorus_hostname').val();
var port = $('input#text-ehorus_port').val();
var timeout = Number.parseInt($('input#text-ehorus_req_timeout').val(), 10);
var is_checked_user_level = $('input:checkbox[name="ehorus_user_level_conf"]').is(':checked');
var timeoutMessage = '<?php echo __('Connection timeout'); ?>';
var badRequestMessage = '<?php echo __('Empty user or password'); ?>';
var notFoundMessage = '<?php echo __('User not found'); ?>';
@ -230,7 +274,7 @@ if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked')){
hideFailureImage();
hideMessage();
showLoadingImage();
$.ajax({
url: 'https://' + host + ':' + port + '/login',
type: 'POST',
@ -245,9 +289,11 @@ if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked')){
showSuccessImage();
})
.fail(function(xhr, textStatus, errorThrown) {
showFailureImage();
if (xhr.status === 400) {
if((xhr.status === 400 || xhr.status === 403) && is_checked_user_level)
{
showSuccessImage();
return;
}else if (xhr.status === 400) {
changeTestMessage(badRequestMessage);
}
else if (xhr.status === 401 || xhr.status === 403) {
@ -262,6 +308,8 @@ if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked')){
else {
changeTestMessage(errorThrown);
}
showFailureImage();
showMessage();
})
.always(function(xhr, textStatus) {
@ -269,4 +317,7 @@ if(!$('input:checkbox[name="ehorus_enabled"]').is(':checked')){
});
}
$('input#button-test-ehorus').click(handleTest);
</script>

View File

@ -151,6 +151,12 @@ if ($new_user && $config['admin_can_add_user']) {
$user_info['metaconsole_assigned_server'] = '';
$user_info['metaconsole_access_node'] = 0;
}
if ($config['ehorus_user_level_conf']) {
$user_info['ehorus_user_level_user'] = '';
$user_info['ehorus_user_level_pass'] = '';
$user_info['ehorus_user_level_enabled'] = true;
}
}
if ($create_user) {
@ -215,6 +221,19 @@ if ($create_user) {
$values['strict_acl'] = (bool) get_parameter('strict_acl', false);
$values['session_time'] = (int) get_parameter('session_time', 0);
// eHorus user level conf
if ($config['ehorus_user_level_conf']) {
$values['ehorus_user_level_enabled'] = (bool) get_parameter('ehorus_user_level_enabled', false);
if ($values['ehorus_user_level_enabled'] === true) {
$values['ehorus_user_level_user'] = (string) get_parameter('ehorus_user_level_user');
$values['ehorus_user_level_pass'] = (string) get_parameter('ehorus_user_level_pass');
} else {
$values['ehorus_user_level_user'] = null;
$values['ehorus_user_level_pass'] = null;
}
}
if ($id == '') {
ui_print_error_message(__('User ID cannot be empty'));
$user_info = $values;
@ -298,6 +317,13 @@ if ($update_user) {
$values['timezone'] = (string) get_parameter('timezone');
$values['default_event_filter'] = (int) get_parameter('default_event_filter');
$values['default_custom_view'] = (int) get_parameter('default_custom_view');
// eHorus user level conf
$values['ehorus_user_level_enabled'] = (bool) get_parameter('ehorus_user_level_enabled', false);
$values['ehorus_user_level_user'] = (string) get_parameter('ehorus_user_level_user');
$values['ehorus_user_level_pass'] = (string) get_parameter('ehorus_user_level_pass');
$dashboard = get_parameter('dashboard', '');
$visual_console = get_parameter('visual_console', '');
@ -760,6 +786,7 @@ if (enterprise_installed() && !is_metaconsole()) {
$values['Dashboard'] = __('Dashboard');
}
$table->data[12][1] = html_print_select($values, 'section', io_safe_output($user_info['section']), 'show_data_section();', '', -1, true, false, false);
if (enterprise_installed()) {
@ -842,6 +869,16 @@ foreach ($event_filter_data as $filter) {
$table->data[16][0] = __('Default event filter');
$table->data[16][1] = html_print_select($event_filter, 'default_event_filter', $user_info['default_event_filter'], '', '', __('None'), true, false, false);
if ($config['ehorus_user_level_conf']) {
$table->data[17][0] = __('eHorus user acces enabled');
$table->data[17][1] = html_print_checkbox('ehorus_user_level_enabled', 1, $user_info['ehorus_user_level_enabled'], true);
$table->data[18][0] = __('eHorus user');
$table->data[19][0] = __('eHorus password');
$table->data[18][1] = html_print_input_text('ehorus_user_level_user', $user_info['ehorus_user_level_user'], '', 15, 45, true);
$table->data[19][1] = html_print_input_password('ehorus_user_level_pass', io_output_password($user_info['ehorus_user_level_pass']), '', 15, 45, true);
}
if ($meta) {
enterprise_include_once('include/functions_metaconsole.php');
@ -933,6 +970,11 @@ $(document).ready (function () {
$('#checkbox-metaconsole_agents_manager').trigger('change');
show_data_section();
$('#checkbox-ehorus_user_level_enabled').change(function () {
switch_ehorus_conf();
});
$('#checkbox-ehorus_user_level_enabled').trigger('change');
});
function show_data_section () {
@ -987,5 +1029,21 @@ function show_data_section () {
}
}
function switch_ehorus_conf()
{
if(!$('#checkbox-ehorus_user_level_enabled').prop('checked'))
{
$("#user_configuration_table-18").hide();
$("#user_configuration_table-19").hide();
}else
{
$("#user_configuration_table-18").show();
$("#user_configuration_table-19").show()
}
}
/* ]]> */
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

View File

@ -456,30 +456,30 @@ if ($get_extended_event) {
switch ($event['criticity']) {
default:
case 0:
$img_sev = 'images/status_sets/default/severity_maintenance.png';
$img_sev = 'images/status_sets/default/severity_maintenance_rounded.png';
break;
case 1:
$img_sev = 'images/status_sets/default/severity_informational.png';
$img_sev = 'images/status_sets/default/severity_informational_rounded.png';
break;
case 2:
$img_sev = 'images/status_sets/default/severity_normal.png';
$img_sev = 'images/status_sets/default/severity_normal_rounded.png';
break;
case 3:
$img_sev = 'images/status_sets/default/severity_warning.png';
$img_sev = 'images/status_sets/default/severity_warning_rounded.png';
break;
case 4:
$img_sev = 'images/status_sets/default/severity_critical.png';
$img_sev = 'images/status_sets/default/severity_critical_rounded.png';
break;
case 5:
$img_sev = 'images/status_sets/default/severity_minor.png';
$img_sev = 'images/status_sets/default/severity_minor_rounded.png';
break;
case 6:
$img_sev = 'images/status_sets/default/severity_major.png';
$img_sev = 'images/status_sets/default/severity_major_rounded.png';
break;
}

View File

@ -84,7 +84,7 @@ if ($get_extended_info == 1) {
$table->head = [];
$table->cellspacing = 2;
$table->cellpadding = 2;
$table->class = 'events_show_more_table';
$table->class = 'table_modal_alternate';
$output = [];
$output[] = '<b>'.__('Timestamp').'</b>';

View File

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

View File

@ -1357,6 +1357,10 @@ function config_update_config()
$error_update[] = __('Enable eHorus');
}
if (!config_update_value('ehorus_user_level_conf', (int) get_parameter('ehorus_user_level_conf', 0))) {
$error_update[] = __('eHorus user login');
}
if (!config_update_value('ehorus_user', (string) get_parameter('ehorus_user', $config['ehorus_user']))) {
$error_update[] = __('eHorus user');
}

View File

@ -1989,7 +1989,7 @@ function events_page_responses($event, $childrens_ids=[])
$table_responses->head = [];
$table_responses->style[0] = 'height:30px';
$table_responses->style[2] = 'text-align:right;';
$table_responses->class = 'events_show_more_table';
$table_responses->class = 'table_modal_alternate';
if (tags_checks_event_acl($config['id_user'], $event['id_grupo'], 'EM', $event['clean_tags'], $childrens_ids)) {
// Owner.
@ -2523,7 +2523,7 @@ function events_page_custom_fields($event)
$table->width = '100%';
$table->data = [];
$table->head = [];
$table->class = 'events_show_more_table';
$table->class = 'table_modal_alternate';
$all_customs_fields = (bool) check_acl(
$config['id_user'],
@ -2673,7 +2673,7 @@ function events_page_details($event, $server='')
$table_details->head = [];
$table_details->cellspacing = 0;
$table_details->cellpadding = 0;
$table_details->class = 'events_show_more_table';
$table_details->class = 'table_modal_alternate';
/*
* Useless switch.
@ -2917,9 +2917,10 @@ function events_page_details($event, $server='')
true,
[
'class' => 'image_status',
'width' => 12,
'height' => 12,
'width' => 61,
'height' => 28,
'title' => $alert_priority,
'style' => 'vertical-align:text-bottom',
]
);
$data[1] .= ' '.$alert_priority;
@ -2983,7 +2984,7 @@ function events_page_custom_data($event)
$table->width = '100%';
$table->data = [];
$table->head = [];
$table->class = 'events_show_more_table';
$table->class = 'table_modal_alternate';
$json_custom_data = base64_decode($event['custom_data']);
$custom_data = json_decode($json_custom_data);
@ -3138,7 +3139,7 @@ function events_page_general($event)
$table_general->width = '100%';
$table_general->data = [];
$table_general->head = [];
$table_general->class = 'events_show_more_table';
$table_general->class = 'table_modal_alternate';
$data = [];
$data[0] = __('Event ID');
@ -3210,8 +3211,8 @@ function events_page_general($event)
true,
[
'class' => 'image_status',
'width' => 12,
'height' => 12,
'width' => 61,
'height' => 28,
'title' => $event_criticity,
]
);
@ -3321,7 +3322,7 @@ function events_page_comments($event, $childrens_ids=[])
$table_comments->width = '100%';
$table_comments->data = [];
$table_comments->head = [];
$table_comments->class = 'events_show_more_table';
$table_comments->class = 'table_modal_alternate';
$event_comments = $event['user_comment'];
$event_comments = str_replace(["\n", '&#x0a;'], '<br>', $event_comments);

View File

@ -5559,7 +5559,6 @@ function reporting_advanced_sla(
} else if ($agentmodule_info['id_tipo_modulo'] == '100') {
$max_value = 0.9;
$min_value = 0;
$inverse_interval = 1;
}
}
}

View File

@ -19,10 +19,13 @@ function progress_task_list(id, title) {
.empty()
.dialog({
title: title,
draggable: true,
autoOpen: false,
modal: false,
width: 600,
height: 420,
resizable: false,
draggable: false,
closeOnEscape: true,
width: 800,
height: 600,
close: function() {
if (xhr != null) xhr.abort();
if (timeoutRef != null) clearTimeout(timeoutRef);

View File

@ -3630,27 +3630,29 @@ div.simple_value > a > span.text p {
cursor: pointer;
}
.events_show_more_table {
.table_modal_alternate {
border-spacing: 0px;
text-align: left;
}
/* Modal window - Show More */
table.events_show_more_table tr:nth-child(odd) td {
table.table_modal_alternate tr:nth-child(odd) td {
background-color: #ffffff;
}
table.events_show_more_table tr:nth-child(even) td {
background-color: #f5f5f5;
border-top: 1px solid #cacaca;
border-bottom: 1px solid #cacaca;
table.table_modal_alternate tr:nth-child(even) td {
background-color: #f9f9f9;
border-top: 1px solid #e0e0e0;
border-bottom: 1px solid #e0e0e0;
}
table.events_show_more_table tr td {
height: 22px;
padding: 4px;
table.table_modal_alternate tr td {
height: 33px;
max-height: 33px;
min-height: 33px;
}
table.events_show_more_table tr td:first-child {
table.table_modal_alternate tr td:first-child {
width: 35%;
font-weight: bold;
padding-left: 20px;
@ -4894,7 +4896,8 @@ input:checked + .p-slider:before {
}
.user_edit_first_row,
.user_edit_second_row {
.user_edit_second_row,
.user_edit_third_row {
margin-bottom: 20px;
}
@ -5828,7 +5831,7 @@ a#qr_code_agent_view {
.module_graph_menu_content,
.module_graph_menu_header {
width: 92%;
width: 95%;
border: 1px solid #e2e2e2;
margin: 0 auto;
box-sizing: border-box;

View File

@ -129,7 +129,7 @@
<div style='height: 10px'>
<?php
$version = '7.0NG.735';
$build = '190527';
$build = '190529';
$banner = "v$version Build $build";
error_reporting(0);

View File

@ -58,6 +58,12 @@ $curl_timeout = $config['ehorus_req_timeout'];
$base_url = 'https://'.$hostname.':'.$port;
// If user login is enabled, fetch user and pass from user info
if ($config['ehorus_user_level_conf']) {
$user = $user_info['ehorus_user_level_user'];
$password = io_safe_output(io_output_password($user_info['ehorus_user_level_pass']));
}
// Get the login auth token
$login_path = '/api/login';
$body = [

View File

@ -499,7 +499,7 @@ if (!empty($network_interfaces)) {
$params_json = json_encode($params);
$params_encoded = base64_encode($params_json);
$win_handle = dechex(crc32($interface['status_module_id'].$interface_name));
$graph_link = "<a href=\"javascript:winopeng('operation/agentes/interface_traffic_graph_win.php?params=$params_encoded','$win_handle')\">".html_print_image('images/chart_curve.png', true, ['title' => __('Interface traffic')]).'</a>';
$graph_link = "<a href=\"javascript:winopeng_var('operation/agentes/interface_traffic_graph_win.php?params=$params_encoded','$win_handle', 1000, 650)\">".html_print_image('images/chart_curve.png', true, ['title' => __('Interface traffic')]).'</a>';
} else {
$graph_link = '';
}

View File

@ -185,7 +185,7 @@ if ($date > $now) {
$table->style[0] = 'text-align:left;';
$table->style[1] = 'text-align:left;';
$table->styleTable = 'margin-bottom: 20px;';
$table->class = 'events_show_more_table';
$table->class = 'table_modal_alternate';
$data = [];
$data[0] = __('Refresh time');
@ -214,7 +214,7 @@ if ($date > $now) {
$data = [];
$data[0] = __('Show percentil');
$data[1] = html_print_checkbox('show_percentil', 1, (bool) $show_percentil, true);
$data[1] = html_print_checkbox_switch('show_percentil', 1, (bool) $show_percentil, true);
$table->data[] = $data;
$table->rowclass[] = '';
@ -225,7 +225,7 @@ if ($date > $now) {
'images/tip.png',
true
);
$data[1] = html_print_checkbox('fullscale', 1, (bool) $fullscale, true);
$data[1] = html_print_checkbox_switch('fullscale', 1, (bool) $fullscale, true);
$table->data[] = $data;
$table->rowclass[] = '';

View File

@ -238,7 +238,7 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
$table->style[0] = 'text-align:left;';
$table->style[1] = 'text-align:left;';
$table->styleTable = 'margin-bottom: 20px;';
$table->class = 'events_show_more_table';
$table->class = 'table_modal_alternate';
$data = [];
$data[0] = __('Refresh time');
@ -304,7 +304,7 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
}
}
$data[1] = html_print_checkbox(
$data[1] = html_print_checkbox_switch(
'draw_events',
1,
(bool) $draw_events,
@ -323,14 +323,14 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
$data = [];
$data[0] = __('Show alerts');
$data[1] = html_print_checkbox('draw_alerts', 1, (bool) $draw_alerts, true);
$data[1] = html_print_checkbox_switch('draw_alerts', 1, (bool) $draw_alerts, true);
$table->data[] = $data;
$table->rowclass[] = '';
/*
$data = array();
$data[0] = __('Show event graph');
$data[1] = html_print_checkbox ("show_events_graph", 1, (bool) $show_events_graph, true);
$data[1] = html_print_checkbox_switch ("show_events_graph", 1, (bool) $show_events_graph, true);
$table->data[] = $data;
$table->rowclass[] = '';
*/
@ -340,25 +340,25 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
case 'sparse':
$data = [];
$data[0] = __('Show percentil');
$data[1] = html_print_checkbox('show_percentil', 1, (bool) $show_percentil, true);
$data[1] = html_print_checkbox_switch('show_percentil', 1, (bool) $show_percentil, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Time compare (Overlapped)');
$data[1] = html_print_checkbox('time_compare_overlapped', 1, (bool) $time_compare_overlapped, true);
$data[1] = html_print_checkbox_switch('time_compare_overlapped', 1, (bool) $time_compare_overlapped, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Time compare (Separated)');
$data[1] = html_print_checkbox('time_compare_separated', 1, (bool) $time_compare_separated, true);
$data[1] = html_print_checkbox_switch('time_compare_separated', 1, (bool) $time_compare_separated, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Show unknown graph');
$data[1] = html_print_checkbox('unknown_graph', 1, (bool) $unknown_graph, true);
$data[1] = html_print_checkbox_switch('unknown_graph', 1, (bool) $unknown_graph, true);
$table->data[] = $data;
$table->rowclass[] = '';
break;
@ -366,7 +366,7 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
$data = [];
$data[0] = __('Show full scale graph (TIP)');
$data[1] = html_print_checkbox(
$data[1] = html_print_checkbox_switch(
'fullscale',
1,
(bool) $fullscale,

View File

@ -1260,38 +1260,47 @@ if (enterprise_installed() && $config['log_collector']) {
// EHorus tab.
if ($config['ehorus_enabled'] && !empty($config['ehorus_custom_field'])
&& (check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') || is_user_admin($config['id_user']))
&& (check_acl_one_of_groups(
$config['id_user'],
$all_groups,
'AW'
) || is_user_admin($config['id_user']))
) {
$ehorus_agent_id = agents_get_agent_custom_field($id_agente, $config['ehorus_custom_field']);
if (!empty($ehorus_agent_id)) {
$tab_url = 'index.php?sec=estado&sec2=operation/agentes/ver_agente&tab=ehorus&id_agente='.$id_agente;
$ehorus_tab['text'] = '<a href="'.$tab_url.'" class="ehorus_tab">'.html_print_image('images/ehorus/ehorus.png', true, [ 'title' => __('eHorus')]).'</a>';
$user_info = users_get_user_by_id($config['id_user']);
if ($config['ehorus_user_level_conf'] && !$user_info['ehorus_user_level_enabled']) {
// If ehorus user configuration is enabled, and userr acces level is disabled do not show eHorus tab.
} else {
$ehorus_agent_id = agents_get_agent_custom_field($id_agente, $config['ehorus_custom_field']);
if (!empty($ehorus_agent_id)) {
$tab_url = 'index.php?sec=estado&sec2=operation/agentes/ver_agente&tab=ehorus&id_agente='.$id_agente;
$ehorus_tab['text'] = '<a href="'.$tab_url.'" class="ehorus_tab">'.html_print_image('images/ehorus/ehorus.png', true, [ 'title' => __('eHorus')]).'</a>';
// Hidden subtab layer.
$ehorus_tab['sub_menu'] = '<ul class="mn subsubmenu" style="float:none;">';
$ehorus_tab['sub_menu'] .= '<a class="tab_terminal" href="'.$tab_url.'&client_tab=terminal">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/terminal.png', true, [ 'title' => __('Terminal')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_display" href="'.$tab_url.'&client_tab=display">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/vnc.png', true, [ 'title' => __('Display')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_processes" href="'.$tab_url.'&client_tab=processes">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/processes.png', true, [ 'title' => __('Processes')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_services" href="'.$tab_url.'&client_tab=services">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/services.png', true, [ 'title' => __('Services')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_files" href="'.$tab_url.'&client_tab=files">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/files.png', true, [ 'title' => __('Files')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '</ul>';
// Hidden subtab layer.
$ehorus_tab['sub_menu'] = '<ul class="mn subsubmenu" style="float:none;">';
$ehorus_tab['sub_menu'] .= '<a class="tab_terminal" href="'.$tab_url.'&client_tab=terminal">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/terminal.png', true, [ 'title' => __('Terminal')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_display" href="'.$tab_url.'&client_tab=display">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/vnc.png', true, [ 'title' => __('Display')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_processes" href="'.$tab_url.'&client_tab=processes">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/processes.png', true, [ 'title' => __('Processes')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_services" href="'.$tab_url.'&client_tab=services">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/services.png', true, [ 'title' => __('Services')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_files" href="'.$tab_url.'&client_tab=files">';
$ehorus_tab['sub_menu'] .= '<li class="nomn tab_godmode" style="text-align: center;">'.html_print_image('images/ehorus/files.png', true, [ 'title' => __('Files')]);
$ehorus_tab['sub_menu'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '</ul>';
$ehorus_tab['active'] = $tab == 'ehorus';
$ehorus_tab['active'] = $tab == 'ehorus';
}
}
}

View File

@ -113,6 +113,7 @@ if (isset($_GET['modified']) && !$view_mode) {
$dashboard = get_parameter('dashboard', '');
$visual_console = get_parameter('visual_console', '');
// Save autorefresh list.
$autorefresh_list = get_parameter_post('autorefresh_list');
if (($autorefresh_list[0] === '') || ($autorefresh_list[0] === '0')) {
@ -122,6 +123,11 @@ if (isset($_GET['modified']) && !$view_mode) {
}
$upd_info['time_autorefresh'] = (int) get_parameter('time_autorefresh', 0);
$upd_info['ehorus_user_level_user'] = get_parameter('ehorus_user_level_user');
$upd_info['ehorus_user_level_pass'] = get_parameter('ehorus_user_level_pass');
$upd_info['ehorus_user_level_enabled'] = get_parameter('ehorus_user_level_enabled', 0);
$is_admin = db_get_value('is_admin', 'tusuario', 'id_user', $id);
@ -624,6 +630,8 @@ echo '<form name="user_mod" method="post" action="'.ui_get_full_url('index.php?s
<div class="edit_user_options">'.$language.$size_pagination.$skin.$home_screen.$event_filter.$newsletter.$newsletter_reminder.$double_authentication.'</div>
<div class="edit_user_timezone">'.$timezone;
if (!is_metaconsole()) {
echo '<div id="timezone-picker">
<img id="timezone-image" src="'.$local_file.'" width="'.$map_width.'" height="'.$map_height.'" usemap="#timezone-map" />
@ -639,7 +647,61 @@ if (!is_metaconsole()) {
</div>
</div>';
echo '<div class="edit_user_button">';
if ($config['ehorus_enabled'] && $config['ehorus_user_level_conf']) {
// eHorus user remote login
$table_remote = new StdClass();
$table_remote->data = [];
$table_remote->width = '100%';
$table_remote->id = 'ehorus-remote-setup';
$table_remote->class = 'white_box';
$table_remote->size['name'] = '30%';
$table_remote->style['name'] = 'font-weight: bold';
// Title
$row = [];
$row['control'] = '<p class="edit_user_labels">'.__('eHorus user configuration').': </p>';
$table_remote->data['ehorus_user_level_conf'] = $row;
// Enable/disable eHorus for this user
$row = [];
$row['name'] = __('eHorus user acces enabled');
$row['control'] = html_print_checkbox_switch('ehorus_user_level_enabled', 1, $user_info['ehorus_user_level_enabled'], true);
$table_remote->data['ehorus_user_level_enabled'] = $row;
// User.
$row = [];
$row['name'] = __('User');
$row['control'] = html_print_input_text('ehorus_user_level_user', $user_info['ehorus_user_level_user'], '', 30, 100, true);
$table_remote->data['ehorus_user_level_user'] = $row;
// Pass.
$row = [];
$row['name'] = __('Password');
$row['control'] = html_print_input_password('ehorus_user_level_pass', io_output_password($user_info['ehorus_user_level_pass']), '', 30, 100, true);
$table_remote->data['ehorus_user_level_pass'] = $row;
// Test.
$ehorus_port = db_get_value('value', 'tconfig', 'token', 'ehorus_port');
$ehorus_host = db_get_value('value', 'tconfig', 'token', 'ehorus_hostname');
$row = [];
$row['name'] = __('Test');
$row['control'] = html_print_button(__('Start'), 'test-ehorus', false, 'ehorus_connection_test(&quot;'.$ehorus_host.'&quot;,'.$ehorus_port.')', 'class="sub next"', true);
$row['control'] .= '&nbsp;<span id="test-ehorus-spinner" style="display:none;">&nbsp;'.html_print_image('images/spinner.gif', true).'</span>';
$row['control'] .= '&nbsp;<span id="test-ehorus-success" style="display:none;">&nbsp;'.html_print_image('images/status_sets/default/severity_normal.png', true).'</span>';
$row['control'] .= '&nbsp;<span id="test-ehorus-failure" style="display:none;">&nbsp;'.html_print_image('images/status_sets/default/severity_critical.png', true).'</span>';
$row['control'] .= '<span id="test-ehorus-message" style="display:none;"></span>';
$table_remote->data['ehorus_test'] = $row;
echo '<div class="ehorus_user_conf">';
html_print_table($table_remote);
echo '</div>';
}
echo '<div class="edit_user_button">';
if (!$config['user_can_update_info']) {
echo '<i>'.__('You can not change your user info under the current authentication scheme').'</i>';
} else {
@ -648,8 +710,7 @@ if (!$config['user_can_update_info']) {
}
echo '</div>';
echo '</form>';
echo '</form>';
echo '<div id="edit_user_profiles" class="white_box">';
if (!defined('METACONSOLE')) {
@ -748,13 +809,13 @@ if (!defined('METACONSOLE')) {
});
});
</script>
<?php
// Include OpenLayers and timezone user map library.
echo '<script type="text/javascript" src="'.ui_get_full_url('include/javascript/timezonepicker/lib/jquery.timezone-picker.min.js').'"></script>'."\n\t";
echo '<script type="text/javascript" src="'.ui_get_full_url('include/javascript/timezonepicker/lib/jquery.maphilight.min.js').'"></script>'."\n\t";
// Closes no meta condition.
}
?>
<script language="javascript" type="text/javascript">
@ -1079,4 +1140,83 @@ function show_double_auth_deactivation () {
})
.show();
}
function ehorus_connection_test(host, port) {
var user = $('input#text-ehorus_user_level_user').val();
var pass = $('input#password-ehorus_user_level_pass').val();
debugger;
var badRequestMessage = '<?php echo __('Empty user or password'); ?>';
var notFoundMessage = '<?php echo __('User not found'); ?>';
var invalidPassMessage = '<?php echo __('Invalid password'); ?>';
var hideLoadingImage = function () {
$('#test-ehorus-spinner').hide();
}
var showLoadingImage = function () {
$('#test-ehorus-spinner').show();
}
var hideSuccessImage = function () {
$('#test-ehorus-success').hide();
}
var showSuccessImage = function () {
$('#test-ehorus-success').show();
}
var hideFailureImage = function () {
$('#test-ehorus-failure').hide();
}
var showFailureImage = function () {
$('#test-ehorus-failure').show();
}
var hideMessage = function () {
$('#test-ehorus-message').hide();
}
var showMessage = function () {
$('#test-ehorus-message').show();
}
var changeTestMessage = function (message) {
$('#test-ehorus-message').text(message);
}
hideSuccessImage();
hideFailureImage();
hideMessage();
showLoadingImage();
$.ajax({
url: 'https://' + host + ':' + port + '/login',
type: 'POST',
dataType: 'json',
data: {
user: user,
pass: pass
}
})
.done(function(data, textStatus, xhr) {
showSuccessImage();
})
.fail(function(xhr, textStatus, errorThrown) {
showFailureImage();
if (xhr.status === 400) {
changeTestMessage(badRequestMessage);
}
else if (xhr.status === 401 || xhr.status === 403) {
changeTestMessage(invalidPassMessage);
}
else if (xhr.status === 404) {
changeTestMessage(notFoundMessage);
}
else if (errorThrown === 'timeout') {
changeTestMessage(timeoutMessage);
}
else {
changeTestMessage(errorThrown);
}
showMessage();
})
.always(function(xhr, textStatus) {
hideLoadingImage();
});
}
</script>

View File

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

View File

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

View File

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

View File

@ -1146,6 +1146,9 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
`autorefresh_white_list` text not null default '',
`time_autorefresh` int(5) unsigned NOT NULL default '30',
`default_custom_view` int(10) unsigned NULL default '0',
`ehorus_user_level_user` VARCHAR(60),
`ehorus_user_level_pass` VARCHAR(45),
`ehorus_user_level_enabled` TINYINT(1),
CONSTRAINT `fk_filter_id` FOREIGN KEY (`id_filter`) REFERENCES tevent_filter (`id_filter`) ON DELETE SET NULL,
UNIQUE KEY `id_user` (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View File

@ -1,5 +1,5 @@
package: pandorafms-server
Version: 7.0NG.735-190527
Version: 7.0NG.735-190529
Architecture: all
Priority: optional
Section: admin

View File

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

View File

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

View File

@ -597,6 +597,9 @@ sub PandoraFMS::Recon::Base::create_agents($$) {
sub PandoraFMS::Recon::Base::create_agent($$) {
my ($self, $device) = @_;
# Clean name.
$device = clean_blank($device);
my @agents = get_db_rows($self->{'dbh'},
'SELECT * FROM taddress, taddress_agent, tagente
WHERE tagente.id_agente = taddress_agent.id_agent
@ -732,21 +735,22 @@ sub PandoraFMS::Recon::Base::create_agent($$) {
my $if_name = $self->snmp_get_value($device, "$PandoraFMS::Recon::Base::IFNAME.$if_index");
$if_name = "if$if_index" unless defined ($if_name);
$if_name =~ s/"//g;
$if_name = clean_blank($if_name);
# Check whether the module already exists.
my $module_id = get_agent_module_id($self->{'dbh'}, "${if_name}_ifOperStatus", $agent_id);
my $module_id = get_agent_module_id($self->{'dbh'}, $if_name.'_ifOperStatus', $agent_id);
next if ($module_id > 0 && !$agent_learning);
# Encode problematic characters.
$if_name = safe_input($if_name);
$if_desc = safe_input($if_desc);
# Interface status module.
$module_id = get_agent_module_id($self->{'dbh'}, "${if_name}_ifOperStatus", $agent_id);
$module_id = get_agent_module_id($self->{'dbh'}, $if_name.'_ifOperStatus', $agent_id);
if ($module_id <= 0) {
my %module = ('id_tipo_modulo' => 18,
'id_modulo' => 2,
'nombre' => "${if_name}_ifOperStatus",
'nombre' => safe_input($if_name)."_ifOperStatus",
'descripcion' => $if_desc,
'id_agente' => $agent_id,
'ip_target' => $device,
@ -781,11 +785,11 @@ sub PandoraFMS::Recon::Base::create_agent($$) {
# Incoming traffic module.
my $if_hc_in_octets = $self->snmp_get_value($device, "$PandoraFMS::Recon::Base::IFHCINOCTECTS.$if_index");
if (defined($if_hc_in_octets)) {
$module_id = get_agent_module_id($self->{'dbh'}, "${if_name}_ifHCInOctets", $agent_id);
$module_id = get_agent_module_id($self->{'dbh'}, $if_name.'_ifHCInOctets', $agent_id);
if ($module_id <= 0) {
my %module = ('id_tipo_modulo' => 16,
'id_modulo' => 2,
'nombre' => "${if_name}_ifHCInOctets",
'nombre' => safe_input($if_name)."_ifHCInOctets",
'descripcion' => 'The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets.',
'id_agente' => $agent_id,
'ip_target' => $device,
@ -816,11 +820,11 @@ sub PandoraFMS::Recon::Base::create_agent($$) {
}
# ifInOctets
elsif (defined($self->snmp_get_value($device, "$PandoraFMS::Recon::Base::IFINOCTECTS.$if_index"))) {
$module_id = get_agent_module_id($self->{'dbh'}, "${if_name}_ifInOctets", $agent_id);
$module_id = get_agent_module_id($self->{'dbh'}, $if_name.'_ifInOctets', $agent_id);
if ($module_id <= 0) {
my %module = ('id_tipo_modulo' => 16,
'id_modulo' => 2,
'nombre' => "${if_name}_ifInOctets",
'nombre' => safe_input($if_name)."_ifInOctets",
'descripcion' => 'The total number of octets received on the interface, including framing characters.',
'id_agente' => $agent_id,
'ip_target' => $device,
@ -853,11 +857,11 @@ sub PandoraFMS::Recon::Base::create_agent($$) {
# Outgoing traffic module.
my $if_hc_out_octets = $self->snmp_get_value($device, "$PandoraFMS::Recon::Base::IFHCOUTOCTECTS.$if_index");
if (defined($if_hc_out_octets)) {
$module_id = get_agent_module_id($self->{'dbh'}, "${if_name}_ifHCOutOctets", $agent_id);
$module_id = get_agent_module_id($self->{'dbh'}, $if_name.'_ifHCOutOctets', $agent_id);
if ($module_id <= 0) {
my %module = ('id_tipo_modulo' => 16,
'id_modulo' => 2,
'nombre' => "${if_name}_ifHCOutOctets",
'nombre' => safe_input($if_name)."_ifHCOutOctets",
'descripcion' => 'The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifOutOctets.',
'id_agente' => $agent_id,
'ip_target' => $device,
@ -893,7 +897,7 @@ sub PandoraFMS::Recon::Base::create_agent($$) {
if ($module_id <= 0) {
my %module = ('id_tipo_modulo' => 16,
'id_modulo' => 2,
'nombre' => "${if_name}_ifOutOctets",
'nombre' => safe_input($if_name)."_ifOutOctets",
'descripcion' => 'The total number of octets received on the interface, including framing characters.',
'id_agente' => $agent_id,
'ip_target' => $device,

View File

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

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.735
%define release 190527
%define release 190529
Summary: Pandora FMS Server
Name: %{name}

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.735
%define release 190527
%define release 190529
Summary: Pandora FMS Server
Name: %{name}

View File

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

View File

@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB;
# version: define current version
my $version = "7.0NG.735 PS190527";
my $version = "7.0NG.735 PS190529";
# Pandora server configuration
my %conf;

View File

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