mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-31 01:35:36 +02:00
Merge remote-tracking branch 'origin/develop' into ent-6577-creacion-de-usuario-con-global-profile-administrator-no-deberia-necesitar-anadirle-mas-perfiles
This commit is contained in:
commit
95ed4c9665
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.750-201029
|
Version: 7.0NG.750-201103
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -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.750-201029"
|
pandora_version="7.0NG.750-201103"
|
||||||
|
|
||||||
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
|
||||||
|
@ -55,7 +55,7 @@ my $Sem = undef;
|
|||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.750';
|
use constant AGENT_VERSION => '7.0NG.750';
|
||||||
use constant AGENT_BUILD => '201029';
|
use constant AGENT_BUILD => '201103';
|
||||||
|
|
||||||
# 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;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.750
|
%define version 7.0NG.750
|
||||||
%define release 201029
|
%define release 201103
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.750
|
%define version 7.0NG.750
|
||||||
%define release 201029
|
%define release 201103
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.750"
|
PI_VERSION="7.0NG.750"
|
||||||
PI_BUILD="201029"
|
PI_BUILD="201103"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{201029}
|
{201103}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
@ -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.750(Build 201029)")
|
#define PANDORA_VERSION ("7.0NG.750(Build 201103)")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
@ -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.750(Build 201029))"
|
VALUE "ProductVersion", "(7.0NG.750(Build 201103))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.750-201029
|
Version: 7.0NG.750-201103
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -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.750-201029"
|
pandora_version="7.0NG.750-201103"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -92,7 +92,11 @@ function output_xml_report($id)
|
|||||||
|
|
||||||
$group = db_get_value('nombre', 'tgrupo', 'id_grupo', $report['id_group']);
|
$group = db_get_value('nombre', 'tgrupo', 'id_grupo', $report['id_group']);
|
||||||
echo '<group><![CDATA['.io_safe_output($group)."]]></group>\n";
|
echo '<group><![CDATA['.io_safe_output($group)."]]></group>\n";
|
||||||
$items = db_get_all_rows_field_filter('treport_content', 'id_report', $report['id_report']);
|
$items = db_get_all_rows_field_filter(
|
||||||
|
'treport_content',
|
||||||
|
'id_report',
|
||||||
|
$report['id_report']
|
||||||
|
);
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
echo "<item>\n";
|
echo "<item>\n";
|
||||||
echo '<type>'.io_safe_output($item['type'])."</type>\n";
|
echo '<type>'.io_safe_output($item['type'])."</type>\n";
|
||||||
|
@ -37,8 +37,16 @@ function insert_item_report($report_id, $values)
|
|||||||
|
|
||||||
ui_print_result_message(
|
ui_print_result_message(
|
||||||
$result,
|
$result,
|
||||||
sprintf(__("Success add '%s' item in report '%s'."), $values['type'], $name),
|
sprintf(
|
||||||
sprintf(__("Error create '%s' item in report '%s'."), $values['type'], $name)
|
__("Success add '%s' item in report '%s'."),
|
||||||
|
$values['type'],
|
||||||
|
$name
|
||||||
|
),
|
||||||
|
sprintf(
|
||||||
|
__("Error create '%s' item in report '%s'."),
|
||||||
|
$values['type'],
|
||||||
|
$name
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -55,9 +63,12 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||||||
$posible_name = $values['name'];
|
$posible_name = $values['name'];
|
||||||
$exist = true;
|
$exist = true;
|
||||||
$loops = 30;
|
$loops = 30;
|
||||||
// Loops to exit or tries
|
// Loops to exit or tries.
|
||||||
while ($exist && $loops > 0) {
|
while ($exist && $loops > 0) {
|
||||||
$exist = (bool) db_get_row_filter('treport', ['name' => io_safe_input($posible_name)]);
|
$exist = (bool) db_get_row_filter(
|
||||||
|
'treport',
|
||||||
|
['name' => io_safe_input($posible_name)]
|
||||||
|
);
|
||||||
|
|
||||||
if ($exist) {
|
if ($exist) {
|
||||||
$loops--;
|
$loops--;
|
||||||
@ -74,7 +85,7 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
} else if ($loops != 30) {
|
} else if ($loops != 30) {
|
||||||
ui_print_error_message(
|
ui_print_warning_message(
|
||||||
sprintf(
|
sprintf(
|
||||||
__("Warning create '%s' report, the name exist, the report have a name %s."),
|
__("Warning create '%s' report, the name exist, the report have a name %s."),
|
||||||
$reportElement->name,
|
$reportElement->name,
|
||||||
@ -89,13 +100,22 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$id_group = db_get_value('id_grupo', 'tgrupo', 'nombre', $reportElement->group);
|
if (isset($reportElement->group) === true
|
||||||
|
&& empty($reportElement->group) === false
|
||||||
|
) {
|
||||||
|
$id_group = db_get_value(
|
||||||
|
'id_grupo',
|
||||||
|
'tgrupo',
|
||||||
|
'nombre',
|
||||||
|
$reportElement->group
|
||||||
|
);
|
||||||
if ($id_group === false) {
|
if ($id_group === false) {
|
||||||
ui_print_error_message(__("Error the report haven't group."));
|
ui_print_error_message(__("Error the report haven't group."));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($reportElement->description)) {
|
if (isset($reportElement->description) === true) {
|
||||||
$values['description'] = $reportElement->description;
|
$values['description'] = $reportElement->description;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,9 +128,19 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||||||
);
|
);
|
||||||
|
|
||||||
if ($id_report) {
|
if ($id_report) {
|
||||||
db_pandora_audit('Report management', 'Create report '.$id_report, false, false);
|
db_pandora_audit(
|
||||||
|
'Report management',
|
||||||
|
'Create report '.$id_report,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
db_pandora_audit('Report management', 'Fail to create report', false, false);
|
db_pandora_audit(
|
||||||
|
'Report management',
|
||||||
|
'Fail to create report',
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,45 +149,52 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||||||
|
|
||||||
$values = [];
|
$values = [];
|
||||||
$values['id_report'] = $id_report;
|
$values['id_report'] = $id_report;
|
||||||
if (isset($item['description'])) {
|
if (isset($item['description']) === true) {
|
||||||
$values['description'] = io_safe_input($item['description']);
|
$values['description'] = io_safe_input($item['description']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($item['period'])) {
|
if (isset($item['period']) === true) {
|
||||||
$values['period'] = io_safe_input($item['period']);
|
$values['period'] = io_safe_input($item['period']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($item['type'])) {
|
if (isset($item['type']) === true) {
|
||||||
$values['type'] = io_safe_input($item['type']);
|
$values['type'] = io_safe_input($item['type']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$agents_item = [];
|
$agents_item = [];
|
||||||
if (isset($item['agent'])) {
|
if (isset($item['agent']) === true) {
|
||||||
$agents = agents_get_agents(
|
$agents = agents_get_agents(
|
||||||
['id_grupo' => $group_filter],
|
['id_grupo' => $group_filter],
|
||||||
[
|
[
|
||||||
'id_agente',
|
'id_agente',
|
||||||
'nombre',
|
'alias',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
$agent_clean = str_replace(['[', ']'], '', $item['agent']);
|
$agent_clean = str_replace(
|
||||||
|
[
|
||||||
|
'[',
|
||||||
|
']',
|
||||||
|
],
|
||||||
|
'',
|
||||||
|
io_safe_output($item['agent'])
|
||||||
|
);
|
||||||
$regular_expresion = ($agent_clean != $item['agent']);
|
$regular_expresion = ($agent_clean != $item['agent']);
|
||||||
|
|
||||||
foreach ($agents as $agent) {
|
foreach ($agents as $agent) {
|
||||||
if ($regular_expresion) {
|
if ($regular_expresion) {
|
||||||
if ((bool) preg_match('/'.$agent_clean.'/', io_safe_output($agent['nombre']))) {
|
if ((bool) preg_match('/'.$agent_clean.'/', io_safe_output($agent['alias']))) {
|
||||||
$agents_item[$agent['id_agente']]['name'] = $agent['nombre'];
|
$agents_item[$agent['id_agente']]['name'] = $agent['alias'];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($agent_clean == io_safe_output($agent['nombre'])) {
|
if ($agent_clean == io_safe_output($agent['alias'])) {
|
||||||
$agents_item[$agent['id_agente']]['name'] = $agent['nombre'];
|
$agents_item[$agent['id_agente']]['name'] = $agent['alias'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($item['module'])) {
|
if (isset($item['module']) === true) {
|
||||||
$module_clean = str_replace(['[', ']'], '', $item['module']);
|
$module_clean = str_replace(['[', ']'], '', $item['module']);
|
||||||
$regular_expresion = ($module_clean != $item['module']);
|
$regular_expresion = ($module_clean != $item['module']);
|
||||||
|
|
||||||
|
@ -31,4 +31,6 @@ ALTER TABLE `treport` ADD COLUMN `index_render` tinyint(1) NOT NULL DEFAULT 1;
|
|||||||
ALTER TABLE `treport_template` ADD COLUMN `cover_page_render` tinyint(1) NOT NULL DEFAULT 1;
|
ALTER TABLE `treport_template` ADD COLUMN `cover_page_render` tinyint(1) NOT NULL DEFAULT 1;
|
||||||
ALTER TABLE `treport_template` ADD COLUMN `index_render` tinyint(1) NOT NULL DEFAULT 1;
|
ALTER TABLE `treport_template` ADD COLUMN `index_render` tinyint(1) NOT NULL DEFAULT 1;
|
||||||
|
|
||||||
|
UPDATE `tconfig` SET value = '{"0.00000038580247":"Seconds to months","0.00000165343915":"Seconds to weeks","0.00001157407407":"Seconds to days","0.01666666666667":"Seconds to minutes","0.00000000093132":"Bytes to Gigabytes","0.00000095367432":"Bytes to Megabytes","0.00097656250000":"Bytes to Kilobytes","0.00000001653439":"Timeticks to weeks","0.00000011574074":"Timeticks to days"}' WHERE token = 'post_process_custom_values';
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
@ -1405,6 +1405,7 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_type', '');
|
|||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_status', '');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_status', '');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_title', '');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_title', '');
|
||||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_content', '');
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_content', '');
|
||||||
|
INSERT INTO `tconfig` (`token`, `value`) VALUES ('post_process_custom_values', '{"0.00000038580247":"Seconds to months","0.00000165343915":"Seconds to weeks","0.00001157407407":"Seconds to days","0.01666666666667":"Seconds to minutes","0.00000000093132":"Bytes to Gigabytes","0.00000095367432":"Bytes to Megabytes","0.00097656250000":"Bytes to Kilobytes","0.00000001653439":"Timeticks to weeks","0.00000011574074":"Timeticks to days"}');
|
||||||
|
|
||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
-- Table `tconfig_os`
|
-- Table `tconfig_os`
|
||||||
|
@ -130,6 +130,15 @@ if ($update || $create) {
|
|||||||
$id_agent = (int) get_parameter('id_agent');
|
$id_agent = (int) get_parameter('id_agent');
|
||||||
$text_module = get_parameter('text_module', '');
|
$text_module = get_parameter('text_module', '');
|
||||||
$id_agent_module = (int) get_parameter('module_search_hidden');
|
$id_agent_module = (int) get_parameter('module_search_hidden');
|
||||||
|
if ($text_module === '') {
|
||||||
|
$text_module = io_safe_output(
|
||||||
|
db_get_value_filter(
|
||||||
|
'nombre',
|
||||||
|
'tagente_modulo',
|
||||||
|
['id_agente_modulo' => $id_agent_module]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
$pagination = get_parameter('pagination', '');
|
$pagination = get_parameter('pagination', '');
|
||||||
$event_view_hr = get_parameter('event_view_hr', '');
|
$event_view_hr = get_parameter('event_view_hr', '');
|
||||||
$id_user_ack = get_parameter('id_user_ack', '');
|
$id_user_ack = get_parameter('id_user_ack', '');
|
||||||
|
@ -1813,11 +1813,9 @@ switch ($action) {
|
|||||||
);
|
);
|
||||||
$values['id_group'] = get_parameter('combo_group');
|
$values['id_group'] = get_parameter('combo_group');
|
||||||
|
|
||||||
if ($values['server_name'] == '') {
|
|
||||||
$values['server_name'] = get_parameter(
|
$values['server_name'] = get_parameter(
|
||||||
'combo_server'
|
'combo_server'
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
if ((($values['type'] == 'custom_graph')
|
if ((($values['type'] == 'custom_graph')
|
||||||
|| ($values['type'] == 'automatic_custom_graph'))
|
|| ($values['type'] == 'automatic_custom_graph'))
|
||||||
@ -2354,6 +2352,8 @@ switch ($action) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hd($values['server_name']);
|
||||||
|
hd(2);
|
||||||
if ($values['server_name'] == '') {
|
if ($values['server_name'] == '') {
|
||||||
$values['server_name'] = get_parameter(
|
$values['server_name'] = get_parameter(
|
||||||
'combo_server'
|
'combo_server'
|
||||||
|
@ -114,7 +114,9 @@ if ($get_comments) {
|
|||||||
sprintf(
|
sprintf(
|
||||||
' HAVING max_id_evento = %d',
|
' HAVING max_id_evento = %d',
|
||||||
$event['id_evento']
|
$event['id_evento']
|
||||||
)
|
),
|
||||||
|
// True for show comments of validated events.
|
||||||
|
true
|
||||||
);
|
);
|
||||||
if ($events !== false) {
|
if ($events !== false) {
|
||||||
$event = $events[0];
|
$event = $events[0];
|
||||||
@ -337,11 +339,46 @@ if ($get_filter_values) {
|
|||||||
'tag_with' => [],
|
'tag_with' => [],
|
||||||
'tag_without' => [],
|
'tag_without' => [],
|
||||||
'history' => false,
|
'history' => false,
|
||||||
|
'module_search' => '',
|
||||||
|
'filter_only_alert' => '-1',
|
||||||
|
'user_comment' => '',
|
||||||
|
'id_extra' => '',
|
||||||
|
'id_user_ack' => '',
|
||||||
|
'date_from' => '',
|
||||||
|
'date_to' => '',
|
||||||
|
'severity' => '',
|
||||||
|
'event_type' => '',
|
||||||
|
'group_rep' => 0,
|
||||||
|
'id_group' => 0,
|
||||||
|
'id_group_filter' => 0,
|
||||||
|
'group_name' => 'All',
|
||||||
|
'text_agent' => '',
|
||||||
|
'id_agent' => 0,
|
||||||
|
'id_name' => 'None',
|
||||||
|
'filter_id' => 0,
|
||||||
];
|
];
|
||||||
|
} else {
|
||||||
|
$event_filter['module_search'] = io_safe_output(db_get_value_filter('nombre', 'tagente_modulo', ['id_agente_modulo' => $event_filter['id_agent_module']]));
|
||||||
|
$a = array_keys(users_get_groups(false));
|
||||||
|
$event_filter['group_name'] = '';
|
||||||
|
foreach ($a as $key => $value) {
|
||||||
|
if ($value == $event_filter['id_group']) {
|
||||||
|
$event_filter['group_name'] = db_get_value('nombre', 'tgrupo', 'id_grupo', $event_filter['id_group_filter']);
|
||||||
|
if ($event_filter['group_name'] === false) {
|
||||||
|
$event_filter['group_name'] = __('All');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$event_filter['module_search'] = io_safe_output(db_get_value_filter('nombre', 'tagente_modulo', ['id_agente_modulo' => $event_filter['id_agent_module']]));
|
||||||
}
|
}
|
||||||
|
|
||||||
$event_filter['search'] = io_safe_output($event_filter['search']);
|
$event_filter['search'] = io_safe_output($event_filter['search']);
|
||||||
$event_filter['id_name'] = io_safe_output($event_filter['id_name']);
|
$event_filter['id_name'] = io_safe_output($event_filter['id_name']);
|
||||||
|
$event_filter['text_agent'] = io_safe_output($event_filter['text_agent']);
|
||||||
|
$event_filter['source'] = io_safe_output($event_filter['source']);
|
||||||
|
|
||||||
|
|
||||||
$event_filter['tag_with'] = base64_encode(
|
$event_filter['tag_with'] = base64_encode(
|
||||||
io_safe_output($event_filter['tag_with'])
|
io_safe_output($event_filter['tag_with'])
|
||||||
);
|
);
|
||||||
@ -353,7 +390,7 @@ if ($get_filter_values) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($load_filter_modal) {
|
if ($load_filter_modal) {
|
||||||
$current = get_parameter('current_filter', '');
|
$current = db_get_value_filter('default_event_filter', 'tusuario', ['id_user' => $config['id_user']]);
|
||||||
$filters = events_get_event_filter_select();
|
$filters = events_get_event_filter_select();
|
||||||
$user_groups_array = users_get_groups_for_select(
|
$user_groups_array = users_get_groups_for_select(
|
||||||
$config['id_user'],
|
$config['id_user'],
|
||||||
@ -433,10 +470,12 @@ function load_form_filter() {
|
|||||||
},
|
},
|
||||||
function (data) {
|
function (data) {
|
||||||
jQuery.each (data, function (i, val) {
|
jQuery.each (data, function (i, val) {
|
||||||
|
console.log(val);
|
||||||
if (i == 'id_name')
|
if (i == 'id_name')
|
||||||
$("#hidden-id_name").val(val);
|
$("#hidden-id_name").val(val);
|
||||||
if (i == 'id_group')
|
if (i == 'id_group'){
|
||||||
$("#id_group").val(val);
|
$('#id_group').val(val);
|
||||||
|
}
|
||||||
if (i == 'event_type')
|
if (i == 'event_type')
|
||||||
$("#event_type").val(val);
|
$("#event_type").val(val);
|
||||||
if (i == 'severity') {
|
if (i == 'severity') {
|
||||||
@ -446,9 +485,9 @@ function load_form_filter() {
|
|||||||
if (i == 'status')
|
if (i == 'status')
|
||||||
$("#status").val(val);
|
$("#status").val(val);
|
||||||
if (i == 'search')
|
if (i == 'search')
|
||||||
$("#text-search").val(val);
|
$('#text-search').val(val);
|
||||||
if (i == 'text_agent')
|
if (i == 'text_agent')
|
||||||
$("#text_id_agent").val(val);
|
$('input[name=text_agent]').val(val);
|
||||||
if (i == 'id_agent')
|
if (i == 'id_agent')
|
||||||
$('input:hidden[name=id_agent]').val(val);
|
$('input:hidden[name=id_agent]').val(val);
|
||||||
if (i == 'id_agent_module')
|
if (i == 'id_agent_module')
|
||||||
@ -477,6 +516,15 @@ function load_form_filter() {
|
|||||||
$("#text-user_comment").val(val);
|
$("#text-user_comment").val(val);
|
||||||
if (i == 'id_source_event')
|
if (i == 'id_source_event')
|
||||||
$("#text-id_source_event").val(val);
|
$("#text-id_source_event").val(val);
|
||||||
|
if(i == 'date_from')
|
||||||
|
$("#text-date_from").val(val);
|
||||||
|
if(i == 'date_to')
|
||||||
|
$("#text-date_to").val(val);
|
||||||
|
if(i == 'module_search')
|
||||||
|
$('input[name=module_search]').val(val);
|
||||||
|
if(i == 'group_name')
|
||||||
|
$("#select2-id_group_filter-container").text(val);
|
||||||
|
|
||||||
});
|
});
|
||||||
reorder_tags_inputs();
|
reorder_tags_inputs();
|
||||||
// Update the info with the loaded filter
|
// Update the info with the loaded filter
|
||||||
@ -1145,12 +1193,37 @@ if ($change_status) {
|
|||||||
$event_ids = get_parameter('event_ids');
|
$event_ids = get_parameter('event_ids');
|
||||||
$new_status = get_parameter('new_status');
|
$new_status = get_parameter('new_status');
|
||||||
|
|
||||||
$return = events_change_status(explode(',', $event_ids), $new_status, $meta, $history);
|
$return = events_change_status(
|
||||||
|
explode(',', $event_ids),
|
||||||
|
$new_status,
|
||||||
|
$meta,
|
||||||
|
$history
|
||||||
|
);
|
||||||
|
|
||||||
if ($return) {
|
if ($return !== false) {
|
||||||
echo 'status_ok';
|
echo json_encode(
|
||||||
|
[
|
||||||
|
'status' => 'status_ok',
|
||||||
|
'user' => db_get_value(
|
||||||
|
'fullname',
|
||||||
|
'tusuario',
|
||||||
|
'id_user',
|
||||||
|
$config['id_user']
|
||||||
|
),
|
||||||
|
]
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
echo 'status_error';
|
echo json_encode(
|
||||||
|
[
|
||||||
|
'status' => 'status_error',
|
||||||
|
'user' => db_get_value(
|
||||||
|
'fullname',
|
||||||
|
'tusuario',
|
||||||
|
'id_user',
|
||||||
|
$config['id_user']
|
||||||
|
),
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Agent Wizard for SNMP and WMI
|
* Agent Wizard for SNMP and WMI
|
||||||
*
|
*
|
||||||
@ -273,7 +274,7 @@ class AgentWizard extends HTML
|
|||||||
// Check access.
|
// Check access.
|
||||||
check_login();
|
check_login();
|
||||||
|
|
||||||
if (! check_acl($config['id_user'], 0, 'AR')) {
|
if (!check_acl($config['id_user'], 0, 'AR')) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'ACL Violation',
|
'ACL Violation',
|
||||||
'Trying to access event viewer'
|
'Trying to access event viewer'
|
||||||
@ -865,7 +866,6 @@ class AgentWizard extends HTML
|
|||||||
],
|
],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -992,10 +992,51 @@ class AgentWizard extends HTML
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->wizardSection === 'snmp_interfaces_explorer') {
|
if ($this->wizardSection === 'snmp_interfaces_explorer') {
|
||||||
// First, try x64 interfaces.
|
// Check if thereis x64 counters.
|
||||||
|
$snmp_tmp = '.1.3.6.1.2.1.31.1.1.1.6';
|
||||||
|
$check_x64 = get_snmpwalk(
|
||||||
|
$this->targetIp,
|
||||||
|
$this->version,
|
||||||
|
$this->community,
|
||||||
|
$this->authUserV3,
|
||||||
|
$this->securityLevelV3,
|
||||||
|
$this->authMethodV3,
|
||||||
|
$this->authPassV3,
|
||||||
|
$this->privacyMethodV3,
|
||||||
|
$this->privacyPassV3,
|
||||||
|
0,
|
||||||
|
$snmp_tmp,
|
||||||
|
$this->targetPort,
|
||||||
|
$this->server,
|
||||||
|
$this->extraArguments
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($check_x64) {
|
||||||
$this->interfacesx64 = true;
|
$this->interfacesx64 = true;
|
||||||
|
$oidExplore = '.1.3.6.1.2.1.31.1.1.1.1';
|
||||||
|
} else {
|
||||||
|
$this->interfacesx64 = false;
|
||||||
|
$oidExplore = '1.3.6.1.2.1.2.2.1.2';
|
||||||
|
}
|
||||||
|
|
||||||
// Explore interface names.
|
// Explore interface names.
|
||||||
$oidExplore = '.1.3.6.1.2.1.31.1.1.1.1';
|
$oidExplore = '.1.3.6.1.2.1.31.1.1.1.1';
|
||||||
|
$receivedOid = get_snmpwalk(
|
||||||
|
$this->targetIp,
|
||||||
|
$this->version,
|
||||||
|
$this->community,
|
||||||
|
$this->authUserV3,
|
||||||
|
$this->securityLevelV3,
|
||||||
|
$this->authMethodV3,
|
||||||
|
$this->authPassV3,
|
||||||
|
$this->privacyMethodV3,
|
||||||
|
$this->privacyPassV3,
|
||||||
|
0,
|
||||||
|
$oidExplore,
|
||||||
|
$this->targetPort,
|
||||||
|
$this->server,
|
||||||
|
$this->extraArguments
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
// Get the device PEN.
|
// Get the device PEN.
|
||||||
$oidExplore = '.1.3.6.1.2.1.1.2.0';
|
$oidExplore = '.1.3.6.1.2.1.1.2.0';
|
||||||
@ -1310,7 +1351,7 @@ class AgentWizard extends HTML
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function candidateModuleToCreate(array $data):array
|
public function candidateModuleToCreate(array $data): array
|
||||||
{
|
{
|
||||||
$modulesActivated = [];
|
$modulesActivated = [];
|
||||||
$generalInterface = false;
|
$generalInterface = false;
|
||||||
@ -2261,7 +2302,7 @@ class AgentWizard extends HTML
|
|||||||
private function replacementMacrosPlugin(
|
private function replacementMacrosPlugin(
|
||||||
string $text,
|
string $text,
|
||||||
array $macros
|
array $macros
|
||||||
):string {
|
): string {
|
||||||
// Only agents.
|
// Only agents.
|
||||||
if (empty($this->idPolicy) === true) {
|
if (empty($this->idPolicy) === true) {
|
||||||
// Common.
|
// Common.
|
||||||
@ -2308,7 +2349,7 @@ class AgentWizard extends HTML
|
|||||||
?string $value,
|
?string $value,
|
||||||
?string $unit='',
|
?string $unit='',
|
||||||
?int $moduleType=0
|
?int $moduleType=0
|
||||||
):string {
|
): string {
|
||||||
if ($moduleType !== MODULE_TYPE_REMOTE_SNMP_INC
|
if ($moduleType !== MODULE_TYPE_REMOTE_SNMP_INC
|
||||||
&& $moduleType !== MODULE_TYPE_GENERIC_DATA_INC
|
&& $moduleType !== MODULE_TYPE_GENERIC_DATA_INC
|
||||||
&& $moduleType !== MODULE_TYPE_REMOTE_TCP_INC
|
&& $moduleType !== MODULE_TYPE_REMOTE_TCP_INC
|
||||||
@ -2562,7 +2603,7 @@ class AgentWizard extends HTML
|
|||||||
// Unpack the extra fields
|
// Unpack the extra fields
|
||||||
// and include with key field in a field set.
|
// and include with key field in a field set.
|
||||||
$macros = json_decode($module['macros'], true);
|
$macros = json_decode($module['macros'], true);
|
||||||
$fieldSet = [ '0' => $module['query_key_field'] ];
|
$fieldSet = ['0' => $module['query_key_field']];
|
||||||
foreach ($macros as $fieldKey => $fieldMacro) {
|
foreach ($macros as $fieldKey => $fieldMacro) {
|
||||||
if (preg_match('/extra_field_/', $fieldKey) !== 0) {
|
if (preg_match('/extra_field_/', $fieldKey) !== 0) {
|
||||||
$tmpKey = explode('_', $fieldKey);
|
$tmpKey = explode('_', $fieldKey);
|
||||||
@ -3100,7 +3141,6 @@ class AgentWizard extends HTML
|
|||||||
// Add Create Modules form.
|
// Add Create Modules form.
|
||||||
$this->createModulesForm();
|
$this->createModulesForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3209,7 +3249,6 @@ class AgentWizard extends HTML
|
|||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3306,7 +3345,7 @@ class AgentWizard extends HTML
|
|||||||
*
|
*
|
||||||
* @return array Inputs for common data.
|
* @return array Inputs for common data.
|
||||||
*/
|
*/
|
||||||
private function getCommonDataInputs():array
|
private function getCommonDataInputs(): array
|
||||||
{
|
{
|
||||||
$inputs[] = [
|
$inputs[] = [
|
||||||
'id' => 'create-modules-action',
|
'id' => 'create-modules-action',
|
||||||
@ -4207,6 +4246,34 @@ class AgentWizard extends HTML
|
|||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// Get x86 or x64 modules.
|
||||||
|
if ($this->interfacesx64 === true) {
|
||||||
|
$definition_temp = $this->getInterfacesModulesx64($data);
|
||||||
|
} else {
|
||||||
|
$definition_temp = $this->getInterfacesModulesx86($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// General monitoring names.
|
||||||
|
$general_module_names = [
|
||||||
|
'ifInOctets / ifHCInOctets',
|
||||||
|
'ifOutOctets / ifHCOutOctets',
|
||||||
|
'ifInUcastPkts / ifHCInUcastPkts',
|
||||||
|
'ifOutUcastPkts / ifHCOutUcastPkts',
|
||||||
|
'ifInNUcastPkts / ifHCInNUcastPkts',
|
||||||
|
'ifOutNUcastPkts / ifHCOutNUcastPkts',
|
||||||
|
];
|
||||||
|
|
||||||
|
if ($name == '') {
|
||||||
|
foreach ($definition_temp as $module => $module_def) {
|
||||||
|
$definition_temp[$module]['module_name'] = array_shift($general_module_names);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($definition_temp) === false) {
|
||||||
|
$definition = array_merge($definition, $definition_temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Continue with common x86 and x84 modules.
|
||||||
// IfAdminStatus.
|
// IfAdminStatus.
|
||||||
$moduleName = $name.'ifAdminStatus';
|
$moduleName = $name.'ifAdminStatus';
|
||||||
$definition['ifAdminStatus'] = [
|
$definition['ifAdminStatus'] = [
|
||||||
@ -4333,19 +4400,6 @@ class AgentWizard extends HTML
|
|||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
// Get x86 or x64 modules.
|
|
||||||
if ($this->interfacesx64 === true) {
|
|
||||||
$definitionx64 = $this->getInterfacesModulesx64($data);
|
|
||||||
if (empty($definitionx64) === false) {
|
|
||||||
$definition = array_merge($definition, $definitionx64);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$definitionx86 = $this->getInterfacesModulesx86($data);
|
|
||||||
if (empty($definitionx86) === false) {
|
|
||||||
$definition = array_merge($definition, $definitionx86);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $definition;
|
return $definition;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4815,7 +4869,7 @@ class AgentWizard extends HTML
|
|||||||
try {
|
try {
|
||||||
exec($execution, $output);
|
exec($execution, $output);
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
$output = [ '0' => 'ERROR: Failed execution: '.(string) $ex];
|
$output = ['0' => 'ERROR: Failed execution: '.(string) $ex];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
@ -4913,7 +4967,7 @@ class AgentWizard extends HTML
|
|||||||
// Meta.
|
// Meta.
|
||||||
var meta = "<?php echo is_metaconsole(); ?>";
|
var meta = "<?php echo is_metaconsole(); ?>";
|
||||||
var hack_meta = '';
|
var hack_meta = '';
|
||||||
if(meta){
|
if (meta) {
|
||||||
hack_meta = '../../';
|
hack_meta = '../../';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4921,15 +4975,15 @@ class AgentWizard extends HTML
|
|||||||
showV3Form();
|
showV3Form();
|
||||||
|
|
||||||
// Filter search interfaces snmp.
|
// Filter search interfaces snmp.
|
||||||
$('#text-filter-search').keyup(function () {
|
$('#text-filter-search').keyup(function() {
|
||||||
var string = $('#text-filter-search').val();
|
var string = $('#text-filter-search').val();
|
||||||
var regex = new RegExp(string);
|
var regex = new RegExp(string);
|
||||||
var interfaces = $('.interfaces_search');
|
var interfaces = $('.interfaces_search');
|
||||||
interfaces.each(function(){
|
interfaces.each(function() {
|
||||||
if(string == ''){
|
if (string == '') {
|
||||||
$(this).removeClass('hidden');
|
$(this).removeClass('hidden');
|
||||||
} else {
|
} else {
|
||||||
if(this.id.match(regex)) {
|
if (this.id.match(regex)) {
|
||||||
$(this).removeClass('hidden');
|
$(this).removeClass('hidden');
|
||||||
} else {
|
} else {
|
||||||
$(this).addClass('hidden');
|
$(this).addClass('hidden');
|
||||||
@ -4939,12 +4993,12 @@ class AgentWizard extends HTML
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Loading.
|
// Loading.
|
||||||
$('#submit-sub-protocol').click(function () {
|
$('#submit-sub-protocol').click(function() {
|
||||||
$('.wizard-result').remove();
|
$('.wizard-result').remove();
|
||||||
$('#form-create-modules').remove();
|
$('#form-create-modules').remove();
|
||||||
$('.textodialogo').remove();
|
$('.textodialogo').remove();
|
||||||
$('.loading-wizard')
|
$('.loading-wizard')
|
||||||
.html('<center><span style="font-size:25px;">Loading...</span><img style="width:25px;heigth:25px;" src="'+hack_meta+'images/spinner.gif"></center>');
|
.html('<center><span style="font-size:25px;">Loading...</span><img style="width:25px;heigth:25px;" src="' + hack_meta + 'images/spinner.gif"></center>');
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -4962,10 +5016,10 @@ class AgentWizard extends HTML
|
|||||||
|
|
||||||
function showSecurityLevelForm() {
|
function showSecurityLevelForm() {
|
||||||
var selector = $('#securityLevelV3').val();
|
var selector = $('#securityLevelV3').val();
|
||||||
if(selector === 'authNoPriv' || selector === 'authPriv'){
|
if (selector === 'authNoPriv' || selector === 'authPriv') {
|
||||||
$('#txt-authMethodV3').removeClass('invisible');
|
$('#txt-authMethodV3').removeClass('invisible');
|
||||||
$('#txt-authPassV3').removeClass('invisible');
|
$('#txt-authPassV3').removeClass('invisible');
|
||||||
if(selector === 'authPriv'){
|
if (selector === 'authPriv') {
|
||||||
$('#txt-privacyMethodV3').removeClass('invisible');
|
$('#txt-privacyMethodV3').removeClass('invisible');
|
||||||
$('#txt-privacyPassV3').removeClass('invisible');
|
$('#txt-privacyPassV3').removeClass('invisible');
|
||||||
} else {
|
} else {
|
||||||
@ -5015,16 +5069,13 @@ class AgentWizard extends HTML
|
|||||||
collision: "fit"
|
collision: "fit"
|
||||||
},
|
},
|
||||||
title: title,
|
title: title,
|
||||||
buttons: [
|
buttons: [{
|
||||||
{
|
class: "ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok submit-next",
|
||||||
class:
|
|
||||||
"ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok submit-next",
|
|
||||||
text: "OK",
|
text: "OK",
|
||||||
click: function(e) {
|
click: function(e) {
|
||||||
$("#msg").close();
|
$("#msg").close();
|
||||||
}
|
}
|
||||||
}
|
}]
|
||||||
]
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -5054,7 +5105,7 @@ class AgentWizard extends HTML
|
|||||||
});
|
});
|
||||||
// Set checked.
|
// Set checked.
|
||||||
$("[id*=checkbox-sel_module_" + blockNumber + "]")
|
$("[id*=checkbox-sel_module_" + blockNumber + "]")
|
||||||
.each(function(){
|
.each(function() {
|
||||||
$(this).prop("checked", true);
|
$(this).prop("checked", true);
|
||||||
});
|
});
|
||||||
imageInfoModules.removeClass('hidden');
|
imageInfoModules.removeClass('hidden');
|
||||||
@ -5066,15 +5117,15 @@ class AgentWizard extends HTML
|
|||||||
});
|
});
|
||||||
// Set unchecked.
|
// Set unchecked.
|
||||||
$("[id*=checkbox-sel_module_" + blockNumber + "]")
|
$("[id*=checkbox-sel_module_" + blockNumber + "]")
|
||||||
.each(function(){
|
.each(function() {
|
||||||
$(this).prop("checked", false);
|
$(this).prop("checked", false);
|
||||||
});
|
});
|
||||||
imageInfoModules.addClass('hidden');
|
imageInfoModules.addClass('hidden');
|
||||||
}
|
}
|
||||||
} else if (type == 'module') {
|
} else if (type == 'module') {
|
||||||
// Getting the element.
|
// Getting the element.
|
||||||
var thisModuleHidden = document.getElementById("hidden-module-active-"+switchName[2]+"_"+moduleNumber);
|
var thisModuleHidden = document.getElementById("hidden-module-active-" + switchName[2] + "_" + moduleNumber);
|
||||||
var thisModule = $("#checkbox-sel_module_"+blockNumber+"_"+moduleNumber);
|
var thisModule = $("#checkbox-sel_module_" + blockNumber + "_" + moduleNumber);
|
||||||
// Setting the individual field
|
// Setting the individual field
|
||||||
if (thisModule.prop('checked')) {
|
if (thisModule.prop('checked')) {
|
||||||
thisModuleHidden.value = '1';
|
thisModuleHidden.value = '1';
|
||||||
@ -5118,7 +5169,7 @@ class AgentWizard extends HTML
|
|||||||
*/
|
*/
|
||||||
function switchBlockControlInterfaces(e) {
|
function switchBlockControlInterfaces(e) {
|
||||||
var string = $('#text-filter-search').val();
|
var string = $('#text-filter-search').val();
|
||||||
if(string == ''){
|
if (string == '') {
|
||||||
if (e.checked) {
|
if (e.checked) {
|
||||||
$(".interfaz_select").prop("checked", true);
|
$(".interfaz_select").prop("checked", true);
|
||||||
} else {
|
} else {
|
||||||
@ -5127,14 +5178,14 @@ class AgentWizard extends HTML
|
|||||||
} else {
|
} else {
|
||||||
var regex = new RegExp(string);
|
var regex = new RegExp(string);
|
||||||
var interfaces = $('.interfaces_search');
|
var interfaces = $('.interfaces_search');
|
||||||
interfaces.each(function(){
|
interfaces.each(function() {
|
||||||
if(this.id.match(regex)) {
|
if (this.id.match(regex)) {
|
||||||
$(this).removeClass('hidden');
|
$(this).removeClass('hidden');
|
||||||
if (e.checked) {
|
if (e.checked) {
|
||||||
$("input[name='interfaz_select_"+this.id+"']")
|
$("input[name='interfaz_select_" + this.id + "']")
|
||||||
.prop("checked", true);
|
.prop("checked", true);
|
||||||
} else {
|
} else {
|
||||||
$("input[name='interfaz_select_"+this.id+"']")
|
$("input[name='interfaz_select_" + this.id + "']")
|
||||||
.prop("checked", false);
|
.prop("checked", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5149,7 +5200,7 @@ class AgentWizard extends HTML
|
|||||||
confirmDialog({
|
confirmDialog({
|
||||||
title: "<?php echo __('Modules about to be created'); ?>",
|
title: "<?php echo __('Modules about to be created'); ?>",
|
||||||
message: function() {
|
message: function() {
|
||||||
var id = "div-"+uniqId();
|
var id = "div-" + uniqId();
|
||||||
var loading = "<?php echo __('Loading'); ?>" + "...";
|
var loading = "<?php echo __('Loading'); ?>" + "...";
|
||||||
$.ajax({
|
$.ajax({
|
||||||
method: "post",
|
method: "post",
|
||||||
@ -5165,22 +5216,22 @@ class AgentWizard extends HTML
|
|||||||
},
|
},
|
||||||
datatype: "html",
|
datatype: "html",
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
$('#'+id).empty().append(data);
|
$('#' + id).empty().append(data);
|
||||||
},
|
},
|
||||||
error: function(e) {
|
error: function(e) {
|
||||||
showMsg(e);
|
showMsg(e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return "<div id ='"+id+"'>"+loading+"</div>";
|
return "<div id ='" + id + "'>" + loading + "</div>";
|
||||||
},
|
},
|
||||||
ok: "<?php echo __('OK'); ?>",
|
ok: "<?php echo __('OK'); ?>",
|
||||||
cancel: "<?php echo __('Cancel'); ?>",
|
cancel: "<?php echo __('Cancel'); ?>",
|
||||||
onAccept: function() {
|
onAccept: function() {
|
||||||
$('#reviewed-modules').submit();
|
$('#reviewed-modules').submit();
|
||||||
},
|
},
|
||||||
size:750,
|
size: 750,
|
||||||
maxHeight:500
|
maxHeight: 500
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC201029';
|
$build_version = 'PC201103';
|
||||||
$pandora_version = 'v7.0NG.750';
|
$pandora_version = 'v7.0NG.750';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
|
@ -2871,17 +2871,8 @@ function alerts_get_agent_modules(
|
|||||||
);
|
);
|
||||||
$agent_modules = db_get_all_rows_sql($sql);
|
$agent_modules = db_get_all_rows_sql($sql);
|
||||||
} else {
|
} else {
|
||||||
$groups = groups_get_children($id_grupo, true);
|
$groups = groups_get_children_ids($id_grupo, true);
|
||||||
if (empty($groups) === false) {
|
if (empty($groups) === false) {
|
||||||
$groups = array_reduce(
|
|
||||||
$groups,
|
|
||||||
function ($carry, $item) {
|
|
||||||
$carry[] = $item['id_grupo'];
|
|
||||||
return $carry;
|
|
||||||
},
|
|
||||||
[$id_grupo]
|
|
||||||
);
|
|
||||||
|
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
'SELECT distinct(atm.id_agent_module)
|
'SELECT distinct(atm.id_agent_module)
|
||||||
FROM talert_template_modules atm
|
FROM talert_template_modules atm
|
||||||
|
@ -682,6 +682,7 @@ function events_update_status($id_evento, $status, $filter=null, $history=false)
|
|||||||
* @param boolean $history Apply on historical table.
|
* @param boolean $history Apply on historical table.
|
||||||
* @param boolean $return_sql Return SQL (true) or execute it (false).
|
* @param boolean $return_sql Return SQL (true) or execute it (false).
|
||||||
* @param string $having Having filter.
|
* @param string $having Having filter.
|
||||||
|
* @param boolean $validatedEvents If true, evaluate validated events.
|
||||||
*
|
*
|
||||||
* @return array Events.
|
* @return array Events.
|
||||||
* @throws Exception On error.
|
* @throws Exception On error.
|
||||||
@ -695,7 +696,8 @@ function events_get_all(
|
|||||||
$sort_field=null,
|
$sort_field=null,
|
||||||
$history=false,
|
$history=false,
|
||||||
$return_sql=false,
|
$return_sql=false,
|
||||||
$having=''
|
$having='',
|
||||||
|
$validatedEvents=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
@ -912,10 +914,20 @@ function events_get_all(
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EVENT_NO_VALIDATED:
|
case EVENT_NO_VALIDATED:
|
||||||
|
// Show comments in validated events.
|
||||||
|
$validatedState = '';
|
||||||
|
if ($validatedEvents === true) {
|
||||||
|
$validatedState = sprintf(
|
||||||
|
'OR estado = %d',
|
||||||
|
EVENT_VALIDATE
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$sql_filters[] = sprintf(
|
$sql_filters[] = sprintf(
|
||||||
' AND (estado = %d OR estado = %d)',
|
' AND (estado = %d OR estado = %d %s)',
|
||||||
EVENT_NEW,
|
EVENT_NEW,
|
||||||
EVENT_PROCESS
|
EVENT_PROCESS,
|
||||||
|
$validatedState
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1541,25 +1553,17 @@ function events_get_event($id, $fields=false, $meta=false, $history=false)
|
|||||||
* Retrieve all events ungrouped.
|
* Retrieve all events ungrouped.
|
||||||
*
|
*
|
||||||
* @param string $sql_post Sql_post.
|
* @param string $sql_post Sql_post.
|
||||||
* @param integer $offset Offset.
|
|
||||||
* @param integer $pagination Pagination.
|
|
||||||
* @param boolean $meta Meta.
|
* @param boolean $meta Meta.
|
||||||
* @param boolean $history History.
|
* @param boolean $history History.
|
||||||
* @param boolean $total Total.
|
* @param boolean $returnSql Only Query.
|
||||||
* @param boolean $history_db History_db.
|
|
||||||
* @param string $order Order.
|
|
||||||
*
|
*
|
||||||
* @return mixed Array of events or false.
|
* @return mixed Array of events or false.
|
||||||
*/
|
*/
|
||||||
function events_get_events_no_grouped(
|
function events_get_events_no_grouped(
|
||||||
$sql_post,
|
$sql_post,
|
||||||
$offset=0,
|
|
||||||
$pagination=1,
|
|
||||||
$meta=false,
|
$meta=false,
|
||||||
$history=false,
|
$history=false,
|
||||||
$total=false,
|
$returnSql=false
|
||||||
$history_db=false,
|
|
||||||
$order='ASC'
|
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
@ -1569,7 +1573,11 @@ function events_get_events_no_grouped(
|
|||||||
$sql .= events_get_secondary_groups_left_join($table);
|
$sql .= events_get_secondary_groups_left_join($table);
|
||||||
$sql .= $sql_post;
|
$sql .= $sql_post;
|
||||||
|
|
||||||
$events = db_get_all_rows_sql($sql, $history_db);
|
if ($returnSql === true) {
|
||||||
|
return $sql;
|
||||||
|
}
|
||||||
|
|
||||||
|
$events = db_get_all_rows_sql($sql, $history);
|
||||||
|
|
||||||
return $events;
|
return $events;
|
||||||
}
|
}
|
||||||
@ -1622,29 +1630,59 @@ function events_get_events_grouped(
|
|||||||
$event_lj = events_get_secondary_groups_left_join($table);
|
$event_lj = events_get_secondary_groups_left_join($table);
|
||||||
if ($total) {
|
if ($total) {
|
||||||
$sql = "SELECT COUNT(*) FROM (SELECT id_evento
|
$sql = "SELECT COUNT(*) FROM (SELECT id_evento
|
||||||
FROM $table te $event_lj
|
FROM $table te $event_lj ".$sql_post.'
|
||||||
WHERE 1=1 ".$sql_post.'
|
|
||||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra.') AS t';
|
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra.') AS t';
|
||||||
} else {
|
} else {
|
||||||
$sql = "SELECT *, MAX(id_evento) AS id_evento,
|
$sql = sprintf(
|
||||||
GROUP_CONCAT(DISTINCT user_comment SEPARATOR '<br>') AS user_comment,
|
'SELECT *,
|
||||||
GROUP_CONCAT(DISTINCT id_evento SEPARATOR ',') AS similar_ids,
|
MAX(id_evento) AS id_evento,
|
||||||
|
GROUP_CONCAT(
|
||||||
|
DISTINCT user_comment SEPARATOR "<br>"
|
||||||
|
) AS user_comment,
|
||||||
|
GROUP_CONCAT(
|
||||||
|
DISTINCT id_evento SEPARATOR ","
|
||||||
|
) AS similar_ids,
|
||||||
COUNT(id_evento) AS event_rep, MAX(utimestamp) AS timestamp_rep,
|
COUNT(id_evento) AS event_rep, MAX(utimestamp) AS timestamp_rep,
|
||||||
MIN(utimestamp) AS timestamp_rep_min,
|
MIN(utimestamp) AS timestamp_rep_min,
|
||||||
(SELECT owner_user FROM $table WHERE id_evento = MAX(te.id_evento)) owner_user,
|
(SELECT owner_user
|
||||||
(SELECT id_usuario FROM $table WHERE id_evento = MAX(te.id_evento)) id_usuario,
|
FROM %s
|
||||||
(SELECT id_agente FROM $table WHERE id_evento = MAX(te.id_evento)) id_agente,
|
WHERE id_evento = MAX(te.id_evento)) AS owner_user,
|
||||||
(SELECT criticity FROM $table WHERE id_evento = MAX(te.id_evento)) AS criticity,
|
(SELECT id_usuario
|
||||||
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp,
|
FROM %s
|
||||||
(SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = te.id_agentmodule) AS module_name
|
WHERE id_evento = MAX(te.id_evento)) AS id_usuario,
|
||||||
FROM $table te $event_lj
|
(SELECT id_agente
|
||||||
WHERE 1=1 ".$sql_post.'
|
FROM %s
|
||||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra;
|
WHERE id_evento = MAX(te.id_evento)) AS id_agente,
|
||||||
$sql .= ' '.events_get_sql_order($sort_field, $order, 2);
|
(SELECT criticity
|
||||||
$sql .= ' LIMIT '.$offset.','.$pagination;
|
FROM %s
|
||||||
|
WHERE id_evento = MAX(te.id_evento)) AS criticity,
|
||||||
|
(SELECT ack_utimestamp
|
||||||
|
FROM %s
|
||||||
|
WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp,
|
||||||
|
(SELECT nombre
|
||||||
|
FROM tagente_modulo
|
||||||
|
WHERE id_agente_modulo = te.id_agentmodule) AS module_name
|
||||||
|
FROM %s te %s
|
||||||
|
%s
|
||||||
|
GROUP BY estado, evento, id_agente, id_agentmodule %s
|
||||||
|
%s
|
||||||
|
LIMIT %d, %d',
|
||||||
|
$table,
|
||||||
|
$table,
|
||||||
|
$table,
|
||||||
|
$table,
|
||||||
|
$table,
|
||||||
|
$table,
|
||||||
|
$event_lj,
|
||||||
|
$sql_post,
|
||||||
|
$groupby_extra,
|
||||||
|
events_get_sql_order($sort_field, $order, 2),
|
||||||
|
$offset,
|
||||||
|
$pagination
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extract the events by filter (or not) from db
|
// Extract the events by filter (or not) from db.
|
||||||
$events = db_get_all_rows_sql($sql, $history_db);
|
$events = db_get_all_rows_sql($sql, $history_db);
|
||||||
|
|
||||||
if ($total) {
|
if ($total) {
|
||||||
@ -2959,7 +2997,8 @@ function events_get_agent(
|
|||||||
$type = [];
|
$type = [];
|
||||||
foreach ($filter_event_type as $event_type) {
|
foreach ($filter_event_type as $event_type) {
|
||||||
if ($event_type != '') {
|
if ($event_type != '') {
|
||||||
// If normal, warning, could be several (going_up_warning, going_down_warning... too complex.
|
// If normal, warning, could be several
|
||||||
|
// (going_up_warning, going_down_warning... too complex.
|
||||||
// Shown to user only "warning, critical and normal".
|
// Shown to user only "warning, critical and normal".
|
||||||
if ($event_type == 'warning' || $event_type == 'critical' || $event_type == 'normal') {
|
if ($event_type == 'warning' || $event_type == 'critical' || $event_type == 'normal') {
|
||||||
$type[] = " event_type LIKE '%".$event_type."%' ";
|
$type[] = " event_type LIKE '%".$event_type."%' ";
|
||||||
@ -2979,10 +3018,10 @@ function events_get_agent(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($events_group) {
|
if ($events_group) {
|
||||||
$sql_where .= sprintf(
|
$secondary_groups = sprintf(
|
||||||
' INNER JOIN tgrupo tg
|
' INNER JOIN tgrupo tg
|
||||||
ON (te.id_grupo = tg.id_grupo AND tg.id_grupo = %s)
|
ON (te.id_grupo = tg.id_grupo AND tg.id_grupo IN (%s))
|
||||||
OR (tg.id_grupo = tasg.id_group AND tasg.id_group = %s)
|
OR (tg.id_grupo = tasg.id_group AND tasg.id_group IN (%s))
|
||||||
WHERE utimestamp > %d
|
WHERE utimestamp > %d
|
||||||
AND utimestamp <= %d ',
|
AND utimestamp <= %d ',
|
||||||
join(',', $id_group),
|
join(',', $id_group),
|
||||||
@ -2990,7 +3029,11 @@ function events_get_agent(
|
|||||||
$datelimit,
|
$datelimit,
|
||||||
$date
|
$date
|
||||||
);
|
);
|
||||||
} else if ($events_module) {
|
$sql_where = $secondary_groups.' '.$sql_where;
|
||||||
|
} else {
|
||||||
|
$sql_where = ' WHERE 1=1 '.$sql_where;
|
||||||
|
|
||||||
|
if ($events_module) {
|
||||||
$sql_where .= sprintf(
|
$sql_where .= sprintf(
|
||||||
' AND id_agentmodule = %d AND utimestamp > %d
|
' AND id_agentmodule = %d AND utimestamp > %d
|
||||||
AND utimestamp <= %d ',
|
AND utimestamp <= %d ',
|
||||||
@ -3007,6 +3050,7 @@ function events_get_agent(
|
|||||||
$date
|
$date
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (is_metaconsole() && $id_server) {
|
if (is_metaconsole() && $id_server) {
|
||||||
$sql_where .= ' AND server_id = '.$id_server;
|
$sql_where .= ' AND server_id = '.$id_server;
|
||||||
@ -3025,11 +3069,7 @@ function events_get_agent(
|
|||||||
} else {
|
} else {
|
||||||
return events_get_events_no_grouped(
|
return events_get_events_no_grouped(
|
||||||
$sql_where,
|
$sql_where,
|
||||||
0,
|
|
||||||
1000,
|
|
||||||
(is_metaconsole() && $id_server) ? true : false,
|
(is_metaconsole() && $id_server) ? true : false,
|
||||||
false,
|
|
||||||
false,
|
|
||||||
$history
|
$history
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -3682,6 +3722,38 @@ function events_get_response_target(
|
|||||||
$event_response = db_get_row('tevent_response', 'id', $response_id);
|
$event_response = db_get_row('tevent_response', 'id', $response_id);
|
||||||
$target = io_safe_output($event_response['target']);
|
$target = io_safe_output($event_response['target']);
|
||||||
|
|
||||||
|
if (strpos($target, '_agent_alias_') !== false) {
|
||||||
|
if ($meta) {
|
||||||
|
$agente_table_name = 'tmetaconsole_agent';
|
||||||
|
$filter = [
|
||||||
|
'id_tagente' => $event['id_agente'],
|
||||||
|
'id_tmetaconsole_setup' => $server_id,
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$agente_table_name = 'tagente';
|
||||||
|
$filter = ['id_agente' => $event['id_agente']];
|
||||||
|
}
|
||||||
|
|
||||||
|
$alias = db_get_value_filter('alias', $agente_table_name, $filter);
|
||||||
|
$target = str_replace('_agent_alias_', io_safe_output($alias), $target);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strpos($target, '_agent_name_') !== false) {
|
||||||
|
if ($meta) {
|
||||||
|
$agente_table_name = 'tmetaconsole_agent';
|
||||||
|
$filter = [
|
||||||
|
'id_tagente' => $event['id_agente'],
|
||||||
|
'id_tmetaconsole_setup' => $server_id,
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$agente_table_name = 'tagente';
|
||||||
|
$filter = ['id_agente' => $event['id_agente']];
|
||||||
|
}
|
||||||
|
|
||||||
|
$name = db_get_value_filter('nombre', $agente_table_name, $filter);
|
||||||
|
$target = str_replace('_agent_name_', io_safe_output($name), $target);
|
||||||
|
}
|
||||||
|
|
||||||
// Substitute each macro.
|
// Substitute each macro.
|
||||||
if (strpos($target, '_agent_address_') !== false) {
|
if (strpos($target, '_agent_address_') !== false) {
|
||||||
if ($meta) {
|
if ($meta) {
|
||||||
@ -3761,7 +3833,7 @@ function events_get_response_target(
|
|||||||
if (strpos($target, '_group_name_') !== false) {
|
if (strpos($target, '_group_name_') !== false) {
|
||||||
$target = str_replace(
|
$target = str_replace(
|
||||||
'_group_name_',
|
'_group_name_',
|
||||||
groups_get_name($event['id_grupo'], true),
|
io_safe_output(groups_get_name($event['id_grupo'], true)),
|
||||||
$target
|
$target
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -3777,7 +3849,7 @@ function events_get_response_target(
|
|||||||
if (strpos($target, '_event_date_') !== false) {
|
if (strpos($target, '_event_date_') !== false) {
|
||||||
$target = str_replace(
|
$target = str_replace(
|
||||||
'_event_date_',
|
'_event_date_',
|
||||||
date($config['date_format'], $event['utimestamp']),
|
io_safe_output(date($config['date_format'], $event['utimestamp'])),
|
||||||
$target
|
$target
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -3801,7 +3873,7 @@ function events_get_response_target(
|
|||||||
if (strpos($target, '_alert_id_') !== false) {
|
if (strpos($target, '_alert_id_') !== false) {
|
||||||
$target = str_replace(
|
$target = str_replace(
|
||||||
'_alert_id_',
|
'_alert_id_',
|
||||||
empty($event['is_alert_am']) ? __('N/A') : $event['is_alert_am'],
|
empty($event['id_alert_am']) ? __('N/A') : $event['id_alert_am'],
|
||||||
$target
|
$target
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -3883,6 +3955,15 @@ function events_get_response_target(
|
|||||||
$target = str_replace('_current_user_', $config['id_user'], $target);
|
$target = str_replace('_current_user_', $config['id_user'], $target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This will replace the macro with the command timeout value.
|
||||||
|
if (strpos($target, '_command_timeout_') !== false) {
|
||||||
|
$target = str_replace(
|
||||||
|
'_command_timeout_',
|
||||||
|
$event_response['command_timeout'],
|
||||||
|
$target
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return $target;
|
return $target;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4620,16 +4701,24 @@ function events_page_general($event)
|
|||||||
$table_general->data[] = $data;
|
$table_general->data[] = $data;
|
||||||
|
|
||||||
// If event is validated, show who and when acknowleded it.
|
// If event is validated, show who and when acknowleded it.
|
||||||
|
$table_general->cellclass[8][1] = 'general_acknowleded';
|
||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
$data[0] = __('Acknowledged by');
|
$data[0] = __('Acknowledged by');
|
||||||
|
|
||||||
if ($event['estado'] == 1) {
|
if ($event['estado'] == 1) {
|
||||||
$user_ack = db_get_value('fullname', 'tusuario', 'id_user', $event['id_usuario']);
|
$user_ack = db_get_value(
|
||||||
if (empty($user_ack)) {
|
'fullname',
|
||||||
|
'tusuario',
|
||||||
|
'id_user',
|
||||||
|
$event['id_usuario']
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($user_ack) === true) {
|
||||||
$user_ack = $event['id_usuario'];
|
$user_ack = $event['id_usuario'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$date_ack = date($config['date_format'], $event['ack_utimestamp']);
|
$date_ack = io_safe_output($event['ack_utimestamp']);
|
||||||
$data[1] = $user_ack.' ('.$date_ack.')';
|
$data[1] = $user_ack.' ('.$date_ack.')';
|
||||||
} else {
|
} else {
|
||||||
$data[1] = '<i>'.__('N/A').'</i>';
|
$data[1] = '<i>'.__('N/A').'</i>';
|
||||||
@ -6963,7 +7052,7 @@ function events_get_field_value_by_event_id(
|
|||||||
if (strpos($value, '_group_name_') !== false) {
|
if (strpos($value, '_group_name_') !== false) {
|
||||||
$value = str_replace(
|
$value = str_replace(
|
||||||
'_group_name_',
|
'_group_name_',
|
||||||
groups_get_name($event['id_grupo'], true),
|
io_safe_output(groups_get_name($event['id_grupo'], true)),
|
||||||
$value
|
$value
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -6979,7 +7068,9 @@ function events_get_field_value_by_event_id(
|
|||||||
if (strpos($value, '_event_date_') !== false) {
|
if (strpos($value, '_event_date_') !== false) {
|
||||||
$value = str_replace(
|
$value = str_replace(
|
||||||
'_event_date_',
|
'_event_date_',
|
||||||
date($config['date_format'], $event['utimestamp']),
|
io_safe_output(
|
||||||
|
date($config['date_format'], $event['utimestamp'])
|
||||||
|
),
|
||||||
$value
|
$value
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -2541,13 +2541,9 @@ function graphic_agentaccess(
|
|||||||
} else {
|
} else {
|
||||||
$options['generals']['pdf']['width'] = 350;
|
$options['generals']['pdf']['width'] = 350;
|
||||||
$options['generals']['pdf']['height'] = 125;
|
$options['generals']['pdf']['height'] = 125;
|
||||||
if (!empty($data_array)) {
|
|
||||||
$imgbase64 = '<img src="data:image/jpg;base64,';
|
$imgbase64 = '<img src="data:image/jpg;base64,';
|
||||||
$imgbase64 .= vbar_graph($data_array, $options, 2);
|
$imgbase64 .= vbar_graph($data_array, $options, 2);
|
||||||
$imgbase64 .= '" />';
|
$imgbase64 .= '" />';
|
||||||
} else {
|
|
||||||
$imgbase64 .= vbar_graph($data_array, $options, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $imgbase64;
|
return $imgbase64;
|
||||||
}
|
}
|
||||||
|
@ -2957,7 +2957,7 @@ function reporting_group_report($report, $content)
|
|||||||
if (empty($id_group)) {
|
if (empty($id_group)) {
|
||||||
$events = [];
|
$events = [];
|
||||||
} else {
|
} else {
|
||||||
$sql_where = sprintf(' AND id_grupo IN (%s) AND estado<>1 ', implode(',', $id_group));
|
$sql_where = sprintf(' WHERE id_grupo IN (%s) AND estado<>1 ', implode(',', $id_group));
|
||||||
$events = events_get_events_grouped(
|
$events = events_get_events_grouped(
|
||||||
$sql_where,
|
$sql_where,
|
||||||
0,
|
0,
|
||||||
|
@ -802,7 +802,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
|
|||||||
$events_graph = '<div style="width: 100%; height: 90px; display: flex; flex-direction: row; justify-content: center;">';
|
$events_graph = '<div style="width: 100%; height: 90px; display: flex; flex-direction: row; justify-content: center;">';
|
||||||
$events_graph .= graph_graphic_agentevents(
|
$events_graph .= graph_graphic_agentevents(
|
||||||
$id_agente,
|
$id_agente,
|
||||||
'385px;',
|
'340px;margin:0',
|
||||||
45,
|
45,
|
||||||
SECONDS_1DAY,
|
SECONDS_1DAY,
|
||||||
'',
|
'',
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
(function ($) {
|
(function($) {
|
||||||
var options = {
|
var options = {
|
||||||
export: {
|
export: {
|
||||||
export_data: false, // or true
|
export_data: false, // or true
|
||||||
labels_long: null,
|
labels_long: null,
|
||||||
homeurl: "",
|
homeurl: ""
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function init(plot) {
|
function init(plot) {
|
||||||
plot.exportDataCSV = function (args) {
|
plot.exportDataCSV = function(args) {
|
||||||
//amount = plot.getOptions().export.type,
|
//amount = plot.getOptions().export.type,
|
||||||
//options = options || {};
|
//options = options || {};
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
result = [];
|
result = [];
|
||||||
|
|
||||||
// Throw errors
|
// Throw errors
|
||||||
var retrieveDataOject = function (dataObjects) {
|
var retrieveDataOject = function(dataObjects) {
|
||||||
var result;
|
var result;
|
||||||
|
|
||||||
if (typeof dataObjects === "undefined")
|
if (typeof dataObjects === "undefined")
|
||||||
@ -33,7 +33,7 @@
|
|||||||
result = dataObjects.shift();
|
result = dataObjects.shift();
|
||||||
}
|
}
|
||||||
if (dataObjects.length > 1) {
|
if (dataObjects.length > 1) {
|
||||||
dataObjects.forEach(function (element) {
|
dataObjects.forEach(function(element) {
|
||||||
if (/^Avg.:/i.test(element.label)) result = element;
|
if (/^Avg.:/i.test(element.label)) result = element;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -47,7 +47,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Throw errors
|
// Throw errors
|
||||||
var processDataObject = function (dataObject) {
|
var processDataObject = function(dataObject) {
|
||||||
var result;
|
var result;
|
||||||
|
|
||||||
if (typeof dataObject === "undefined")
|
if (typeof dataObject === "undefined")
|
||||||
@ -71,12 +71,12 @@
|
|||||||
*/
|
*/
|
||||||
if (type === "csv") {
|
if (type === "csv") {
|
||||||
result = {
|
result = {
|
||||||
head: ["timestap", "date", "value", "label"],
|
head: ["timestamp", "date", "value", "label"],
|
||||||
data: [],
|
data: []
|
||||||
};
|
};
|
||||||
|
|
||||||
dataObject.data.forEach(function (item, index) {
|
dataObject.data.forEach(function(item, index) {
|
||||||
var timestap = item[0];
|
var timestamp = item[0];
|
||||||
|
|
||||||
var d = new Date(item[0]);
|
var d = new Date(item[0]);
|
||||||
var monthNames = [
|
var monthNames = [
|
||||||
@ -91,7 +91,7 @@
|
|||||||
"Sep",
|
"Sep",
|
||||||
"Oct",
|
"Oct",
|
||||||
"Nov",
|
"Nov",
|
||||||
"Dec",
|
"Dec"
|
||||||
];
|
];
|
||||||
|
|
||||||
date_format =
|
date_format =
|
||||||
@ -119,7 +119,7 @@
|
|||||||
dataObject.label
|
dataObject.label
|
||||||
];
|
];
|
||||||
clean_label = clean_label.replace(new RegExp(" ", "g"), " ");
|
clean_label = clean_label.replace(new RegExp(" ", "g"), " ");
|
||||||
result.data.push([timestap, date, value, clean_label]);
|
result.data.push([timestamp, date, value, clean_label]);
|
||||||
});
|
});
|
||||||
} else if (type === "json") {
|
} else if (type === "json") {
|
||||||
/* [
|
/* [
|
||||||
@ -144,7 +144,7 @@
|
|||||||
*/
|
*/
|
||||||
result = [];
|
result = [];
|
||||||
|
|
||||||
dataObject.data.forEach(function (item, index) {
|
dataObject.data.forEach(function(item, index) {
|
||||||
var date = "",
|
var date = "",
|
||||||
value = item[1];
|
value = item[1];
|
||||||
|
|
||||||
@ -156,7 +156,7 @@
|
|||||||
result.push({
|
result.push({
|
||||||
date: date,
|
date: date,
|
||||||
value: value,
|
value: value,
|
||||||
label: dataObject.label,
|
label: dataObject.label
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -172,12 +172,11 @@
|
|||||||
if (dataObject) {
|
if (dataObject) {
|
||||||
elements.push(processDataObject(dataObject));
|
elements.push(processDataObject(dataObject));
|
||||||
}
|
}
|
||||||
dataObjects.forEach(function (element) {
|
dataObjects.forEach(function(element) {
|
||||||
elements.push(processDataObject(element));
|
elements.push(processDataObject(element));
|
||||||
});
|
});
|
||||||
graphData = elements;
|
graphData = elements;
|
||||||
|
|
||||||
|
|
||||||
// Transform the object data into a string
|
// Transform the object data into a string
|
||||||
// cause PHP has limitations in the number
|
// cause PHP has limitations in the number
|
||||||
// of POST params received.
|
// of POST params received.
|
||||||
@ -226,7 +225,7 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
plot.exportDataJSON = function (args) {
|
plot.exportDataJSON = function(args) {
|
||||||
//amount = plot.getOptions().export.type,
|
//amount = plot.getOptions().export.type,
|
||||||
//options = options || {};
|
//options = options || {};
|
||||||
|
|
||||||
@ -240,7 +239,7 @@
|
|||||||
result = [];
|
result = [];
|
||||||
|
|
||||||
// Throw errors
|
// Throw errors
|
||||||
var retrieveDataOject = function (dataObjects) {
|
var retrieveDataOject = function(dataObjects) {
|
||||||
var result;
|
var result;
|
||||||
|
|
||||||
if (typeof dataObjects === "undefined")
|
if (typeof dataObjects === "undefined")
|
||||||
@ -251,7 +250,7 @@
|
|||||||
result = dataObjects.shift();
|
result = dataObjects.shift();
|
||||||
}
|
}
|
||||||
if (dataObjects.length > 1) {
|
if (dataObjects.length > 1) {
|
||||||
dataObjects.forEach(function (element) {
|
dataObjects.forEach(function(element) {
|
||||||
if (/^Avg.:/i.test(element.label)) result = element;
|
if (/^Avg.:/i.test(element.label)) result = element;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -265,7 +264,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Throw errors
|
// Throw errors
|
||||||
var processDataObject = function (dataObject) {
|
var processDataObject = function(dataObject) {
|
||||||
var result;
|
var result;
|
||||||
|
|
||||||
if (typeof dataObject === "undefined")
|
if (typeof dataObject === "undefined")
|
||||||
@ -290,10 +289,10 @@
|
|||||||
if (type === "csv") {
|
if (type === "csv") {
|
||||||
result = {
|
result = {
|
||||||
head: ["date", "value", "label"],
|
head: ["date", "value", "label"],
|
||||||
data: [],
|
data: []
|
||||||
};
|
};
|
||||||
|
|
||||||
dataObject.data.forEach(function (item, index) {
|
dataObject.data.forEach(function(item, index) {
|
||||||
var date = "",
|
var date = "",
|
||||||
value = item[1];
|
value = item[1];
|
||||||
|
|
||||||
@ -329,7 +328,7 @@
|
|||||||
*/
|
*/
|
||||||
result = [];
|
result = [];
|
||||||
|
|
||||||
dataObject.data.forEach(function (item, index) {
|
dataObject.data.forEach(function(item, index) {
|
||||||
var date = "",
|
var date = "",
|
||||||
value = item[1];
|
value = item[1];
|
||||||
|
|
||||||
@ -341,7 +340,7 @@
|
|||||||
result.push({
|
result.push({
|
||||||
date: date,
|
date: date,
|
||||||
value: value,
|
value: value,
|
||||||
label: dataObject.label,
|
label: dataObject.label
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -357,7 +356,7 @@
|
|||||||
|
|
||||||
if (custom_graph) {
|
if (custom_graph) {
|
||||||
dataObject = retrieveDataOject(dataObjects);
|
dataObject = retrieveDataOject(dataObjects);
|
||||||
dataObjects.forEach(function (element) {
|
dataObjects.forEach(function(element) {
|
||||||
elements.push(processDataObject(element));
|
elements.push(processDataObject(element));
|
||||||
});
|
});
|
||||||
graphData = elements;
|
graphData = elements;
|
||||||
@ -420,6 +419,6 @@
|
|||||||
init: init,
|
init: init,
|
||||||
options: options,
|
options: options,
|
||||||
name: "exportdata",
|
name: "exportdata",
|
||||||
version: "0.1",
|
version: "0.1"
|
||||||
});
|
});
|
||||||
})(jQuery);
|
})(jQuery);
|
||||||
|
@ -346,13 +346,7 @@ function menu_graph(
|
|||||||
$threshold = true;
|
$threshold = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$return .= "<div id='general_menu_$graph_id' class='menu_graph' style='
|
$return .= "<div id='general_menu_$graph_id' class='menu_graph'>";
|
||||||
width: 20px;
|
|
||||||
height: 150px;
|
|
||||||
left:100%;
|
|
||||||
position: absolute;
|
|
||||||
top: 0px;
|
|
||||||
background-color: tranparent;'>";
|
|
||||||
$return .= "<div id='menu_$graph_id' "."style='display: none; ".'text-align: center;'.'position: relative;'."border-bottom: 0px;'>
|
$return .= "<div id='menu_$graph_id' "."style='display: none; ".'text-align: center;'.'position: relative;'."border-bottom: 0px;'>
|
||||||
<a href='javascript:'><img id='menu_cancelzoom_$graph_id' src='".$params['homeurl']."images/zoom_cross_grey.disabled.png' alt='".__('Cancel zoom')."' title='".__('Cancel zoom')."'></a>";
|
<a href='javascript:'><img id='menu_cancelzoom_$graph_id' src='".$params['homeurl']."images/zoom_cross_grey.disabled.png' alt='".__('Cancel zoom')."' title='".__('Cancel zoom')."'></a>";
|
||||||
if ($threshold) {
|
if ($threshold) {
|
||||||
@ -745,13 +739,12 @@ function flot_slicesbar_graph(
|
|||||||
|
|
||||||
// Set some containers to legend, graph, timestamp tooltip, etc.
|
// Set some containers to legend, graph, timestamp tooltip, etc.
|
||||||
$height = ((int) $height + 15);
|
$height = ((int) $height + 15);
|
||||||
if ($stat_win) {
|
|
||||||
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'%; height: '.$height."px; display: inline-block;'></div>";
|
|
||||||
} else {
|
|
||||||
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'%; height: '.$height."px;'></div>";
|
|
||||||
}
|
|
||||||
|
|
||||||
$return .= "<div id='value_$graph_id' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";
|
$style = 'width:'.$width.'%;';
|
||||||
|
$style .= 'height:'.$height.'px;';
|
||||||
|
$return = "<div id='".$graph_id."' class='noresizevc graph ".$adapt_key."' style='".$style."'></div>";
|
||||||
|
|
||||||
|
$return .= "<div id='value_".$graph_id."' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";
|
||||||
|
|
||||||
// Set a weird separator to serialize and unserialize
|
// Set a weird separator to serialize and unserialize
|
||||||
// passing data from php to javascript.
|
// passing data from php to javascript.
|
||||||
|
@ -786,13 +786,12 @@ function post_process_select_events_unit(name, selected) {
|
|||||||
function post_process_select_events(name) {
|
function post_process_select_events(name) {
|
||||||
$("." + name + "_toggler").click(function() {
|
$("." + name + "_toggler").click(function() {
|
||||||
var value = $("#text-" + name + "_text").val();
|
var value = $("#text-" + name + "_text").val();
|
||||||
|
|
||||||
var count = $("#" + name + "_select option").filter(function(i, item) {
|
var count = $("#" + name + "_select option").filter(function(i, item) {
|
||||||
if (Number($(item).val()) == Number(value)) return true;
|
if (Number($(item).val()) == Number(value)) return true;
|
||||||
else return false;
|
else return false;
|
||||||
}).length;
|
}).length;
|
||||||
|
|
||||||
if (count != 1) {
|
if (count < 1) {
|
||||||
$("#" + name + "_select").append(
|
$("#" + name + "_select").append(
|
||||||
$("<option>")
|
$("<option>")
|
||||||
.val(value)
|
.val(value)
|
||||||
|
@ -453,7 +453,6 @@ function perform_response_massive(response, response_id, out_iterator) {
|
|||||||
// Change the status of an event to new, in process or validated.
|
// Change the status of an event to new, in process or validated.
|
||||||
function event_change_status(event_ids) {
|
function event_change_status(event_ids) {
|
||||||
var new_status = $("#estado").val();
|
var new_status = $("#estado").val();
|
||||||
var event_id = $("#hidden-id_event").val();
|
|
||||||
var meta = $("#hidden-meta").val();
|
var meta = $("#hidden-meta").val();
|
||||||
var history = $("#hidden-history").val();
|
var history = $("#hidden-history").val();
|
||||||
|
|
||||||
@ -472,7 +471,7 @@ function event_change_status(event_ids) {
|
|||||||
type: "POST",
|
type: "POST",
|
||||||
url: $("#hidden-ajax_file").val(),
|
url: $("#hidden-ajax_file").val(),
|
||||||
async: true,
|
async: true,
|
||||||
dataType: "html",
|
dataType: "json",
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
$("#button-status_button").removeAttr("disabled");
|
$("#button-status_button").removeAttr("disabled");
|
||||||
$("#response_loading").hide();
|
$("#response_loading").hide();
|
||||||
@ -485,11 +484,20 @@ function event_change_status(event_ids) {
|
|||||||
$("#notification_status_error").hide();
|
$("#notification_status_error").hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data == "status_ok") {
|
if (data.status == "status_ok") {
|
||||||
if (typeof dt_events !== "undefined") {
|
if (typeof dt_events !== "undefined") {
|
||||||
dt_events.draw(false);
|
dt_events.draw(false);
|
||||||
}
|
}
|
||||||
$("#notification_status_success").show();
|
$("#notification_status_success").show();
|
||||||
|
if (new_status == 1) {
|
||||||
|
$("#extended_event_general_page table td.general_acknowleded").text(
|
||||||
|
data.user
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$("#extended_event_general_page table td.general_acknowleded").text(
|
||||||
|
"N/A"
|
||||||
|
);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$("#notification_status_error").show();
|
$("#notification_status_error").show();
|
||||||
}
|
}
|
||||||
@ -942,7 +950,6 @@ function execute_event_response(event_list_btn) {
|
|||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case "delete_selected":
|
case "delete_selected":
|
||||||
console.log($(this));
|
|
||||||
$(".chk_val:checked").each(function() {
|
$(".chk_val:checked").each(function() {
|
||||||
execute_delete_event_reponse(
|
execute_delete_event_reponse(
|
||||||
dt_events,
|
dt_events,
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
// 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.
|
||||||
|
|
||||||
|
/*global $, _*/
|
||||||
|
|
||||||
var TreeController = {
|
var TreeController = {
|
||||||
controllers: [],
|
controllers: [],
|
||||||
getController: function() {
|
getController: function() {
|
||||||
@ -38,12 +40,35 @@ var TreeController = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _recursiveGroupsCount(elements, childGroupsLength) {
|
||||||
|
if (typeof childGroupsLength === "undefined") {
|
||||||
|
childGroupsLength = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
_.each(elements, function(element) {
|
||||||
|
if (typeof element.children !== "undefined") {
|
||||||
|
childGroupsLength = _recursiveGroupsCount(
|
||||||
|
element.children,
|
||||||
|
childGroupsLength
|
||||||
|
);
|
||||||
|
childGroupsLength += element.children.length;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return childGroupsLength;
|
||||||
|
}
|
||||||
|
|
||||||
// Load branch
|
// Load branch
|
||||||
function _processGroup(container, elements, rootGroup) {
|
function _processGroup(container, elements, rootGroup) {
|
||||||
var $group = $("<ul></ul>");
|
var $group = $("<ul></ul>");
|
||||||
|
var childGroupsLength = _recursiveGroupsCount(elements);
|
||||||
|
|
||||||
// First group
|
// First group.
|
||||||
if (typeof rootGroup != "undefined" && rootGroup == true) {
|
if (typeof rootGroup != "undefined" && rootGroup == true) {
|
||||||
|
var messageLength = controller.tree.length;
|
||||||
|
if (childGroupsLength > 0) {
|
||||||
|
messageLength = childGroupsLength + controller.tree.length;
|
||||||
|
}
|
||||||
|
|
||||||
$group
|
$group
|
||||||
.addClass("tree-root")
|
.addClass("tree-root")
|
||||||
.hide()
|
.hide()
|
||||||
@ -54,13 +79,12 @@ var TreeController = {
|
|||||||
'images/pandora.png" />' +
|
'images/pandora.png" />' +
|
||||||
"<span class='margin-left-1'>" +
|
"<span class='margin-left-1'>" +
|
||||||
(controller.tree.length > 0
|
(controller.tree.length > 0
|
||||||
? controller.foundMessage + ": " + controller.tree.length
|
? controller.foundMessage + ": " + messageLength
|
||||||
: "") +
|
: "") +
|
||||||
"</div>"
|
"</div>"
|
||||||
);
|
);
|
||||||
}
|
} else {
|
||||||
// Normal group
|
// Normal group.
|
||||||
else {
|
|
||||||
$group.addClass("tree-group").hide();
|
$group.addClass("tree-group").hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -462,6 +462,10 @@ select:-internal-list-box {
|
|||||||
width: 120px;
|
width: 120px;
|
||||||
max-width: 120px;
|
max-width: 120px;
|
||||||
}
|
}
|
||||||
|
.w200px {
|
||||||
|
width: 200px;
|
||||||
|
max-width: 200px;
|
||||||
|
}
|
||||||
.w240px {
|
.w240px {
|
||||||
width: 240px;
|
width: 240px;
|
||||||
max-width: 240px;
|
max-width: 240px;
|
||||||
@ -3074,6 +3078,12 @@ div#stat-win-module-graph div.nodata_container {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.menu_graph {
|
.menu_graph {
|
||||||
|
width: 30px;
|
||||||
|
height: 150px;
|
||||||
|
left: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 0px;
|
||||||
|
background-color: transparent;
|
||||||
-moz-border-top-right-radius: 6px;
|
-moz-border-top-right-radius: 6px;
|
||||||
-webkit-border-top-right-radius: 6px;
|
-webkit-border-top-right-radius: 6px;
|
||||||
border-top-right-radius: 6px;
|
border-top-right-radius: 6px;
|
||||||
@ -5866,7 +5876,7 @@ table.table_modal_alternate tr td:first-child {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.flot-text {
|
.flot-text {
|
||||||
width: 101%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Font header feedback*/
|
/*Font header feedback*/
|
||||||
|
@ -750,7 +750,17 @@ if (! isset($config['id_user'])) {
|
|||||||
$pass2 = get_parameter_post('pass2');
|
$pass2 = get_parameter_post('pass2');
|
||||||
$id_user = get_parameter_post('id_user');
|
$id_user = get_parameter_post('id_user');
|
||||||
|
|
||||||
if ($correct_pass_change && !empty($pass1) && !empty($pass2) && !empty($id_user)) {
|
if ($reset_hash != '') {
|
||||||
|
$hash_data = explode(':::', $reset_hash);
|
||||||
|
$id_user = $hash_data[0];
|
||||||
|
$codified_hash = $hash_data[1];
|
||||||
|
|
||||||
|
$db_reset_pass_entry = db_get_value_filter('reset_time', 'treset_pass', ['id_user' => $id_user, 'cod_hash' => $id_user.':::'.$codified_hash]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($correct_pass_change && !empty($pass1) && !empty($pass2) && !empty($id_user) && $db_reset_pass_entry) {
|
||||||
|
delete_reset_pass_entry($id_user);
|
||||||
|
|
||||||
$correct_reset_pass_process = '';
|
$correct_reset_pass_process = '';
|
||||||
$process_error_message = '';
|
$process_error_message = '';
|
||||||
|
|
||||||
@ -787,21 +797,14 @@ if (! isset($config['id_user'])) {
|
|||||||
include_once 'general/login_page.php';
|
include_once 'general/login_page.php';
|
||||||
} else {
|
} else {
|
||||||
if ($reset_hash != '') {
|
if ($reset_hash != '') {
|
||||||
$hash_data = explode(':::', $reset_hash);
|
|
||||||
$id_user = $hash_data[0];
|
|
||||||
$codified_hash = $hash_data[1];
|
|
||||||
|
|
||||||
$db_reset_pass_entry = db_get_value_filter('reset_time', 'treset_pass', ['id_user' => $id_user, 'cod_hash' => $id_user.':::'.$codified_hash]);
|
|
||||||
$process_error_message = '';
|
$process_error_message = '';
|
||||||
|
|
||||||
if ($db_reset_pass_entry) {
|
if ($db_reset_pass_entry) {
|
||||||
if (($db_reset_pass_entry + SECONDS_2HOUR) < time()) {
|
if (($db_reset_pass_entry + SECONDS_2HOUR) < time()) {
|
||||||
register_pass_change_try($id_user, 0);
|
register_pass_change_try($id_user, 0);
|
||||||
$process_error_message = __('Too much time since password change request');
|
$process_error_message = __('Too much time since password change request');
|
||||||
delete_reset_pass_entry($id_user);
|
|
||||||
include_once 'general/login_page.php';
|
include_once 'general/login_page.php';
|
||||||
} else {
|
} else {
|
||||||
delete_reset_pass_entry($id_user);
|
|
||||||
include_once 'enterprise/include/process_reset_pass.php';
|
include_once 'enterprise/include/process_reset_pass.php';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -129,7 +129,7 @@
|
|||||||
<div style='height: 10px'>
|
<div style='height: 10px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.750';
|
$version = '7.0NG.750';
|
||||||
$build = '201029';
|
$build = '201103';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
|
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
@ -731,7 +731,7 @@ class Events
|
|||||||
$system = System::getInstance();
|
$system = System::getInstance();
|
||||||
|
|
||||||
// --------------Fill the SQL POST-------------------------------
|
// --------------Fill the SQL POST-------------------------------
|
||||||
$sql_post = '';
|
$sql_post = ' WHERE 1=1 ';
|
||||||
|
|
||||||
switch ($this->status) {
|
switch ($this->status) {
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -35,6 +35,7 @@ require_once $config['homedir'].'/include/functions_graph.php';
|
|||||||
require_once $config['homedir'].'/include/functions_modules.php';
|
require_once $config['homedir'].'/include/functions_modules.php';
|
||||||
require_once $config['homedir'].'/include/functions_agents.php';
|
require_once $config['homedir'].'/include/functions_agents.php';
|
||||||
require_once $config['homedir'].'/include/functions_tags.php';
|
require_once $config['homedir'].'/include/functions_tags.php';
|
||||||
|
require_once $config['homedir'].'/include/php_to_js_values.php';
|
||||||
enterprise_include_once('include/functions_agents.php');
|
enterprise_include_once('include/functions_agents.php');
|
||||||
|
|
||||||
check_login();
|
check_login();
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
// This file is an example on how things must NEVER be done.
|
||||||
|
|
||||||
// Pandora FMS - http://pandorafms.com
|
// Pandora FMS - http://pandorafms.com
|
||||||
// ==================================================
|
// ==================================================
|
||||||
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
||||||
@ -41,7 +40,7 @@ if (! defined('METACONSOLE')) {
|
|||||||
|
|
||||||
$buttons['fields'] = [
|
$buttons['fields'] = [
|
||||||
'active' => false,
|
'active' => false,
|
||||||
'text' => '<a href="index.php?sec=view&sec2=operation/agentes/status_monitor&section=fields">'.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'</a>',
|
'text' => '<a href="index.php?sec=view&sec2=operation/agentes/status_monitor§ion=fields">'.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'</a>',
|
||||||
'operation' => true,
|
'operation' => true,
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -79,6 +78,11 @@ if (! defined('METACONSOLE')) {
|
|||||||
ui_meta_print_header(__('Monitor view'));
|
ui_meta_print_header(__('Monitor view'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$recursion = get_parameter_switch('recursion', false);
|
||||||
|
if ($recursion === false) {
|
||||||
|
$recursion = get_parameter('recursion', false);
|
||||||
|
}
|
||||||
|
|
||||||
$ag_freestring = (string) get_parameter('ag_freestring');
|
$ag_freestring = (string) get_parameter('ag_freestring');
|
||||||
$moduletype = (string) get_parameter('moduletype');
|
$moduletype = (string) get_parameter('moduletype');
|
||||||
$datatype = (string) get_parameter('datatype');
|
$datatype = (string) get_parameter('datatype');
|
||||||
@ -89,10 +93,10 @@ $status = (int) get_parameter('status', 4);
|
|||||||
$modulegroup = (int) get_parameter('modulegroup', -1);
|
$modulegroup = (int) get_parameter('modulegroup', -1);
|
||||||
$tag_filter = (int) get_parameter('tag_filter', 0);
|
$tag_filter = (int) get_parameter('tag_filter', 0);
|
||||||
$min_hours_status = (string) get_parameter('min_hours_status', '');
|
$min_hours_status = (string) get_parameter('min_hours_status', '');
|
||||||
// Sort functionality
|
// Sort functionality.
|
||||||
$sortField = get_parameter('sort_field');
|
$sortField = get_parameter('sort_field');
|
||||||
$sort = get_parameter('sort', 'none');
|
$sort = get_parameter('sort', 'none');
|
||||||
// When the previous page was a visualmap and show only one module
|
// When the previous page was a visualmap and show only one module.
|
||||||
$id_module = (int) get_parameter('id_module', 0);
|
$id_module = (int) get_parameter('id_module', 0);
|
||||||
$ag_custom_fields = (array) get_parameter('ag_custom_fields', []);
|
$ag_custom_fields = (array) get_parameter('ag_custom_fields', []);
|
||||||
$module_option = (int) get_parameter('module_option', 1);
|
$module_option = (int) get_parameter('module_option', 1);
|
||||||
@ -161,11 +165,22 @@ if (is_numeric($ag_group)) {
|
|||||||
// Agent group selector
|
// Agent group selector
|
||||||
if (!is_metaconsole()) {
|
if (!is_metaconsole()) {
|
||||||
if ($ag_group > 0 && check_acl($config['id_user'], $ag_group, 'AR')) {
|
if ($ag_group > 0 && check_acl($config['id_user'], $ag_group, 'AR')) {
|
||||||
|
if ($recursion) {
|
||||||
|
$all_groups = groups_get_children_ids($ag_group, true);
|
||||||
|
|
||||||
|
// User has explicit permission on group 1 ?
|
||||||
|
$sql_conditions_group = sprintf(
|
||||||
|
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s)) ',
|
||||||
|
implode(',', $all_groups),
|
||||||
|
implode(',', $all_groups)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$sql_conditions_group = sprintf(
|
$sql_conditions_group = sprintf(
|
||||||
' AND (tagente.id_grupo = %d OR tasg.id_group = %d)',
|
' AND (tagente.id_grupo = %d OR tasg.id_group = %d)',
|
||||||
$ag_group,
|
$ag_group,
|
||||||
$ag_group
|
$ag_group
|
||||||
);
|
);
|
||||||
|
}
|
||||||
} else if ($user_groups != '') {
|
} else if ($user_groups != '') {
|
||||||
// User has explicit permission on group 1 ?
|
// User has explicit permission on group 1 ?
|
||||||
$sql_conditions_group = ' AND (
|
$sql_conditions_group = ' AND (
|
||||||
@ -175,11 +190,22 @@ if (!is_metaconsole()) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (((int) $ag_group !== 0) && (check_acl($config['id_user'], $id_ag_group, 'AR'))) {
|
if (((int) $ag_group !== 0) && (check_acl($config['id_user'], $id_ag_group, 'AR'))) {
|
||||||
|
if ($recursion) {
|
||||||
|
$all_groups = groups_get_children_ids($ag_group, true);
|
||||||
|
|
||||||
|
// User has explicit permission on group 1 ?
|
||||||
|
$sql_conditions_group = sprintf(
|
||||||
|
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s)) ',
|
||||||
|
implode(',', $all_groups),
|
||||||
|
implode(',', $all_groups)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$sql_conditions_group = sprintf(
|
$sql_conditions_group = sprintf(
|
||||||
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s))',
|
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s))',
|
||||||
$ag_group,
|
$ag_group,
|
||||||
$ag_group
|
$ag_group
|
||||||
);
|
);
|
||||||
|
}
|
||||||
} else if ($user_groups != '') {
|
} else if ($user_groups != '') {
|
||||||
// User has explicit permission on group 1 ?
|
// User has explicit permission on group 1 ?
|
||||||
$sql_conditions_group = ' AND (
|
$sql_conditions_group = ' AND (
|
||||||
@ -355,7 +381,8 @@ $table->style[3] = 'font-weight: bold;';
|
|||||||
$table->style[4] = 'font-weight: bold;';
|
$table->style[4] = 'font-weight: bold;';
|
||||||
|
|
||||||
$table->data[0][0] = __('Group');
|
$table->data[0][0] = __('Group');
|
||||||
$table->data[0][1] = html_print_select_groups(
|
$table->data[0][1] = '<div class="flex flex-row-vcenter w290px"><div class="w200px">';
|
||||||
|
$table->data[0][1] .= html_print_select_groups(
|
||||||
$config['id_user'],
|
$config['id_user'],
|
||||||
'AR',
|
'AR',
|
||||||
true,
|
true,
|
||||||
@ -375,6 +402,18 @@ $table->data[0][1] = html_print_select_groups(
|
|||||||
'id_grupo',
|
'id_grupo',
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
$table->data[0][1] .= '</div><div>';
|
||||||
|
$table->data[0][1] .= html_print_input(
|
||||||
|
[
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'name' => 'recursion',
|
||||||
|
'return' => true,
|
||||||
|
'checked' => $recursion,
|
||||||
|
'value' => 1,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
$table->data[0][1] .= __('Recursion');
|
||||||
|
$table->data[0][1] .= '</div></div>';
|
||||||
|
|
||||||
$fields = [];
|
$fields = [];
|
||||||
$fields[AGENT_MODULE_STATUS_NORMAL] = __('Normal');
|
$fields[AGENT_MODULE_STATUS_NORMAL] = __('Normal');
|
||||||
@ -701,8 +740,7 @@ foreach ($custom_fields as $custom_field) {
|
|||||||
$table_custom_fields->data[] = $row;
|
$table_custom_fields->data[] = $row;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$filters = '<form method="post" action="index.php?sec=view&sec2=operation/agentes/status_monitor&refr='.$refr.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&module_option='.$module_option.'&ag_modulename='.$ag_modulename.'&moduletype='.$moduletype.'&datatype='.$datatype.'&status='.$status.'&sort_field='.$sortField.'&sort='.$sort.'&pure='.$config['pure'].$ag_custom_fields_params.'">';
|
||||||
$filters = '<form method="post" action="index.php?sec=view&sec2=operation/agentes/status_monitor&refr='.$refr.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&module_option='.$module_option.'&ag_modulename='.$ag_modulename.'&moduletype='.$moduletype.'&datatype='.$datatype.'&status='.$status.'&sort_field='.$sortField.'&sort='.$sort.'&pure='.$config['pure'].$ag_custom_fields_params.'">';
|
|
||||||
if (is_metaconsole()) {
|
if (is_metaconsole()) {
|
||||||
$table->colspan[4][0] = 7;
|
$table->colspan[4][0] = 7;
|
||||||
$table->cellstyle[4][0] = 'padding: 10px;';
|
$table->cellstyle[4][0] = 'padding: 10px;';
|
||||||
@ -1014,6 +1052,7 @@ $sql = 'SELECT
|
|||||||
ORDER BY '.$order['field'].' '.$order['order'].'
|
ORDER BY '.$order['field'].' '.$order['order'].'
|
||||||
LIMIT '.$offset.','.$limit_sql;
|
LIMIT '.$offset.','.$limit_sql;
|
||||||
|
|
||||||
|
|
||||||
// We do not show the modules until the user searches with the filter
|
// We do not show the modules until the user searches with the filter
|
||||||
if ($autosearch) {
|
if ($autosearch) {
|
||||||
if (! defined('METACONSOLE')) {
|
if (! defined('METACONSOLE')) {
|
||||||
@ -1102,17 +1141,51 @@ if (($config['dbtype'] == 'oracle') && ($result !== false)) {
|
|||||||
|
|
||||||
|
|
||||||
// Urls to sort the table.
|
// Urls to sort the table.
|
||||||
$url_agent_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor&refr='.$refr.'&datatype='.$datatype.'&moduletype='.$moduletype.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=agent_alias&sort=';
|
$url_agent_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=type&sort=';
|
$url_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_module_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=module_name&sort=';
|
$url_module_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_server_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=moduletype&sort=';
|
$url_server_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_interval = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=interval&sort=';
|
$url_interval = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=status&sort=';
|
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=last_status_change&sort=';
|
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_data = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=data&sort=';
|
$url_data = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_timestamp_up = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=timestamp&sort=up';
|
$url_timestamp_up = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
$url_timestamp_down = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=timestamp&sort=down';
|
$url_timestamp_down = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||||
|
|
||||||
|
$url_agent_name .= '&refr='.$refr.'&datatype='.$datatype.'&moduletype='.$moduletype.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_module_name .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_server_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_interval .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_data .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_timestamp_up .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
$url_timestamp_down .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||||
|
|
||||||
|
// Holy god...
|
||||||
|
$url_agent_name .= '&recursion='.$recursion;
|
||||||
|
$url_type .= '&recursion='.$recursion;
|
||||||
|
$url_module_name .= '&recursion='.$recursion;
|
||||||
|
$url_server_type .= '&recursion='.$recursion;
|
||||||
|
$url_interval .= '&recursion='.$recursion;
|
||||||
|
$url_status .= '&recursion='.$recursion;
|
||||||
|
$url_status .= '&recursion='.$recursion;
|
||||||
|
$url_data .= '&recursion='.$recursion;
|
||||||
|
$url_timestamp_up .= '&recursion='.$recursion;
|
||||||
|
$url_timestamp_down .= '&recursion='.$recursion;
|
||||||
|
|
||||||
|
|
||||||
|
$url_agent_name .= '&sort_field=agent_alias&sort=';
|
||||||
|
$url_type .= '&sort_field=type&sort=';
|
||||||
|
$url_module_name .= '&sort_field=module_name&sort=';
|
||||||
|
$url_server_type .= '&sort_field=moduletype&sort=';
|
||||||
|
$url_interval .= '&sort_field=interval&sort=';
|
||||||
|
$url_status .= '&sort_field=status&sort=';
|
||||||
|
$url_status .= '&sort_field=last_status_change&sort=';
|
||||||
|
$url_data .= '&sort_field=data&sort=';
|
||||||
|
$url_timestamp_up .= '&sort_field=timestamp&sort=up';
|
||||||
|
$url_timestamp_down .= '&sort_field=timestamp&sort=down';
|
||||||
|
|
||||||
// Start Build List Result
|
// Start Build List Result
|
||||||
if (!empty($result)) {
|
if (!empty($result)) {
|
||||||
@ -1276,9 +1349,9 @@ if (!empty($result)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_metaconsole()) {
|
if (is_metaconsole()) {
|
||||||
$data[0] = '<a href="?sec=gmodules&sec2=advanced/policymanager&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
$data[0] = '<a href="?sec=gmodules&sec2=advanced/policymanager&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
||||||
} else {
|
} else {
|
||||||
$data[0] = '<a href="?sec=gmodules&sec2=enterprise/godmode/policies/policies&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
$data[0] = '<a href="?sec=gmodules&sec2=enterprise/godmode/policies/policies&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1293,7 +1366,7 @@ if (!empty($result)) {
|
|||||||
|
|
||||||
// TODO: Calculate hash access before to use it more simply like other sections. I.E. Events view
|
// TODO: Calculate hash access before to use it more simply like other sections. I.E. Events view
|
||||||
if (defined('METACONSOLE')) {
|
if (defined('METACONSOLE')) {
|
||||||
$agent_link = '<a href="'.$row['server_url'].'index.php?'.'sec=estado&'.'sec2=operation/agentes/ver_agente&'.'id_agente='.$row['id_agent'].'&'.'loginhash=auto&'.'loginhash_data='.$row['hashdata'].'&'.'loginhash_user='.str_rot13($row['user']).'">';
|
$agent_link = '<a href="'.$row['server_url'].'index.php?'.'sec=estado&'.'sec2=operation/agentes/ver_agente&'.'id_agente='.$row['id_agent'].'&'.'loginhash=auto&'.'loginhash_data='.$row['hashdata'].'&'.'loginhash_user='.str_rot13($row['user']).'">';
|
||||||
$agent_alias = ui_print_truncate_text(
|
$agent_alias = ui_print_truncate_text(
|
||||||
$agent_alias,
|
$agent_alias,
|
||||||
'agent_small',
|
'agent_small',
|
||||||
@ -1309,7 +1382,7 @@ if (!empty($result)) {
|
|||||||
$data[1] = $agent_alias;
|
$data[1] = $agent_alias;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$data[1] = '<strong><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$row['id_agent'].'">';
|
$data[1] = '<strong><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$row['id_agent'].'">';
|
||||||
$data[1] .= ui_print_truncate_text($agent_alias, 'agent_medium', false, true, false, '[…]', 'font-size:7.5pt;');
|
$data[1] .= ui_print_truncate_text($agent_alias, 'agent_medium', false, true, false, '[…]', 'font-size:7.5pt;');
|
||||||
$data[1] .= '</a></strong>';
|
$data[1] .= '</a></strong>';
|
||||||
}
|
}
|
||||||
@ -1325,9 +1398,9 @@ if (!empty($result)) {
|
|||||||
$show_edit_icon = false;
|
$show_edit_icon = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$url_edit_module = $row['server_url'].'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1'.'&loginhash=auto&loginhash_data='.$row['hashdata'].'&loginhash_user='.str_rot13($row['user']);
|
$url_edit_module = $row['server_url'].'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1'.'&loginhash=auto&loginhash_data='.$row['hashdata'].'&loginhash_user='.str_rot13($row['user']);
|
||||||
} else {
|
} else {
|
||||||
$url_edit_module = 'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1';
|
$url_edit_module = 'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($show_edit_icon) {
|
if ($show_edit_icon) {
|
||||||
@ -1750,24 +1823,13 @@ if (!empty($result)) {
|
|||||||
|
|
||||||
// End Build List Result.
|
// End Build List Result.
|
||||||
echo "<div id='monitor_details_window'></div>";
|
echo "<div id='monitor_details_window'></div>";
|
||||||
// Strict user hidden.
|
|
||||||
echo '<div id="strict_hidden" style="display:none;">';
|
|
||||||
html_print_input_text('strict_user_hidden', $strict_user);
|
|
||||||
echo '</div>';
|
|
||||||
|
|
||||||
enterprise_hook('close_meta_frame');
|
enterprise_hook('close_meta_frame');
|
||||||
|
|
||||||
ui_require_javascript_file('pandora_modules');
|
ui_require_javascript_file('pandora_modules');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<script type='text/javascript'>
|
<script type="text/javascript">
|
||||||
$(document).ready (function () {
|
|
||||||
if ($('#ag_group').val() != 0) {
|
|
||||||
$('#tag_filter').css('display', 'none');
|
|
||||||
$('#tag_td').css('display', 'none');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$('#moduletype').click(function() {
|
$('#moduletype').click(function() {
|
||||||
jQuery.get (
|
jQuery.get (
|
||||||
@ -1789,17 +1851,6 @@ $('#moduletype').click(function() {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#ag_group').change (function () {
|
|
||||||
strict_user = $('#text-strict_user_hidden').val();
|
|
||||||
|
|
||||||
if (($('#ag_group').val() != 0) && (strict_user != 0)) {
|
|
||||||
$('#tag_filter').css('display', 'none');
|
|
||||||
$('#tag_td').css('display', 'none');
|
|
||||||
} else {
|
|
||||||
$('#tag_filter').css('display', '');
|
|
||||||
$('#tag_td').css('display', '');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function toggle_full_value(id) {
|
function toggle_full_value(id) {
|
||||||
text = $('#hidden_value_module_' + id).html();
|
text = $('#hidden_value_module_' + id).html();
|
||||||
|
@ -444,7 +444,7 @@ $user_filter = db_get_row_sql(
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Do not load the user filter if we come from the 24h event graph
|
// Do not load the user filter if we come from the 24h event graph.
|
||||||
$from_event_graph = get_parameter('filter[from_event_graph]', $filter['from_event_graph']);
|
$from_event_graph = get_parameter('filter[from_event_graph]', $filter['from_event_graph']);
|
||||||
if ($user_filter !== false && $from_event_graph != 1) {
|
if ($user_filter !== false && $from_event_graph != 1) {
|
||||||
$filter = events_get_event_filter($user_filter['id_filter']);
|
$filter = events_get_event_filter($user_filter['id_filter']);
|
||||||
@ -457,6 +457,13 @@ if ($user_filter !== false && $from_event_graph != 1) {
|
|||||||
$text_agent = $filter['text_agent'];
|
$text_agent = $filter['text_agent'];
|
||||||
$id_agent = $filter['id_agent'];
|
$id_agent = $filter['id_agent'];
|
||||||
$id_agent_module = $filter['id_agent_module'];
|
$id_agent_module = $filter['id_agent_module'];
|
||||||
|
$text_module = io_safe_output(
|
||||||
|
db_get_value_filter(
|
||||||
|
'nombre',
|
||||||
|
'tagente_modulo',
|
||||||
|
['id_agente_modulo' => $filter['id_agent_module']]
|
||||||
|
)
|
||||||
|
);
|
||||||
$pagination = $filter['pagination'];
|
$pagination = $filter['pagination'];
|
||||||
$event_view_hr = $filter['event_view_hr'];
|
$event_view_hr = $filter['event_view_hr'];
|
||||||
$id_user_ack = $filter['id_user_ack'];
|
$id_user_ack = $filter['id_user_ack'];
|
||||||
@ -893,13 +900,17 @@ if (is_metaconsole() !== true) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Group.
|
// Group.
|
||||||
|
if ($id_group_filter === null) {
|
||||||
|
$id_group_filter = 0;
|
||||||
|
}
|
||||||
|
|
||||||
$data = html_print_input(
|
$data = html_print_input(
|
||||||
[
|
[
|
||||||
'name' => 'id_group_filter',
|
'name' => 'id_group_filter',
|
||||||
'returnAllGroup' => true,
|
'returnAllGroup' => true,
|
||||||
'privilege' => 'AR',
|
'privilege' => 'AR',
|
||||||
'type' => 'select_groups',
|
'type' => 'select_groups',
|
||||||
'selected' => (defined($id_group_filter) ? $id_group_filter : 0),
|
'selected' => $id_group_filter,
|
||||||
'nothing' => false,
|
'nothing' => false,
|
||||||
'return' => true,
|
'return' => true,
|
||||||
'size' => '80%',
|
'size' => '80%',
|
||||||
@ -2019,6 +2030,9 @@ function process_datatables_item(item) {
|
|||||||
|
|
||||||
/* Group name */
|
/* Group name */
|
||||||
if (item.id_grupo == "0") {
|
if (item.id_grupo == "0") {
|
||||||
|
var severity_value = "<?php echo $severity; ?>";
|
||||||
|
const multiple = severity_value.split(",");
|
||||||
|
$("#severity").val(multiple);
|
||||||
item.id_grupo = "<?php echo __('All'); ?>";
|
item.id_grupo = "<?php echo __('All'); ?>";
|
||||||
} else {
|
} else {
|
||||||
item.id_grupo = item.group_name;
|
item.id_grupo = item.group_name;
|
||||||
@ -2343,8 +2357,7 @@ $(document).ready( function() {
|
|||||||
url: '<?php echo ui_get_full_url('ajax.php'); ?>',
|
url: '<?php echo ui_get_full_url('ajax.php'); ?>',
|
||||||
data: {
|
data: {
|
||||||
page: 'include/ajax/events',
|
page: 'include/ajax/events',
|
||||||
load_filter_modal: 1,
|
load_filter_modal: 1
|
||||||
current_filter: $('#latest_filter_id').val()
|
|
||||||
},
|
},
|
||||||
success: function (data){
|
success: function (data){
|
||||||
$('#load-modal-filter')
|
$('#load-modal-filter')
|
||||||
|
@ -311,7 +311,7 @@ if ($user_filter != 0 && empty($id_name) && !$update_from_filter_table) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Build the condition of the events query.
|
// Build the condition of the events query.
|
||||||
$sql_post = '';
|
$sql_post = ' WHERE 1=1 ';
|
||||||
|
|
||||||
$id_user = $config['id_user'];
|
$id_user = $config['id_user'];
|
||||||
|
|
||||||
@ -1214,7 +1214,7 @@ if ($group_rep == 0) {
|
|||||||
$sql = 'SELECT COUNT(DISTINCT id_evento)
|
$sql = 'SELECT COUNT(DISTINCT id_evento)
|
||||||
FROM $event_table te
|
FROM $event_table te
|
||||||
$event_lj
|
$event_lj
|
||||||
WHERE 1=1 $sql_post';
|
$sql_post';
|
||||||
$total_events = (int) db_get_sql($sql);
|
$total_events = (int) db_get_sql($sql);
|
||||||
} else if ($group_rep == 1) {
|
} else if ($group_rep == 1) {
|
||||||
$total_events = events_get_events_grouped(
|
$total_events = events_get_events_grouped(
|
||||||
@ -1477,7 +1477,8 @@ $(document).ready( function() {
|
|||||||
$("#text-id_extra").val(val);
|
$("#text-id_extra").val(val);
|
||||||
if (i == 'user_comment')
|
if (i == 'user_comment')
|
||||||
$("#text-user_comment").val(val);
|
$("#text-user_comment").val(val);
|
||||||
|
if (i == 'module_search')
|
||||||
|
$("#text-module_search").val(val);
|
||||||
if(i == 'id_source_event')
|
if(i == 'id_source_event')
|
||||||
$("#text-id_source_event").val(val);
|
$("#text-id_source_event").val(val);
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ $table->data[0][2] = __('Type');
|
|||||||
$table->data[0][3] = html_print_checkbox('alert_fired', 'alert_fired', true, true, false, 'changeType();').__('Alert fired').'<br />'.html_print_checkbox('critical', 'critical', true, true, false, 'changeType();').__('Monitor critical').'<br />'.html_print_checkbox('unknown', 'unknown', true, true, false, 'changeType();').__('Monitor unknown').'<br />'.html_print_checkbox('warning', 'warning', true, true, false, 'changeType();').__('Monitor warning').'<br />';
|
$table->data[0][3] = html_print_checkbox('alert_fired', 'alert_fired', true, true, false, 'changeType();').__('Alert fired').'<br />'.html_print_checkbox('critical', 'critical', true, true, false, 'changeType();').__('Monitor critical').'<br />'.html_print_checkbox('unknown', 'unknown', true, true, false, 'changeType();').__('Monitor unknown').'<br />'.html_print_checkbox('warning', 'warning', true, true, false, 'changeType();').__('Monitor warning').'<br />';
|
||||||
|
|
||||||
$table->data[1][0] = __('Agent');
|
$table->data[1][0] = __('Agent');
|
||||||
$table->data[1][1] = html_print_select($agents, 'id_agents[]', true, false, '', '', true, true, '', '', '', 'width:120px; height:100px', '', false, '', '', true);
|
$table->data[1][1] = html_print_select($agents, 'id_agents[]', true, false, '', '', true, true, '', '', '', 'max-width:200px; height:100px', '', false, '', '', true);
|
||||||
|
|
||||||
$table->data[1][2] = __('Event');
|
$table->data[1][2] = __('Event');
|
||||||
$table->data[1][3] = html_print_textarea('events_fired', 200, 20, '', 'readonly="readonly" style="max-height:100px; background: #ddd; resize:none;"', true);
|
$table->data[1][3] = html_print_textarea('events_fired', 200, 20, '', 'readonly="readonly" style="max-height:100px; background: #ddd; resize:none;"', true);
|
||||||
@ -152,10 +152,26 @@ function changeGroup() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function changeType() {
|
function changeType() {
|
||||||
alert_fired = $("input[name=alert_fired]").attr('checked');
|
alert_fired = false;
|
||||||
critical = $("input[name=critical]").attr('checked');
|
critical = false;
|
||||||
warning = $("input[name=warning]").attr('checked');
|
warning = false;
|
||||||
unknown = $("input[name=unknown]").attr('checked');
|
unknown = false;
|
||||||
|
|
||||||
|
if($("input[name=alert_fired]").is(':checked') ) {
|
||||||
|
alert_fired = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($("input[name=critical]").is(':checked') ) {
|
||||||
|
critical = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($("input[name=warning]").is(':checked') ) {
|
||||||
|
warning = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($("input[name=unknown]").is(':checked') ) {
|
||||||
|
unknown = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleButton() {
|
function toggleButton() {
|
||||||
@ -256,9 +272,6 @@ $(document).ready (function () {
|
|||||||
setInterval("check_event()", (10 * 1000)); //10 seconds between ajax request
|
setInterval("check_event()", (10 * 1000)); //10 seconds between ajax request
|
||||||
$("#table1").css("background-color", "#fff");
|
$("#table1").css("background-color", "#fff");
|
||||||
$("#table2").css("background-color", "#fff");
|
$("#table2").css("background-color", "#fff");
|
||||||
|
|
||||||
group_width = $("#group").width();
|
|
||||||
$("#id_agents").width(group_width + 9);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.750
|
%define version 7.0NG.750
|
||||||
%define release 201029
|
%define release 201103
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.750
|
%define version 7.0NG.750
|
||||||
%define release 201029
|
%define release 201103
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.750
|
%define version 7.0NG.750
|
||||||
%define release 201029
|
%define release 201103
|
||||||
%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
|
||||||
|
@ -113,7 +113,7 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES
|
|||||||
('identification_reminder', 1),
|
('identification_reminder', 1),
|
||||||
('identification_reminder_timestamp', 0),
|
('identification_reminder_timestamp', 0),
|
||||||
('current_package_enterprise', 750),
|
('current_package_enterprise', 750),
|
||||||
('post_process_custom_values', '{"0.00000038580247":"Seconds to months","0.00000165343915":"Seconds to weeks","0.00001157407407":"Seconds to days","0.01666666666667":"Seconds to minutes","0.00000000093132":"Bytes to Gigabytes","0.00000095367432":"Bytes to Megabytes","0.0009765625":"Bytes to Kilobytes","0.00000001653439":"Timeticks to weeks","0.00000011574074":"Timeticks to days"}'),
|
('post_process_custom_values', '{"0.00000038580247":"Seconds to months","0.00000165343915":"Seconds to weeks","0.00001157407407":"Seconds to days","0.01666666666667":"Seconds to minutes","0.00000000093132":"Bytes to Gigabytes","0.00000095367432":"Bytes to Megabytes","0.00097656250000":"Bytes to Kilobytes","0.00000001653439":"Timeticks to weeks","0.00000011574074":"Timeticks to days"}'),
|
||||||
('custom_docs_logo', 'default_docs.png'),
|
('custom_docs_logo', 'default_docs.png'),
|
||||||
('custom_support_logo', 'default_support.png'),
|
('custom_support_logo', 'default_support.png'),
|
||||||
('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png'),
|
('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png'),
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.750-201029
|
Version: 7.0NG.750-201103
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -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.750-201029"
|
pandora_version="7.0NG.750-201103"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -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.750";
|
my $pandora_version = "7.0NG.750";
|
||||||
my $pandora_build = "201029";
|
my $pandora_build = "201103";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
|
@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
|
|||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.750";
|
my $pandora_version = "7.0NG.750";
|
||||||
my $pandora_build = "201029";
|
my $pandora_build = "201103";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.750
|
%define version 7.0NG.750
|
||||||
%define release 201029
|
%define release 201103
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.750
|
%define version 7.0NG.750
|
||||||
%define release 201029
|
%define release 201103
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.750"
|
PI_VERSION="7.0NG.750"
|
||||||
PI_BUILD="201029"
|
PI_BUILD="201103"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
@ -35,7 +35,7 @@ use PandoraFMS::Config;
|
|||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.750 PS201029";
|
my $version = "7.0NG.750 PS201103";
|
||||||
|
|
||||||
# Pandora server configuration
|
# Pandora server configuration
|
||||||
my %conf;
|
my %conf;
|
||||||
|
@ -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.750 PS201029";
|
my $version = "7.0NG.750 PS201103";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user