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 package: pandorafms-agent-unix
Version: 7.0NG.735-190527 Version: 7.0NG.735-190529
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{190527} {190529}
ViewReadme ViewReadme
{Yes} {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 */ /* Create module objects */
if (module_exec != "") { if (module_exec != "") {
module = new Pandora_Module_Exec (module_name, module = new Pandora_Module_Exec (module_name,

View File

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

View File

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

View File

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

View File

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

View File

@ -298,7 +298,7 @@ function mainAgentsAlerts()
$table2->data[2][0] = __('Threshold'); $table2->data[2][0] = __('Threshold');
$table2->data[2][1] = html_print_input_text('module_action_threshold', '0', '', 5, 7, true); $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 = '<form class="add_alert_form" method="post">';
$content2 .= html_print_table($table2, true); $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'); 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'; 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); 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 `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; 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 ADD COLUMN `time_autorefresh` int(5) unsigned NOT NULL default '30';
ALTER TABLE `tusuario` DROP COLUMN `flash_chart`; 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 `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` -- Table `tagente_modulo`

View File

@ -197,12 +197,17 @@ if (!empty($all_data)) {
} }
foreach ($news as $article) { 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_bbdd = io_safe_output($article['text']);
$text = html_entity_decode($text_bbdd); $text = html_entity_decode($text_bbdd);
echo '<tr><th class="green_title">'.$article['subject'].'</th></tr>'; 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>'.__('by').' <b>'.$article['author'].'</b> <i>'.ui_print_timestamp($article['timestamp'], true).'</i> '.$comparation_suffix.'</td></tr>';
echo '<tr><td class="datos">'; 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>'; 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'), __('None'),
0, 0,
true 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. // Description.
$table_description = '<div class="label_select"><p class="input_label">'.__('Description').': </p>'; $table_description = '<div class="label_select"><p class="input_label">'.__('Description').': </p>';
@ -368,7 +368,7 @@ echo '</div>';
if (enterprise_installed()) { if (enterprise_installed()) {
$secondary_groups_selected = enterprise_hook('agents_get_secondary_groups', [$id_agente]); $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( $table_adv_secondary_groups_left = html_print_select_groups(
false, false,
// Use the current user to select the groups // 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 .= '<div class="label_simple_items">';
$table_adv_parent .= ui_print_agent_autocomplete_input($params); $table_adv_parent .= ui_print_agent_autocomplete_input($params);
if (enterprise_installed()) { 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>'; $table_adv_parent .= __('Module').'&nbsp;'.html_print_select($modules_values, 'cascade_protection_module', $cascade_protection_module, '', '', 0, true).'</div></div>';
// Learn mode / Normal mode // 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 .= '<div class="switch_radio_button">';
$table_adv_module_mode .= html_print_radio_button_extended( $table_adv_module_mode .= html_print_radio_button_extended(
'modo', '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_in_policy = enterprise_hook('policies_is_module_in_policy', [$id_agent_module]);
$module_linked = enterprise_hook('policies_is_module_linked', [$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. // MODULE UPDATE.
if ($update_module) { if ($update_module) {
$id_agent_module = (int) get_parameter('id_agent_module'); $id_agent_module = (int) get_parameter('id_agent_module');
@ -1598,6 +1577,8 @@ if ($update_module) {
break; break;
} }
// I save the result of the action (insert or update).
$success_action = $result;
$result = false; $result = false;
ui_print_error_message($msg); ui_print_error_message($msg);
@ -1639,6 +1620,9 @@ if ($update_module) {
// MODULE INSERT. // MODULE INSERT.
if ($create_module) { if ($create_module) {
// Old configuration data must always be empty in case of creation.
$old_configuration_data = '';
if (isset($_POST['combo_snmp_oid'])) { if (isset($_POST['combo_snmp_oid'])) {
$combo_snmp_oid = get_parameter_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'); $id_module = (int) get_parameter('id_module');
// Commented because can't create prediction modules
/*
if ($id_module == 5) {
$prediction_module = 1;
}
*/
switch ($config['dbtype']) { switch ($config['dbtype']) {
case 'oracle': case 'oracle':
@ -1777,17 +1755,26 @@ if ($create_module) {
break; break;
} }
// I save the result of the action (insert or update).
$success_action = $id_agent_module;
$id_agent_module = false; $id_agent_module = false;
ui_print_error_message($msg); ui_print_error_message($msg);
$edit_module = true; $edit_module = true;
$moduletype = $id_module; $moduletype = $id_module;
db_pandora_audit( db_pandora_audit(
'Agent management', 'Agent management',
"Fail to try added module '$name' for agent ".$agent['alias'] 'Fail to try added module '.$name.' for agent '.$agent['alias']
); );
} else { } else {
if ($prediction_module == 3) { 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. // 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 // MODULE DELETION
// =================. // =================.
if ($delete_module) { 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 // UPDATE GIS
// ==========. // ==========.
$updateGIS = get_parameter('update_gis', 0); $updateGIS = get_parameter('update_gis', 0);

View File

@ -81,7 +81,6 @@ function add_component_selection($id_network_component_type)
$data = []; $data = [];
$data[0] = __('Using module component').' '; $data[0] = __('Using module component').' ';
$data[0] .= ui_print_help_icon('network_component', true);
$component_groups = network_components_get_groups($id_network_component_type); $component_groups = network_components_get_groups($id_network_component_type);
$data[1] = '<span id="component_group" class="left">'; $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[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] = 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>'; $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) { 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] = '<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[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) { 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] .= '<span id="minmax_warning"><em>'.__('Min. ').'</em>';
$table_simple->data[4][1] .= html_print_input_text( $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[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) { 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] .= '<span id="minmax_critical"><em>'.__('Min. ').'</em>';
$table_simple->data[5][1] .= html_print_input_text( $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. // FF stands for Flip-flop.
$table_simple->data[6][0] = __('FF threshold').' '; $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] .= __('Keep counters');
$table_simple->data[6][1] .= html_print_checkbox( $table_simple->data[6][1] .= html_print_checkbox(
@ -703,15 +701,15 @@ if ($moduletype == MODULE_DATA) {
if (isset($id_agente)) { if (isset($id_agente)) {
$agent_interval = agents_get_interval($id_agente); $agent_interval = agents_get_interval($id_agente);
$interval_factor = ($interval / $agent_interval); $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 { } 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 ($__code_from == 'policies') {
// If is the policy form, module_interval will store the factor (not the seconds). // If is the policy form, module_interval will store the factor (not the seconds).
// So server will transform it to interval in 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); $table_advanced->data[2][1] .= html_print_input_hidden('module_interval', $interval_factor, true);
} else if ($module_id_policy_module != 0) { } 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); $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 // 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) // be taken the agent interval (this code is at configurar_agente.php)
} else { } 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->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_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][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( $table_advanced->data[2][4] = html_print_extended_select_for_post_process(
'post_process', '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->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( $table_advanced->data[5][1] = html_print_input_text(
'module_ff_interval', 'module_ff_interval',
$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); ).ui_print_help_tip(__('Module execution flip flop time interval (in secs).'), true);
$table_advanced->colspan[5][1] = 2; $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); $module_type_name = modules_get_type_name($id_module_type);
$table_advanced->data[5][4] = ''; $table_advanced->data[5][4] = '';
@ -1010,7 +1008,7 @@ $table_advanced->colspan[10][1] = 6;
if (isset($id_agente) && $moduletype == MODULE_DATA) { if (isset($id_agente) && $moduletype == MODULE_DATA) {
$has_remote_conf = enterprise_hook('config_agents_has_remote_configuration', [$agent['id_agente']]); $has_remote_conf = enterprise_hook('config_agents_has_remote_configuration', [$agent['id_agente']]);
if ($has_remote_conf) { 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->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; $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->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; $table_advanced->colspan[12][1] = 6;
} else { } 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->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; $table_advanced->colspan[11][1] = 6;
@ -1027,7 +1025,7 @@ if (isset($id_agente) && $moduletype == MODULE_DATA) {
$table_advanced->colspan[12][1] = 6; $table_advanced->colspan[12][1] = 6;
} }
} else { } 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->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; $table_advanced->colspan[11][1] = 6;

View File

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

View File

@ -60,7 +60,7 @@ $data[3] = html_print_input_text(
push_table_simple($data, 'target_ip'); push_table_simple($data, 'target_ip');
$data = []; $data = [];
$data[0] = __('Username').ui_print_help_icon('column_macros', true); $data[0] = __('Username');
$data[1] = html_print_input_text( $data[1] = html_print_input_text(
'plugin_user', 'plugin_user',
$plugin_user, $plugin_user,
@ -73,7 +73,7 @@ $data[1] = html_print_input_text(
'', '',
$classdisabledBecauseInPolicy $classdisabledBecauseInPolicy
); );
$data[2] = __('Password').ui_print_help_icon('column_macros', true); $data[2] = __('Password');
$data[3] = html_print_input_password( $data[3] = html_print_input_password(
'plugin_pass', 'plugin_pass',
$plugin_pass, $plugin_pass,
@ -91,7 +91,6 @@ push_table_simple($data, 'user_pass');
$data = []; $data = [];
$data[0] = __('WMI query'); $data[0] = __('WMI query');
$data[0] .= ui_print_help_icon('wmiquery', true);
$data[1] = html_print_input_text( $data[1] = html_print_input_text(
'snmp_oid', 'snmp_oid',
$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 the field is the number one, print the help message.
if ($i == 1) { if ($i == 1) {
// If our context is snmpconsole, show snmp_alert helps. // If our context is snmpconsole, show snmp_alert helps.
if ((isset($_SERVER['HTTP_REFERER'])) && ( preg_match('/snmp_alert/', $_SERVER['HTTP_REFERER']) > 0 )) { if ((!isset($_SERVER['HTTP_REFERER'])) && ( preg_match('/snmp_alert/', $_SERVER['HTTP_REFERER']) > 0 )) {
$fdesc .= ui_print_help_icon('snmp_alert_field1', true);
} else {
$fdesc .= ui_print_help_icon('alert_config', true); $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->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] .= html_print_input_text('fires_min', 0, '', 4, 10, true);
$table->data[3][1] .= ' '.__('to').' '; $table->data[3][1] .= ' '.__('to').' ';
$table->data[3][1] .= html_print_input_text('fires_max', 0, '', 4, 10, true); $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>'; $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">'; 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 '<fieldset id="fieldset_source">';
echo '<legend>'; echo '<legend>';
echo '<span>'.__('Source').ui_print_help_icon('manageconfig', true).'</span>'; echo '<span>'.__('Source');
echo '</legend>'; echo '</legend>';
html_print_table($table); html_print_table($table);
echo '</fieldset>'; echo '</fieldset>';

View File

@ -695,7 +695,7 @@ $table->data['edit1'][1] = '<table width="100%">';
true 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( $table->data['edit3'][1] = html_print_extended_select_for_post_process(
'post_process', 'post_process',
@ -846,10 +846,6 @@ $table->data['edit1'][1] = '<table width="100%">';
// FF stands for Flip-flop. // FF stands for Flip-flop.
$table->data['edit7'][0] = __('FF threshold').' '; $table->data['edit7'][0] = __('FF threshold').' ';
$table->data['edit7'][0] .= ui_print_help_icon(
'ff_threshold',
true
);
$table->colspan['edit7'][1] = 3; $table->colspan['edit7'][1] = 3;
$table->data['edit7'][1] = __('Mode').' '; $table->data['edit7'][1] = __('Mode').' ';
@ -1060,26 +1056,26 @@ $table->data['edit1'][1] = '<table width="100%">';
true 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['edit22'][1] = '<textarea id="textarea_plugin_parameter" name="plugin_parameter_text" cols="65" rows="15"></textarea>';
$table->data['edit16'][2] = __('Port'); $table->data['edit16'][2] = __('Port');
$table->data['edit16'][3] = html_print_input_text('tcp_port', '', '', 5, 20, true); $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'][1] = html_print_textarea('tcp_send2', 2, 65, '', '', true);
$table->data['edit17'][2] = __('TCP receive'); $table->data['edit17'][2] = __('TCP receive');
$table->data['edit17'][3] = html_print_textarea('tcp_rcv', 2, 65, '', '', true); $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'][1] = html_print_input_text('wmi_query', '', '', 35, 255, true);
$table->data['edit18'][2] = __('Key string'); $table->data['edit18'][2] = __('Key string');
$table->data['edit18'][3] = html_print_input_text('key_string', '', '', 20, 60, true); $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['edit19'][1] = html_print_input_text('field_number', '', '', 5, 15, true);
$table->data['edit20'][0] = __('Plugin').ui_print_help_icon('plugin_macros', 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][2] = __('Interval');
$table->data[2][3] = html_print_extended_select_for_time('module_interval', $module_interval, '', '', '0', false, true); $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] = 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>'; $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] = '<span><em>'.__('Dynamic Two Tailed: ').'</em>';
$table->data[3][3] .= html_print_checkbox('dynamic_two_tailed', 1, $dynamic_two_tailed, true); $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] = '<span id="minmax_warning"><em>'.__('Min.').'&nbsp;</em>&nbsp;';
$table->data[4][1] .= html_print_input_text( $table->data[4][1] .= html_print_input_text(
'min_warning', '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->colspan[4][2] = 2;
$table->rowspan[4][2] = 3; $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] = '<span id="minmax_critical"><em>'.__('Min.').'&nbsp;</em>&nbsp;';
$table->data[5][1] .= html_print_input_text( $table->data[5][1] .= html_print_input_text(
'min_critical', '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] .= '<br /><em>'.__('Inverse interval').'</em>';
$table->data[5][1] .= html_print_checkbox('critical_inverse', 1, $critical_inverse, true); $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->colspan[6][1] = 3;
$table->data[6][1] = __('Keep counters'); $table->data[6][1] = __('Keep counters');

View File

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

View File

@ -30,29 +30,29 @@ require_once $config['homedir'].'/include/functions_modules.php';
$data = []; $data = [];
$data[0] = __('WMI query').' '.ui_print_help_icon('wmi_query_tab', true); $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[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); $data[3] = html_print_input_text('snmp_community', $snmp_community, '', 25, 255, true);
push_table_row($data, 'wmi_1'); push_table_row($data, 'wmi_1');
$data = []; $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[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); $data[3] = html_print_input_text('tcp_send', $tcp_send, '', 25, 255, true);
push_table_row($data, 'wmi_2'); push_table_row($data, 'wmi_2');
$data = []; $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[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); $data[3] = html_print_input_password('plugin_pass', $plugin_pass, '', 25, 255, true);
push_table_row($data, 'wmi_3'); push_table_row($data, 'wmi_3');
$data = []; $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( $data[1] = html_print_extended_select_for_post_process(
'post_process', 'post_process',
$post_process, $post_process,

View File

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

View File

@ -151,6 +151,12 @@ if ($new_user && $config['admin_can_add_user']) {
$user_info['metaconsole_assigned_server'] = ''; $user_info['metaconsole_assigned_server'] = '';
$user_info['metaconsole_access_node'] = 0; $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) { if ($create_user) {
@ -215,6 +221,19 @@ if ($create_user) {
$values['strict_acl'] = (bool) get_parameter('strict_acl', false); $values['strict_acl'] = (bool) get_parameter('strict_acl', false);
$values['session_time'] = (int) get_parameter('session_time', 0); $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 == '') { if ($id == '') {
ui_print_error_message(__('User ID cannot be empty')); ui_print_error_message(__('User ID cannot be empty'));
$user_info = $values; $user_info = $values;
@ -298,6 +317,13 @@ if ($update_user) {
$values['timezone'] = (string) get_parameter('timezone'); $values['timezone'] = (string) get_parameter('timezone');
$values['default_event_filter'] = (int) get_parameter('default_event_filter'); $values['default_event_filter'] = (int) get_parameter('default_event_filter');
$values['default_custom_view'] = (int) get_parameter('default_custom_view'); $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', ''); $dashboard = get_parameter('dashboard', '');
$visual_console = get_parameter('visual_console', ''); $visual_console = get_parameter('visual_console', '');
@ -760,6 +786,7 @@ if (enterprise_installed() && !is_metaconsole()) {
$values['Dashboard'] = __('Dashboard'); $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); $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()) { if (enterprise_installed()) {
@ -842,6 +869,16 @@ foreach ($event_filter_data as $filter) {
$table->data[16][0] = __('Default event 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); $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) { if ($meta) {
enterprise_include_once('include/functions_metaconsole.php'); enterprise_include_once('include/functions_metaconsole.php');
@ -933,6 +970,11 @@ $(document).ready (function () {
$('#checkbox-metaconsole_agents_manager').trigger('change'); $('#checkbox-metaconsole_agents_manager').trigger('change');
show_data_section(); show_data_section();
$('#checkbox-ehorus_user_level_enabled').change(function () {
switch_ehorus_conf();
});
$('#checkbox-ehorus_user_level_enabled').trigger('change');
}); });
function show_data_section () { 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> </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']) { switch ($event['criticity']) {
default: default:
case 0: case 0:
$img_sev = 'images/status_sets/default/severity_maintenance.png'; $img_sev = 'images/status_sets/default/severity_maintenance_rounded.png';
break; break;
case 1: case 1:
$img_sev = 'images/status_sets/default/severity_informational.png'; $img_sev = 'images/status_sets/default/severity_informational_rounded.png';
break; break;
case 2: case 2:
$img_sev = 'images/status_sets/default/severity_normal.png'; $img_sev = 'images/status_sets/default/severity_normal_rounded.png';
break; break;
case 3: case 3:
$img_sev = 'images/status_sets/default/severity_warning.png'; $img_sev = 'images/status_sets/default/severity_warning_rounded.png';
break; break;
case 4: case 4:
$img_sev = 'images/status_sets/default/severity_critical.png'; $img_sev = 'images/status_sets/default/severity_critical_rounded.png';
break; break;
case 5: case 5:
$img_sev = 'images/status_sets/default/severity_minor.png'; $img_sev = 'images/status_sets/default/severity_minor_rounded.png';
break; break;
case 6: case 6:
$img_sev = 'images/status_sets/default/severity_major.png'; $img_sev = 'images/status_sets/default/severity_major_rounded.png';
break; break;
} }

View File

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

View File

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

View File

@ -1357,6 +1357,10 @@ function config_update_config()
$error_update[] = __('Enable eHorus'); $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']))) { if (!config_update_value('ehorus_user', (string) get_parameter('ehorus_user', $config['ehorus_user']))) {
$error_update[] = __('eHorus user'); $error_update[] = __('eHorus user');
} }

View File

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

View File

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

View File

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

View File

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

View File

@ -58,6 +58,12 @@ $curl_timeout = $config['ehorus_req_timeout'];
$base_url = 'https://'.$hostname.':'.$port; $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 // Get the login auth token
$login_path = '/api/login'; $login_path = '/api/login';
$body = [ $body = [

View File

@ -499,7 +499,7 @@ if (!empty($network_interfaces)) {
$params_json = json_encode($params); $params_json = json_encode($params);
$params_encoded = base64_encode($params_json); $params_encoded = base64_encode($params_json);
$win_handle = dechex(crc32($interface['status_module_id'].$interface_name)); $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 { } else {
$graph_link = ''; $graph_link = '';
} }

View File

@ -185,7 +185,7 @@ if ($date > $now) {
$table->style[0] = 'text-align:left;'; $table->style[0] = 'text-align:left;';
$table->style[1] = 'text-align:left;'; $table->style[1] = 'text-align:left;';
$table->styleTable = 'margin-bottom: 20px;'; $table->styleTable = 'margin-bottom: 20px;';
$table->class = 'events_show_more_table'; $table->class = 'table_modal_alternate';
$data = []; $data = [];
$data[0] = __('Refresh time'); $data[0] = __('Refresh time');
@ -214,7 +214,7 @@ if ($date > $now) {
$data = []; $data = [];
$data[0] = __('Show percentil'); $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->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
@ -225,7 +225,7 @@ if ($date > $now) {
'images/tip.png', 'images/tip.png',
true 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->data[] = $data;
$table->rowclass[] = ''; $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[0] = 'text-align:left;';
$table->style[1] = 'text-align:left;'; $table->style[1] = 'text-align:left;';
$table->styleTable = 'margin-bottom: 20px;'; $table->styleTable = 'margin-bottom: 20px;';
$table->class = 'events_show_more_table'; $table->class = 'table_modal_alternate';
$data = []; $data = [];
$data[0] = __('Refresh time'); $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', 'draw_events',
1, 1,
(bool) $draw_events, (bool) $draw_events,
@ -323,14 +323,14 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
$data = []; $data = [];
$data[0] = __('Show alerts'); $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->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
/* /*
$data = array(); $data = array();
$data[0] = __('Show event graph'); $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->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
*/ */
@ -340,25 +340,25 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
case 'sparse': case 'sparse':
$data = []; $data = [];
$data[0] = __('Show percentil'); $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->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
$data = []; $data = [];
$data[0] = __('Time compare (Overlapped)'); $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->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
$data = []; $data = [];
$data[0] = __('Time compare (Separated)'); $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->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
$data = []; $data = [];
$data[0] = __('Show unknown graph'); $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->data[] = $data;
$table->rowclass[] = ''; $table->rowclass[] = '';
break; break;
@ -366,7 +366,7 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
$data = []; $data = [];
$data[0] = __('Show full scale graph (TIP)'); $data[0] = __('Show full scale graph (TIP)');
$data[1] = html_print_checkbox( $data[1] = html_print_checkbox_switch(
'fullscale', 'fullscale',
1, 1,
(bool) $fullscale, (bool) $fullscale,

View File

@ -1260,38 +1260,47 @@ if (enterprise_installed() && $config['log_collector']) {
// EHorus tab. // EHorus tab.
if ($config['ehorus_enabled'] && !empty($config['ehorus_custom_field']) 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']); $user_info = users_get_user_by_id($config['id_user']);
if (!empty($ehorus_agent_id)) { if ($config['ehorus_user_level_conf'] && !$user_info['ehorus_user_level_enabled']) {
$tab_url = 'index.php?sec=estado&sec2=operation/agentes/ver_agente&tab=ehorus&id_agente='.$id_agente; // If ehorus user configuration is enabled, and userr acces level is disabled do not show eHorus tab.
$ehorus_tab['text'] = '<a href="'.$tab_url.'" class="ehorus_tab">'.html_print_image('images/ehorus/ehorus.png', true, [ 'title' => __('eHorus')]).'</a>'; } 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. // Hidden subtab layer.
$ehorus_tab['sub_menu'] = '<ul class="mn subsubmenu" style="float:none;">'; $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'] .= '<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 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'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>'; $ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_display" href="'.$tab_url.'&client_tab=display">'; $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 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'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>'; $ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_processes" href="'.$tab_url.'&client_tab=processes">'; $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 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'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>'; $ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_services" href="'.$tab_url.'&client_tab=services">'; $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 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'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>'; $ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '<a class="tab_files" href="'.$tab_url.'&client_tab=files">'; $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 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'] .= '</li>';
$ehorus_tab['sub_menu'] .= '</a>'; $ehorus_tab['sub_menu'] .= '</a>';
$ehorus_tab['sub_menu'] .= '</ul>'; $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', ''); $dashboard = get_parameter('dashboard', '');
$visual_console = get_parameter('visual_console', ''); $visual_console = get_parameter('visual_console', '');
// Save autorefresh list. // Save autorefresh list.
$autorefresh_list = get_parameter_post('autorefresh_list'); $autorefresh_list = get_parameter_post('autorefresh_list');
if (($autorefresh_list[0] === '') || ($autorefresh_list[0] === '0')) { 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['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); $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_options">'.$language.$size_pagination.$skin.$home_screen.$event_filter.$newsletter.$newsletter_reminder.$double_authentication.'</div>
<div class="edit_user_timezone">'.$timezone; <div class="edit_user_timezone">'.$timezone;
if (!is_metaconsole()) { if (!is_metaconsole()) {
echo '<div id="timezone-picker"> echo '<div id="timezone-picker">
<img id="timezone-image" src="'.$local_file.'" width="'.$map_width.'" height="'.$map_height.'" usemap="#timezone-map" /> <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>
</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']) { if (!$config['user_can_update_info']) {
echo '<i>'.__('You can not change your user info under the current authentication scheme').'</i>'; echo '<i>'.__('You can not change your user info under the current authentication scheme').'</i>';
} else { } else {
@ -648,8 +710,7 @@ if (!$config['user_can_update_info']) {
} }
echo '</div>'; echo '</div>';
echo '</form>';
echo '</form>';
echo '<div id="edit_user_profiles" class="white_box">'; echo '<div id="edit_user_profiles" class="white_box">';
if (!defined('METACONSOLE')) { if (!defined('METACONSOLE')) {
@ -748,13 +809,13 @@ if (!defined('METACONSOLE')) {
}); });
}); });
</script> </script>
<?php <?php
// Include OpenLayers and timezone user map library. // 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.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"; 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. // Closes no meta condition.
} }
?> ?>
<script language="javascript" type="text/javascript"> <script language="javascript" type="text/javascript">
@ -1079,4 +1140,83 @@ function show_double_auth_deactivation () {
}) })
.show(); .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> </script>

View File

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

View File

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

View File

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

View File

@ -1146,6 +1146,9 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
`autorefresh_white_list` text not null default '', `autorefresh_white_list` text not null default '',
`time_autorefresh` int(5) unsigned NOT NULL default '30', `time_autorefresh` int(5) unsigned NOT NULL default '30',
`default_custom_view` int(10) unsigned NULL default '0', `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, CONSTRAINT `fk_filter_id` FOREIGN KEY (`id_filter`) REFERENCES tevent_filter (`id_filter`) ON DELETE SET NULL,
UNIQUE KEY `id_user` (`id_user`) UNIQUE KEY `id_user` (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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