mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-30 17:25:26 +02:00
Merge remote-tracking branch 'origin/develop' into ent-8161-deshabilitar-reglas-de-autoconfiguracion-en-nodos-a-demanda
Conflicts: pandora_console/extras/mr/52.sql pandora_console/pandoradb.sql
This commit is contained in:
commit
9ba2eb0c74
@ -82,10 +82,10 @@ execute_cmd "[ $PANDORA_SERVER_IP ]" 'Check Server IP Address' 'Please define e
|
||||
# Check OS.
|
||||
OS=$([[ $(grep '^ID_LIKE=' /etc/os-release) ]] && grep ^ID_LIKE= /etc/os-release | cut -d '=' -f2 | tr -d '"' || grep ^ID= /etc/os-release | cut -d '=' -f2 | tr -d '"')
|
||||
|
||||
[[ $OS == 'rhel fedora' ]] && OS_RELEASE=$OS
|
||||
[[ $OS == 'fedora' ]] && OS_RELEASE=$OS
|
||||
[[ $OS == 'centos rhel fedora' ]] && OS_RELEASE=$OS
|
||||
[[ $OS == 'debian' ]] && OS_RELEASE=$OS
|
||||
[[ $OS =~ 'rhel' ]] && OS_RELEASE=$OS
|
||||
[[ $OS =~ 'debian' ]] && OS_RELEASE=$OS
|
||||
#[[ $OS == 'rhel fedora' ]] && OS_RELEASE=$OS
|
||||
#[[ $OS == 'centos rhel fedora' ]] && OS_RELEASE=$OS
|
||||
|
||||
# initialice logfile
|
||||
execute_cmd "echo 'Starting community deployment' > $LOGFILE" "All installer activity is logged on $LOGFILE"
|
||||
@ -113,7 +113,7 @@ execute_cmd "cd $HOME/pandora_deploy_tmp" "Moving to workspace: $HOME/pandora_d
|
||||
|
||||
# Downloading and installing packages
|
||||
|
||||
if [[ $OS_RELEASE == 'rhel fedora' ]] || [[ $OS_RELEASE == 'centos rhel fedora' ]]; then
|
||||
if [[ $OS_RELEASE =~ 'rhel' ]]; then
|
||||
yum install -y perl wget curl perl-Sys-Syslog unzip &>> $LOGFILE
|
||||
echo -e "${cyan}Instaling agent dependencies...${reset}" ${green}OK${reset}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.759-220207
|
||||
Version: 7.0NG.759-220210
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
@ -14,7 +14,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.759-220207"
|
||||
pandora_version="7.0NG.759-220210"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
@ -1015,7 +1015,7 @@ my $Sem = undef;
|
||||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '7.0NG.759';
|
||||
use constant AGENT_BUILD => '220207';
|
||||
use constant AGENT_BUILD => '220210';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.759
|
||||
%define release 220207
|
||||
%define release 220210
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.759
|
||||
%define release 220207
|
||||
%define release 220210
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
@ -10,7 +10,7 @@
|
||||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.759"
|
||||
PI_BUILD="220207"
|
||||
PI_BUILD="220210"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
||||
{}
|
||||
|
||||
Version
|
||||
{220207}
|
||||
{220210}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
||||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("7.0NG.759 Build 220207")
|
||||
#define PANDORA_VERSION ("7.0NG.759 Build 220210")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
@ -11,7 +11,7 @@ BEGIN
|
||||
VALUE "LegalCopyright", "Artica ST"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(7.0NG.759(Build 220207))"
|
||||
VALUE "ProductVersion", "(7.0NG.759(Build 220210))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
@ -1,5 +1,5 @@
|
||||
package: pandorafms-console
|
||||
Version: 7.0NG.759-220207
|
||||
Version: 7.0NG.759-220210
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
@ -14,7 +14,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.759-220207"
|
||||
pandora_version="7.0NG.759-220210"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
@ -89,7 +89,11 @@ if (isset($_GET['loginhash']) === true) {
|
||||
$config['id_user'] = $loginhash_user;
|
||||
} else {
|
||||
include_once 'general/login_page.php';
|
||||
db_pandora_audit('Logon Failed (loginhash', '', 'system');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_USER_REGISTRATION,
|
||||
'Loginhash failed',
|
||||
'system'
|
||||
);
|
||||
while (ob_get_length() > 0) {
|
||||
ob_end_flush();
|
||||
}
|
||||
@ -111,8 +115,8 @@ if (class_exists($auth_class) === false || $public_hash === false) {
|
||||
} else {
|
||||
if ($auth_class::validatePublicHash($public_hash) === false) {
|
||||
db_pandora_audit(
|
||||
'Invalid public hash',
|
||||
'Trying to access public dashboard'
|
||||
AUDIT_LOG_USER_REGISTRATION,
|
||||
'Trying to access public dashboard (Invalid public hash)'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
|
@ -284,7 +284,7 @@ function mainAgentsModules()
|
||||
// ACL Check.
|
||||
if (! check_acl($config['id_user'], 0, 'AR')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent view (Grouped)'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -304,7 +304,10 @@ function mainAgentsModules()
|
||||
|
||||
db_process_sql_update('tagente_modulo', ['flag' => 1], $where);
|
||||
} else {
|
||||
db_pandora_audit('ACL Violation', 'Trying to set flag for groups');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to set flag for groups'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ function extension_api_checker()
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Profile Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -32,7 +32,7 @@ function extension_db_status()
|
||||
|
||||
if (!is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access db status'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -89,7 +89,10 @@ function dbmgr_extension_main()
|
||||
global $config;
|
||||
|
||||
if (!is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Setup Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Setup Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
@ -143,7 +146,13 @@ function dbmgr_extension_main()
|
||||
echo '<strong>An error has occured when querying the database.</strong><br />';
|
||||
echo $error;
|
||||
|
||||
db_pandora_audit('DB Interface Extension', 'Error in SQL', false, false, $sql);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_SYSTEM,
|
||||
'DB Interface Extension. Error in SQL',
|
||||
false,
|
||||
false,
|
||||
$sql
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -151,7 +160,13 @@ function dbmgr_extension_main()
|
||||
if (! is_array($result)) {
|
||||
echo '<strong>Output: <strong>'.$result;
|
||||
|
||||
db_pandora_audit('DB Interface Extension', 'SQL', false, false, $sql);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_SYSTEM,
|
||||
'DB Interface Extension. SQL',
|
||||
false,
|
||||
false,
|
||||
$sql
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -16,7 +16,10 @@ function load_matrix_console()
|
||||
global $config;
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'ER')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access event viewer');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access event viewer'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ function extension_uploader_extensions()
|
||||
|
||||
if (!check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -61,7 +61,10 @@ function extension_uploader_extensions()
|
||||
}
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Extension manager', 'Upload extension '.$_FILES['extension']['name']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_EXTENSION_MANAGER,
|
||||
'Upload extension '.$_FILES['extension']['name']
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
|
@ -106,7 +106,10 @@ function pandora_files_repo_godmode()
|
||||
// ACL Check
|
||||
check_login();
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access to Files repository');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access to Files repository'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -58,7 +58,10 @@ function mainInsertData()
|
||||
ui_print_page_header(__('Insert data'), 'images/extensions.png', false, '', true, '');
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW') && ! is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Setup Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Setup Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -15,7 +15,10 @@ global $config;
|
||||
|
||||
if (is_ajax()) {
|
||||
if (! check_acl($config['id_user'], 0, 'ER')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access event viewer');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access event viewer'
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ check_login();
|
||||
// ACL Check.
|
||||
if (!check_acl($config['id_user'], 0, 'AR')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Module Groups view'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -56,7 +56,10 @@ function pandoralogs_extension_main()
|
||||
global $config;
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Setup Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Setup Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ function quickShell()
|
||||
|
||||
if (check_acl($config['id_user'], 0, 'PM') === false) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Profile Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -29,7 +29,10 @@ if (isset($_GET['get_ptr'])) {
|
||||
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Setup Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Setup Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
@ -404,7 +407,10 @@ function resource_exportation_extension_main()
|
||||
check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Setup Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Setup Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -143,14 +143,14 @@ function process_upload_xml_report($xml, $group_filter=0)
|
||||
|
||||
if ($id_report) {
|
||||
db_pandora_audit(
|
||||
'Report management',
|
||||
AUDIT_LOG_REPORT_MANAGEMENT,
|
||||
'Create report '.$id_report,
|
||||
false,
|
||||
false
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Report management',
|
||||
AUDIT_LOG_REPORT_MANAGEMENT,
|
||||
'Fail to create report',
|
||||
false,
|
||||
false
|
||||
@ -554,7 +554,11 @@ function process_upload_xml_visualmap($xml, $filter_group=0)
|
||||
);
|
||||
|
||||
if ($id_visual_map !== false) {
|
||||
db_pandora_audit('CREATE VISUAL CONSOLE', $id_visual_map, $config['id_user']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_VISUAL_CONSOLE_MANAGEMENT,
|
||||
sprintf('Create Visual Console #%s', $id_visual_map),
|
||||
$config['id_user']
|
||||
);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
@ -716,7 +720,11 @@ function process_upload_xml_visualmap($xml, $filter_group=0)
|
||||
);
|
||||
|
||||
if ($id_item !== false) {
|
||||
db_pandora_audit('CREATE ITEM VISUAL CONSOLE', $values['id_layout'].' - '.$id_item, $config['id_user']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_VISUAL_CONSOLE_MANAGEMENT,
|
||||
sprintf('Create Item %s in Visual Console #%s', $id_item, $values['id_layout']),
|
||||
$config['id_user']
|
||||
);
|
||||
}
|
||||
} else {
|
||||
foreach ($agents_in_item as $id => $agent) {
|
||||
@ -725,7 +733,7 @@ function process_upload_xml_visualmap($xml, $filter_group=0)
|
||||
|
||||
$id_item = db_process_sql_insert('tlayout_data', $values);
|
||||
|
||||
if (isset($item->other_id)) {
|
||||
if (isset($item->other_id) === true) {
|
||||
$relation_other_ids[(string) $item->other_id] = $id_item;
|
||||
}
|
||||
|
||||
@ -736,9 +744,14 @@ function process_upload_xml_visualmap($xml, $filter_group=0)
|
||||
);
|
||||
|
||||
if ($id_item !== false) {
|
||||
db_pandora_audit('CREATE ITEM VISUAL CONSOLE', $values['id_layout'].' - '.$id_item, $config['id_user']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_VISUAL_CONSOLE_MANAGEMENT,
|
||||
sprintf('Create Item %s in Visual Console #%s', $id_item, $values['id_layout']),
|
||||
$config['id_user']
|
||||
);
|
||||
}
|
||||
} else {
|
||||
// TODO: Review this else.
|
||||
foreach ($agent['modules'] as $id_module => $module) {
|
||||
$values['id_agent'] = $id;
|
||||
$values['id_agente_modulo'] = $id_module;
|
||||
@ -752,7 +765,11 @@ function process_upload_xml_visualmap($xml, $filter_group=0)
|
||||
);
|
||||
|
||||
if ($id_item !== false) {
|
||||
db_pandora_audit('CREATE ITEM VISUAL CONSOLE', $values['id_layout'].' - '.$id_item, $config['id_user']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_VISUAL_CONSOLE_MANAGEMENT,
|
||||
sprintf('Create Item %s in Visual Console #%s', $id_item, $values['id_layout']),
|
||||
$config['id_user']
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1063,7 +1080,10 @@ function resource_registration_extension_main()
|
||||
global $config;
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Setup Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Setup Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -117,4 +117,6 @@ mobile/include/style/jquery.mobile-1.3.1.css
|
||||
godmode/alerts/configure_alert_special_days.php
|
||||
godmode/admin_access_logs.php
|
||||
enterprise/extensions/backup/main.php
|
||||
enterprise/extensions/backup.php
|
||||
enterprise/extensions/backup.php
|
||||
mobile/include/javascript/jquery.mobile-1.4.5.js
|
||||
mobile/include/style/jquery.mobile-1.4.5.css
|
@ -3,6 +3,17 @@ ALTER TABLE `tpolicy_queue` MODIFY COLUMN `progress` int(10) NOT NULL default '0
|
||||
CREATE INDEX `IDX_tservice_element` ON `tservice_element`(`id_service`,`id_agente_modulo`);
|
||||
ALTER TABLE tevent_response ADD COLUMN display_command tinyint(1) default 0;
|
||||
|
||||
ALTER TABLE `talert_templates` ADD COLUMN `schedule` TEXT;
|
||||
ALTER TABLE `tevent_alert` ADD COLUMN `schedule` TEXT;
|
||||
|
||||
SOURCE procedures/alertTemplates.sql;
|
||||
CALL `migrateRanges`();
|
||||
DROP PROCEDURE `migrateRanges`;
|
||||
|
||||
SOURCE procedures/alertEvents.sql;
|
||||
CALL `migrateEventRanges`();
|
||||
DROP PROCEDURE `migrateEventRanges`;
|
||||
|
||||
ALTER TABLE `tautoconfig` ADD COLUMN `disabled` TINYINT DEFAULT 0;
|
||||
|
||||
COMMIT;
|
||||
COMMIT;
|
||||
|
40
pandora_console/extras/mr/procedures/alertEvents.sql
Normal file
40
pandora_console/extras/mr/procedures/alertEvents.sql
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
CREATE PROCEDURE migrateEventRanges()
|
||||
BEGIN
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE i INT;
|
||||
DECLARE r TEXT;
|
||||
DECLARE cur1 CURSOR FOR SELECT `id` FROM `tevent_alert`;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
UPDATE `tevent_alert` SET `schedule` = '{"monday":_1_,"tuesday":_2_,"wednesday":_3_,"thursday":_4_,"friday":_5_,"saturday":_6_,"sunday":_7_}';
|
||||
UPDATE `tevent_alert` SET `time_from` = "00:00:00", `time_to` = "00:00:00" WHERE `time_from` = `time_to`;
|
||||
|
||||
OPEN cur1;
|
||||
read_loop: LOOP
|
||||
FETCH cur1 INTO i;
|
||||
|
||||
IF done THEN
|
||||
LEAVE read_loop;
|
||||
END IF;
|
||||
|
||||
SELECT concat('[{"start":"', `time_from`, '","end":"', `time_to`, '"}]') into r FROM `tevent_alert` WHERE `id` = i;
|
||||
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_1_", r) WHERE `monday` > 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_2_", r) WHERE `tuesday` > 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_3_", r) WHERE `wednesday` > 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_4_", r) WHERE `thursday` > 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_5_", r) WHERE `friday` > 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_6_", r) WHERE `saturday` > 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_7_", r) WHERE `sunday` > 0 AND `id` = i;
|
||||
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_1_", '""') WHERE `monday` = 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_2_", '""') WHERE `tuesday` = 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_3_", '""') WHERE `wednesday` = 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_4_", '""') WHERE `thursday` = 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_5_", '""') WHERE `friday` = 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_6_", '""') WHERE `saturday` = 0 AND `id` = i;
|
||||
UPDATE `tevent_alert` SET `schedule` = REPLACE(`schedule`, "_7_", '""') WHERE `sunday` = 0 AND `id` = i;
|
||||
END LOOP;
|
||||
CLOSE cur1;
|
||||
END ;
|
40
pandora_console/extras/mr/procedures/alertTemplates.sql
Normal file
40
pandora_console/extras/mr/procedures/alertTemplates.sql
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
CREATE PROCEDURE migrateRanges()
|
||||
BEGIN
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE i INT;
|
||||
DECLARE r TEXT;
|
||||
DECLARE cur1 CURSOR FOR SELECT `id` FROM `talert_templates`;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
UPDATE `talert_templates` SET `schedule` = '{"monday":_1_,"tuesday":_2_,"wednesday":_3_,"thursday":_4_,"friday":_5_,"saturday":_6_,"sunday":_7_}';
|
||||
UPDATE `talert_templates` SET `time_from` = "00:00:00", `time_to` = "00:00:00" WHERE `time_from` = `time_to`;
|
||||
|
||||
OPEN cur1;
|
||||
read_loop: LOOP
|
||||
FETCH cur1 INTO i;
|
||||
|
||||
IF done THEN
|
||||
LEAVE read_loop;
|
||||
END IF;
|
||||
|
||||
SELECT concat('[{"start":"', `time_from`, '","end":"', `time_to`, '"}]') into r FROM `talert_templates` WHERE `id` = i;
|
||||
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_1_", r) WHERE `monday` > 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_2_", r) WHERE `tuesday` > 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_3_", r) WHERE `wednesday` > 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_4_", r) WHERE `thursday` > 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_5_", r) WHERE `friday` > 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_6_", r) WHERE `saturday` > 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_7_", r) WHERE `sunday` > 0 AND `id` = i;
|
||||
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_1_", '""') WHERE `monday` = 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_2_", '""') WHERE `tuesday` = 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_3_", '""') WHERE `wednesday` = 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_4_", '""') WHERE `thursday` = 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_5_", '""') WHERE `friday` = 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_6_", '""') WHERE `saturday` = 0 AND `id` = i;
|
||||
UPDATE `talert_templates` SET `schedule` = REPLACE(`schedule`, "_7_", '""') WHERE `sunday` = 0 AND `id` = i;
|
||||
END LOOP;
|
||||
CLOSE cur1;
|
||||
END ;
|
@ -715,6 +715,7 @@ ALTER TABLE `tevent_alert` ADD COLUMN `id_template_conditions` int(10) unsigned
|
||||
ALTER TABLE `tevent_alert` ADD COLUMN `id_template_fields` int(10) unsigned NOT NULL default 0;
|
||||
ALTER TABLE `tevent_alert` ADD COLUMN `last_evaluation` bigint(20) NOT NULL default 0;
|
||||
ALTER TABLE `tevent_alert` ADD COLUMN `pool_occurrences` int unsigned not null default 0;
|
||||
ALTER TABLE `tevent_alert` ADD COLUMN `schedule` TEXT;
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `tevent_alert_action`
|
||||
@ -1317,6 +1318,7 @@ ALTER TABLE talert_templates ADD COLUMN `field18_recovery` TEXT NOT NULL DEFAULT
|
||||
ALTER TABLE talert_templates ADD COLUMN `field19_recovery` TEXT NOT NULL DEFAULT "";
|
||||
ALTER TABLE talert_templates ADD COLUMN `field20_recovery` TEXT NOT NULL DEFAULT "";
|
||||
ALTER TABLE `talert_templates` ADD COLUMN `disable_event` tinyint(1) DEFAULT 0;
|
||||
ALTER TABLE `talert_templates` ADD COLUMN `schedule` TEXT;
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `talert_snmp`
|
||||
@ -1451,13 +1453,13 @@ ALTER TABLE `ttag` MODIFY COLUMN `name` text NOT NULL default '';
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('big_operation_step_datos_purge', '100');
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('small_operation_step_datos_purge', '1000');
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('days_autodisable_deletion', '30');
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('MR', 51);
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('MR', 52);
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_docs_logo', 'default_docs.png');
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_support_logo', 'default_support.png');
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png');
|
||||
UPDATE tconfig SET value = 'https://licensing.artica.es/pandoraupdate7/server.php' WHERE token='url_update_manager';
|
||||
DELETE FROM `tconfig` WHERE `token` = 'current_package_enterprise';
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('current_package', 759);
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('current_package', 760);
|
||||
INSERT INTO `tconfig` (`token`, `value`) VALUES ('status_monitor_fields', 'policy,agent,data_type,module_name,server_type,interval,status,graph,warn,data,timestamp');
|
||||
UPDATE `tconfig` SET `value` = 'mini_severity,evento,id_agente,estado,timestamp' WHERE `token` LIKE 'event_fields';
|
||||
DELETE FROM `tconfig` WHERE `token` LIKE 'integria_api_password';
|
||||
|
@ -26,7 +26,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access HA cluster'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -17,7 +17,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AR') && ! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Inventory'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -27,7 +27,7 @@ $group = $id_grupo;
|
||||
|
||||
if (! check_acl($config['id_user'], $group, 'AW', $id_agente)) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access agent manager'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -154,7 +154,10 @@ ui_require_javascript_file('openlayers.pandora');
|
||||
$new_agent = (empty($id_agente)) ? true : false;
|
||||
|
||||
if (! isset($id_agente) && ! $new_agent) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access agent manager witout an agent');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access agent manager witout an agent'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ if (!check_acl_one_of_groups($config['id_user'], $all_groups, 'AW')) {
|
||||
|
||||
if (!$access_granted) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access agent manager'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -198,7 +198,10 @@ if ($create_agent) {
|
||||
$grupo = (int) get_parameter_post('grupo');
|
||||
|
||||
if ((bool) check_acl($config['id_user'], $grupo, 'AW') === false) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access agent manager');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access agent manager'
|
||||
);
|
||||
include $config['homedir'].'/general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
@ -352,7 +355,7 @@ if ($create_agent) {
|
||||
|
||||
$unsafe_alias = io_safe_output($alias);
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Created agent '.$unsafe_alias,
|
||||
false,
|
||||
true,
|
||||
@ -1243,7 +1246,7 @@ if ($update_agent) {
|
||||
|
||||
ui_print_success_message(__('Successfully updated'));
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Updated agent '.io_safe_output($alias),
|
||||
false,
|
||||
false,
|
||||
@ -1259,7 +1262,10 @@ if ($id_agente) {
|
||||
// This has been done in the beginning of the page, but if an agent was created, this id might change.
|
||||
$id_grupo = agents_get_agent_group($id_agente);
|
||||
if (!check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') && !check_acl_one_of_groups($config['id_user'], $all_groups, 'AD')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to admin an agent without access');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to admin an agent without access'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
}
|
||||
@ -1319,7 +1325,7 @@ if ($update_module || $create_module) {
|
||||
|
||||
if (! check_acl_one_of_groups($config['id_user'], $all_groups, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to create a module without admin rights'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -1803,7 +1809,7 @@ if ($update_module) {
|
||||
$edit_module = true;
|
||||
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
"Fail to try update module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias'])
|
||||
);
|
||||
} else {
|
||||
@ -1827,7 +1833,7 @@ if ($update_module) {
|
||||
$agent = db_get_row('tagente', 'id_agente', $id_agente);
|
||||
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
"Updated module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias']),
|
||||
false,
|
||||
false,
|
||||
@ -1989,7 +1995,7 @@ if ($create_module) {
|
||||
$edit_module = true;
|
||||
$moduletype = $id_module;
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
"Fail to try added module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias'])
|
||||
);
|
||||
} else {
|
||||
@ -2014,7 +2020,7 @@ if ($create_module) {
|
||||
|
||||
$agent = db_get_row('tagente', 'id_agente', $id_agente);
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
"Added module '".io_safe_output($name)."' for agent ".io_safe_output($agent['alias']),
|
||||
false,
|
||||
true,
|
||||
@ -2049,12 +2055,12 @@ if ($enable_module) {
|
||||
$success_action = $result;
|
||||
if ($result === NOERR) {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Enable #'.$enable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail to enable #'.$enable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||
);
|
||||
}
|
||||
@ -2084,12 +2090,12 @@ if ($disable_module) {
|
||||
|
||||
if ($result === NOERR) {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail to disable #'.$disable_module.' | '.$module_name.' | '.io_safe_output($agent['alias'])
|
||||
);
|
||||
}
|
||||
@ -2133,7 +2139,7 @@ if ($delete_module) {
|
||||
|
||||
if (! check_acl_one_of_groups($config['id_user'], $all_groups, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to delete a module without admin rights'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -2143,7 +2149,7 @@ if ($delete_module) {
|
||||
|
||||
if (empty($module_data) || $id_borrar_modulo < 1) {
|
||||
db_pandora_audit(
|
||||
'HACK Attempt',
|
||||
AUDIT_LOG_HACK_ATTEMPT,
|
||||
'Expected variable from form is not correct'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -2165,7 +2171,7 @@ if ($delete_module) {
|
||||
|
||||
$agent = db_get_row('tagente', 'id_agente', $id_agente);
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
"Deleted module '".io_safe_output($module_data['nombre'])."' for agent ".io_safe_output($agent['alias'])
|
||||
);
|
||||
}
|
||||
@ -2206,12 +2212,12 @@ if (!empty($duplicate_module)) {
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
"Duplicate module '".$id_duplicate_module."' for agent ".$agent['alias'].' with the new id for clon '.$result
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
"Fail to try duplicate module '".$id_duplicate_module."' for agent ".$agent['alias']
|
||||
);
|
||||
}
|
||||
@ -2225,9 +2231,15 @@ if ($enable_module) {
|
||||
|
||||
if ($result === NOERR) {
|
||||
enterprise_hook('config_agents_enable_module_conf', [$id_agente, $enable_module]);
|
||||
db_pandora_audit('Module management', 'Enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Module management', 'Fail to enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail to enable #'.$enable_module.' | '.$modulo_nombre.' | '.$agent['alias']
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
@ -2244,9 +2256,15 @@ if ($disable_module) {
|
||||
|
||||
if ($result === NOERR) {
|
||||
enterprise_hook('config_agents_disable_module_conf', [$id_agente, $disable_module]);
|
||||
db_pandora_audit('Module management', 'Disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Module management', 'Fail to disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail to disable #'.$disable_module.' | '.$modulo_nombre.' | '.$agent['alias']
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
|
@ -16,7 +16,10 @@ global $config;
|
||||
check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Group Management2');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ check_login();
|
||||
|
||||
if (!check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -58,7 +58,7 @@ if (! check_acl(
|
||||
)
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access agent manager'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -158,7 +158,7 @@ if ($agent_to_delete) {
|
||||
} else {
|
||||
// NO permissions.
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
"Trying to delete agent \'".agents_get_name($id_agente)."\'"
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -219,12 +219,12 @@ if ($enable_agent) {
|
||||
]
|
||||
);
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Enable '.$alias
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Fail to enable '.$alias
|
||||
);
|
||||
}
|
||||
@ -262,12 +262,12 @@ if ($disable_agent) {
|
||||
);
|
||||
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Disable '.$alias
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Fail to disable '.$alias
|
||||
);
|
||||
}
|
||||
|
@ -261,7 +261,7 @@ if ($module_action === 'delete') {
|
||||
|
||||
if (! check_acl_one_of_groups($config['id_user'], $all_groups, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to delete a module without admin rights'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -549,7 +549,7 @@ if ($is_function_policies !== ENTERPRISE_NOT_HOOK) {
|
||||
);
|
||||
|
||||
db_pandora_audit(
|
||||
'Agent management',
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Re-link module '.$id_agent_module
|
||||
);
|
||||
}
|
||||
@ -562,7 +562,10 @@ if ($is_function_policies !== ENTERPRISE_NOT_HOOK) {
|
||||
__('Module will be unlinked in the next application')
|
||||
);
|
||||
|
||||
db_pandora_audit('Agent management', 'Unlink module '.$id_agent_module);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_AGENT_MANAGEMENT,
|
||||
'Unlink module '.$id_agent_module
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -582,7 +585,7 @@ if ($__code_from !== 'policies') {
|
||||
|
||||
if (!$tag_acl) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access agent manager'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -73,7 +73,7 @@ if ($edit_networkmap) {
|
||||
|
||||
if (!$networkmap_write && !$networkmap_manage) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access networkmap'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -38,7 +38,7 @@ $agent_w = check_acl($config['id_user'], 0, 'AW');
|
||||
$access = ($agent_d == true) ? 'AD' : (($agent_w == true) ? 'AW' : 'AD');
|
||||
if (!$agent_d && !$agent_w) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -170,7 +170,7 @@ if ($delete_downtime_agent === 1) {
|
||||
|| !in_array($downtime_group, $user_groups_ad)
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -189,7 +189,7 @@ if ($delete_downtime_agent === 1) {
|
||||
|| !in_array($agent_group, $user_groups_ad)
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -266,7 +266,7 @@ if ($create_downtime || $update_downtime) {
|
||||
// Check AD permission on new downtime.
|
||||
if (!in_array($id_group, $user_groups_ad)) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -324,7 +324,7 @@ if ($create_downtime || $update_downtime) {
|
||||
// Check AD permission on OLD downtime.
|
||||
if (empty($old_downtime) || !in_array($old_downtime['id_group'], $user_groups_ad)) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -334,7 +334,7 @@ if ($create_downtime || $update_downtime) {
|
||||
// Check AD permission on NEW downtime group.
|
||||
if (!in_array($id_group, $user_groups_ad)) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -498,7 +498,7 @@ if ($id_downtime > 0) {
|
||||
// Permission check for the downtime with the AD user groups
|
||||
if (empty($result) || !in_array($result['id_group'], $user_groups_ad)) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -639,20 +639,20 @@ $table->data[5][1] = "
|
||||
<tr><td>".ui_get_using_system_timezone_warning().'</td></tr>
|
||||
<tr>
|
||||
<td>'.__('Type Periodicity:').' '.html_print_select(
|
||||
[
|
||||
'weekly' => __('Weekly'),
|
||||
'monthly' => __('Monthly'),
|
||||
],
|
||||
'type_periodicity',
|
||||
$type_periodicity,
|
||||
'change_type_periodicity();',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
[
|
||||
'weekly' => __('Weekly'),
|
||||
'monthly' => __('Monthly'),
|
||||
],
|
||||
'type_periodicity',
|
||||
$type_periodicity,
|
||||
'change_type_periodicity();',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
)."</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -672,31 +672,31 @@ $table->data[5][1] = "
|
||||
<tr>
|
||||
<td>".__('From day:').'</td>
|
||||
<td>'.html_print_select(
|
||||
$days,
|
||||
'periodically_day_from',
|
||||
$periodically_day_from,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
$days,
|
||||
'periodically_day_from',
|
||||
$periodically_day_from,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
).'</td>
|
||||
<td>'.__('To day:').'</td>
|
||||
<td>'.html_print_select(
|
||||
$days,
|
||||
'periodically_day_to',
|
||||
$periodically_day_to,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
$days,
|
||||
'periodically_day_to',
|
||||
$periodically_day_to,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
'',
|
||||
$disabled_in_execution
|
||||
).'</td>
|
||||
<td>'.ui_print_help_tip(__('The end day must be higher than the start day'), true).'</td>
|
||||
</tr>
|
||||
@ -705,26 +705,26 @@ $table->data[5][1] = "
|
||||
<tr>
|
||||
<td>'.__('From hour:').'</td>
|
||||
<td>'.html_print_input_text(
|
||||
'periodically_time_from',
|
||||
$periodically_time_from,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
'periodically_time_from',
|
||||
$periodically_time_from,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
).ui_print_help_tip(
|
||||
__('The end time must be higher than the start time'),
|
||||
true
|
||||
).'</td>
|
||||
<td>'.__('To hour:').'</td>
|
||||
<td>'.html_print_input_text(
|
||||
'periodically_time_to',
|
||||
$periodically_time_to,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
'periodically_time_to',
|
||||
$periodically_time_to,
|
||||
'',
|
||||
7,
|
||||
7,
|
||||
true,
|
||||
$disabled_in_execution
|
||||
).ui_print_help_tip(
|
||||
__('The end time must be higher than the start time'),
|
||||
true
|
||||
@ -1008,13 +1008,13 @@ $table->data['module'][1] = "
|
||||
<td class='cell_delete_button' style='text-align: right; width:10%;' id=''>".'<a class="link_delete"
|
||||
onclick="if(!confirm(\''.__('Are you sure?').'\')) return false;"
|
||||
href="">'.html_print_image(
|
||||
'images/cross.png',
|
||||
true,
|
||||
[
|
||||
'border' => '0',
|
||||
'alt' => __('Delete'),
|
||||
'class' => 'invert_filter',
|
||||
]
|
||||
'images/cross.png',
|
||||
true,
|
||||
[
|
||||
'border' => '0',
|
||||
'alt' => __('Delete'),
|
||||
'class' => 'invert_filter',
|
||||
]
|
||||
).'</a>'."</td>
|
||||
</tr>
|
||||
<tr class='datos2' id='add_modules_row'>
|
||||
@ -1093,7 +1093,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
|
||||
|| !in_array($downtime_group, $user_groups_ad)
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -23,7 +23,10 @@ require_once '../../include/functions_reporting.php';
|
||||
|
||||
$config['id_user'] = $_SESSION['id_usuario'];
|
||||
if (! check_acl($config['id_user'], 0, 'AR')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access downtime scheduler');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ $access = ($read_permisson == true) ? 'AR' : (($write_permisson == true) ? 'AD'
|
||||
|
||||
if (! $read_permisson && !$manage_permisson) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -70,7 +70,7 @@ if ($stop_downtime) {
|
||||
// Check AD permission on the downtime
|
||||
if (empty($downtime) || (! check_acl($config['id_user'], $downtime['id_group'], 'AD') && ! check_acl($config['id_user'], $downtime['id_group'], 'AW'))) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -94,7 +94,7 @@ if ($delete_downtime) {
|
||||
// Check AD permission on the downtime
|
||||
if (empty($downtime) || (! check_acl($config['id_user'], $downtime['id_group'], 'AD') && ! check_acl($config['id_user'], $downtime['id_group'], 'AW'))) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access downtime scheduler'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -20,7 +20,7 @@ if (! check_acl($config['id_user'], 0, 'AR')
|
||||
&& ! check_acl($config['id_user'], 0, 'AM')
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -42,7 +42,7 @@ enterprise_hook('open_meta_frame');
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'LM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert actions'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -104,7 +104,7 @@ if ($copy_action) {
|
||||
// Then action group have to be in his own groups.
|
||||
if (!$is_in_group) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -115,17 +115,14 @@ if ($copy_action) {
|
||||
|
||||
$result = alerts_clone_alert_action($id, $al_action['id_group']);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Command management',
|
||||
'Duplicate alert action '.$id.' clone to '.$result
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Command management',
|
||||
'Fail try to duplicate alert action '.$id
|
||||
);
|
||||
}
|
||||
$auditMessage = ((bool) $result === true)
|
||||
? sprintf('Duplicate alert action %s clone to %s', $id, $result)
|
||||
: sprintf('Fail try to duplicate alert action %s', $id);
|
||||
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
$auditMessage
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
@ -145,7 +142,7 @@ if ($delete_action) {
|
||||
|
||||
if (!check_acl_restricted_all($config['id_user'], $al_action['id_group'], 'LM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -158,7 +155,7 @@ if ($delete_action) {
|
||||
// Then must have "PM" access privileges.
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -182,7 +179,7 @@ if ($delete_action) {
|
||||
// Then action group have to be in his own groups.
|
||||
if (!$is_in_group) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -194,17 +191,14 @@ if ($delete_action) {
|
||||
|
||||
$result = alerts_delete_alert_action($id);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Command management',
|
||||
'Delete alert action #'.$id
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Command management',
|
||||
'Fail try to delete alert action #'.$id
|
||||
);
|
||||
}
|
||||
$auditMessage = ((bool) $result === true)
|
||||
? sprintf('Delete alert action #%s', $id)
|
||||
: sprintf('Fail try to delete alert action #%s', $id);
|
||||
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
$auditMessage
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
|
@ -21,7 +21,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'LM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -538,9 +538,20 @@ if ($create_command) {
|
||||
}
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Command management', 'Create alert command #'.$result, false, false, $info);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Create alert command #'.$result,
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Command management', 'Fail try to create alert command', false, false);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail try to create alert command',
|
||||
false,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
// Show errors.
|
||||
@ -570,7 +581,7 @@ if ($delete_command) {
|
||||
// Internal commands cannot be deleted.
|
||||
if (alerts_get_alert_command_internal($id)) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -579,11 +590,14 @@ if ($delete_command) {
|
||||
|
||||
$result = alerts_delete_alert_command($id);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Command management', 'Delete alert command #'.$id);
|
||||
} else {
|
||||
db_pandora_audit('Command management', 'Fail try to delete alert command #'.$id);
|
||||
}
|
||||
$auditMessage = ((bool) $result === true)
|
||||
? sprintf('Delete alert command #%s', $id)
|
||||
: sprintf('Fail try to delete alert command #%s', $id);
|
||||
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
$auditMessage
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
|
@ -18,7 +18,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'LW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -22,7 +22,7 @@ if (! check_acl($config['id_user'], 0, 'LW')
|
||||
&& ! check_acl($config['id_user'], 0, 'LM')
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -21,7 +21,7 @@ if (! check_acl($config['id_user'], 0, 'LW')
|
||||
&& ! check_acl($config['id_user'], 0, 'LM')
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -146,7 +146,7 @@ if ($create_alert) {
|
||||
$unsafe_agent_alias = io_safe_output($agent_alias);
|
||||
if ($id) {
|
||||
db_pandora_audit(
|
||||
'Alert management',
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
"Added alert '$unsafe_alert_template_name' for module '$unsafe_module_name' in agent '$unsafe_agent_alias'",
|
||||
false,
|
||||
false,
|
||||
@ -154,7 +154,7 @@ if ($create_alert) {
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Alert management',
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
"Fail Added alert '$unsafe_alert_template_name' for module '$unsafe_module_name' in agent '$unsafe_agent_alias'"
|
||||
);
|
||||
}
|
||||
@ -217,12 +217,12 @@ if ($delete_alert) {
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Alert management',
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
"Deleted alert '$unsafe_alert_template_name' for module '$unsafe_module_name' in agent '$unsafe_agent_alias'"
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Alert management',
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
"Fail to deleted alert '$unsafe_alert_template_name' for module '$unsafe_module_name' in agent '$unsafe_agent_alias'"
|
||||
);
|
||||
}
|
||||
@ -255,9 +255,15 @@ if ($add_action) {
|
||||
$result = alerts_add_alert_agent_module_action($id_alert_module, $id_action, $values);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Alert management', 'Add action '.$id_action.' in alert '.$id_alert_module);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Add action '.$id_action.' in alert '.$id_alert_module
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Alert management', 'Fail to add action '.$id_action.' in alert '.$id_alert_module);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail to add action '.$id_action.' in alert '.$id_alert_module
|
||||
);
|
||||
}
|
||||
|
||||
$messageAction = ui_print_result_message(
|
||||
@ -290,9 +296,15 @@ if ($update_action) {
|
||||
|
||||
$result = alerts_update_alert_agent_module_action($id_module_action, $values);
|
||||
if ($result) {
|
||||
db_pandora_audit('Alert management', 'Update action '.$id_action.' in alert '.$id_alert_module);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Update action '.$id_action.' in alert '.$id_alert_module
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Alert management', 'Fail to updated action '.$id_action.' in alert '.$id_alert_module);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail to updated action '.$id_action.' in alert '.$id_alert_module
|
||||
);
|
||||
}
|
||||
|
||||
$messageAction = ui_print_result_message(
|
||||
@ -311,9 +323,15 @@ if ($delete_action) {
|
||||
$result = alerts_delete_alert_agent_module_action($id_action);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Alert management', 'Delete action '.$id_action.' in alert '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Delete action '.$id_action.' in alert '.$id_alert
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Alert management', 'Fail to delete action '.$id_action.' in alert '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail to delete action '.$id_action.' in alert '.$id_alert
|
||||
);
|
||||
}
|
||||
|
||||
$messageAction = ui_print_result_message(
|
||||
@ -332,9 +350,15 @@ if ($enable_alert) {
|
||||
$result = alerts_agent_module_disable($id_alert, false);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Alert management', 'Enable '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Enable '.$id_alert
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Alert management', 'Fail to enable '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail to enable '.$id_alert
|
||||
);
|
||||
}
|
||||
|
||||
$messageAction = ui_print_result_message(
|
||||
@ -353,9 +377,15 @@ if ($disable_alert) {
|
||||
$result = alerts_agent_module_disable($id_alert, true);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Alert management', 'Disable '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Disable '.$id_alert
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Alert management', 'Fail to disable '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail to disable '.$id_alert
|
||||
);
|
||||
}
|
||||
|
||||
$messageAction = ui_print_result_message(
|
||||
@ -374,9 +404,15 @@ if ($standbyon_alert) {
|
||||
$result = alerts_agent_module_standby($id_alert, true);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Alert management', 'Standby '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Standby '.$id_alert
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Alert management', 'Fail to standby '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail to standby '.$id_alert
|
||||
);
|
||||
}
|
||||
|
||||
$messageAction = ui_print_result_message(
|
||||
@ -395,9 +431,15 @@ if ($standbyoff_alert) {
|
||||
$result = alerts_agent_module_standby($id_alert, false);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Alert management', 'Standbyoff '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Standbyoff '.$id_alert
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Alert management', 'Fail to standbyoff '.$id_alert);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail to standbyoff '.$id_alert
|
||||
);
|
||||
}
|
||||
|
||||
$messageAction = ui_print_result_message(
|
||||
|
@ -108,7 +108,7 @@ if (is_ajax()) {
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'LM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -118,12 +118,7 @@ if (! check_acl($config['id_user'], 0, 'LM')) {
|
||||
$update_template = (bool) get_parameter('update_template');
|
||||
$delete_template = (bool) get_parameter('delete_template');
|
||||
$pure = get_parameter('pure', 0);
|
||||
|
||||
if (defined('METACONSOLE')) {
|
||||
$sec = 'advanced';
|
||||
} else {
|
||||
$sec = 'galertas';
|
||||
}
|
||||
$sec = (is_metaconsole() === true) ? 'advanced' : 'galertas';
|
||||
|
||||
// This prevents to duplicate the header in
|
||||
// case delete_templete action is performed.
|
||||
@ -175,7 +170,7 @@ if ($delete_template) {
|
||||
if ($al_template['id_group'] == 0) {
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -217,7 +212,7 @@ if ($delete_template) {
|
||||
}
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -242,12 +237,12 @@ if ($delete_template) {
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Template alert management',
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Delete alert template #'.$id
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Template alert management',
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
'Fail try to delete alert template #'.$id
|
||||
);
|
||||
}
|
||||
|
@ -1,24 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* Alerts details for agent.
|
||||
*
|
||||
* @category Alert
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2022 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// Load global vars
|
||||
// Load global vars.
|
||||
global $config;
|
||||
|
||||
check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'LM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert View (In management section)'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -28,7 +43,7 @@ if (! check_acl($config['id_user'], 0, 'LM')) {
|
||||
enterprise_include_once('include/functions_policies.php');
|
||||
|
||||
$id_alert = get_parameter('id_alert', 0);
|
||||
// ID given as parameter
|
||||
// ID given as parameter.
|
||||
$alert = alerts_get_alert_agent_module($id_alert);
|
||||
$template = alerts_get_alert_template($alert['id_alert_template']);
|
||||
$actions = alerts_get_alert_agent_module_actions($id_alert);
|
||||
@ -36,19 +51,27 @@ $agent_alias = modules_get_agentmodule_agent_alias($alert['id_agent_module']);
|
||||
$agent = modules_get_agentmodule_agent($alert['id_agent_module']);
|
||||
$module_name = modules_get_agentmodule_name($alert['id_agent_module']);
|
||||
|
||||
// Default action
|
||||
// Default action.
|
||||
$default_action = $template['id_alert_action'];
|
||||
if ($default_action != 0) {
|
||||
$default_action = alerts_get_alert_action($default_action);
|
||||
$default_action['name'] .= ' '.'('.__('Default').')';
|
||||
$default_action['name'] .= ' ('.__('Default').')';
|
||||
$default_action['default'] = 1;
|
||||
$default_action['module_action_threshold'] = '0';
|
||||
}
|
||||
|
||||
// Header
|
||||
ui_print_page_header(__('Alert details'), 'images/op_alerts.png', false, '', false, '');
|
||||
// Header.
|
||||
ui_print_page_header(
|
||||
__('Alert details'),
|
||||
'images/op_alerts.png',
|
||||
false,
|
||||
'',
|
||||
false,
|
||||
''
|
||||
);
|
||||
|
||||
// TABLE DETAILS
|
||||
// TABLE DETAILS.
|
||||
$table_details = new stdClass;
|
||||
$table_details->class = 'databox';
|
||||
$table_details->width = '100%';
|
||||
$table_details->size = [];
|
||||
@ -103,7 +126,7 @@ $data[1] = '<span title="'.$priorities[$template['priority']].'" class="'.get_pr
|
||||
$table_details->data[] = $data;
|
||||
|
||||
$data[0] = __('Stand by');
|
||||
$data[1] = $alert['standby'] == 1 ? __('Yes') : __('No');
|
||||
$data[1] = ($alert['standby'] == 1) ? __('Yes') : __('No');
|
||||
$table_details->data[] = $data;
|
||||
|
||||
if (enterprise_installed() && $alert['id_policy_alerts'] != 0) {
|
||||
@ -113,7 +136,13 @@ if (enterprise_installed() && $alert['id_policy_alerts'] != 0) {
|
||||
} else {
|
||||
$img = 'images/policies_mc.png';
|
||||
|
||||
$policy = '<a href="?sec=gmodules&sec2=enterprise/godmode/policies/policies&id='.$policyInfo['id'].'">'.html_print_image($img, true, ['title' => $policyInfo['name']]).'</a>';
|
||||
$policy = '<a href="?sec=gmodules&sec2=enterprise/godmode/policies/policies&id='.$policyInfo['id'].'">';
|
||||
$policy .= html_print_image(
|
||||
$img,
|
||||
true,
|
||||
['title' => $policyInfo['name']]
|
||||
);
|
||||
$policy .= '</a>';
|
||||
}
|
||||
|
||||
$data[0] = __('Policy');
|
||||
@ -121,8 +150,7 @@ if (enterprise_installed() && $alert['id_policy_alerts'] != 0) {
|
||||
$table_details->data[] = $data;
|
||||
}
|
||||
|
||||
// TABLE DETAILS END
|
||||
// TABLE CONDITIONS
|
||||
$table_conditions = new stdClass;
|
||||
$table_conditions->class = 'databox';
|
||||
$table_conditions->width = '100%';
|
||||
$table_conditions->size = [];
|
||||
@ -155,9 +183,13 @@ switch ($template['type']) {
|
||||
|
||||
case 'max_min':
|
||||
if ($template['matches_value']) {
|
||||
$condition = __('The alert would fire when the value is between <span id="min"></span> and <span id="max"></span>');
|
||||
$condition = __(
|
||||
'The alert would fire when the value is between <span id="min"></span> and <span id="max"></span>'
|
||||
);
|
||||
} else {
|
||||
$condition = __('The alert would fire when the value is not between <span id="min"></span> and <span id="max"></span>');
|
||||
$condition = __(
|
||||
'The alert would fire when the value is not between <span id="min"></span> and <span id="max"></span>'
|
||||
);
|
||||
}
|
||||
|
||||
$condition = str_replace('<span id="min"></span>', $template['min_value'], $condition);
|
||||
@ -200,111 +232,27 @@ switch ($template['type']) {
|
||||
|
||||
case 'always':
|
||||
$condition = __('Always');
|
||||
break;
|
||||
|
||||
default:
|
||||
// Not possible.
|
||||
break;
|
||||
}
|
||||
|
||||
$data[0] = $condition;
|
||||
|
||||
$table_conditions->data[] = $data;
|
||||
|
||||
// DAYS
|
||||
$table_days->class = 'databox alert_days';
|
||||
$table_days->width = '100%';
|
||||
$table_days->size = [];
|
||||
$table_days->data = [];
|
||||
$table_days->style = [];
|
||||
$table_days->styleTable = 'padding: 1px; margin: 0px; text-align: center; height: 80px;';
|
||||
$table_days->head[0] = __('Mon');
|
||||
$table_days->head[1] = __('Tue');
|
||||
$table_days->head[2] = __('Wed');
|
||||
$table_days->head[3] = __('Thu');
|
||||
$table_days->head[4] = __('Fri');
|
||||
$table_days->head[5] = __('Sat');
|
||||
$table_days->head[6] = __('Sun');
|
||||
$table_days->data[0] = array_fill(0, 7, html_print_image('images/blade.png', true));
|
||||
$table_conditions->colspan[1][0] = 2;
|
||||
$schedule = io_safe_output(
|
||||
$template['schedule']
|
||||
);
|
||||
|
||||
$days = [];
|
||||
if ($template['monday']) {
|
||||
$table_days->data[0][0] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['tuesday']) {
|
||||
$table_days->data[0][1] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['wednesday']) {
|
||||
$table_days->data[0][2] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['thursday']) {
|
||||
$table_days->data[0][3] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['friday']) {
|
||||
$table_days->data[0][4] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['saturday']) {
|
||||
$table_days->data[0][5] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
if ($template['sunday']) {
|
||||
$table_days->data[0][6] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
$data[0] = html_print_table($table_days, true);
|
||||
unset($table_days);
|
||||
|
||||
// TIME
|
||||
$table_time->class = 'databox alert_time';
|
||||
$table_time->width = '100%';
|
||||
$table_time->size = [];
|
||||
$table_time->data = [];
|
||||
$table_time->style = [];
|
||||
$table_time->styleTable = 'padding: 1px; margin: 0px; text-align: center; height: 80px; width: 100%;';
|
||||
|
||||
// $data[0] = __('Time from') . ' / ' . __('Time to');
|
||||
if ($template['time_from'] == $template['time_to']) {
|
||||
$table_time->head[0] = '00:00:00<br>-<br>23:59:59';
|
||||
$table_time->data[0][0] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
} else {
|
||||
$from_array = explode(':', $template['time_from']);
|
||||
$from = ($from_array[0] * SECONDS_1HOUR + $from_array[1] * SECONDS_1MINUTE + $from_array[2]);
|
||||
$to_array = explode(':', $template['time_to']);
|
||||
$to = ($to_array[0] * SECONDS_1HOUR + $to_array[1] * SECONDS_1MINUTE + $to_array[2]);
|
||||
if ($to > $from) {
|
||||
if ($template['time_from'] != '00:00:00') {
|
||||
$table_time->head[0] = '00:00:00<br>-<br>'.$template['time_from'];
|
||||
$table_time->data[0][0] = html_print_image('images/blade.png', true);
|
||||
}
|
||||
|
||||
$table_time->head[1] = $template['time_from'].'<br>-<br>'.$template['time_to'];
|
||||
$table_time->data[0][1] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
|
||||
if ($template['time_to'] != '23:59:59') {
|
||||
$table_time->head[2] = $template['time_to'].'<br>-<br>23:59:59';
|
||||
$table_time->data[0][2] = html_print_image('images/blade.png', true);
|
||||
}
|
||||
} else {
|
||||
if ($template['time_to'] != '00:00:00') {
|
||||
$table_time->head[0] = '00:00:00<br>-<br>'.$template['time_to'];
|
||||
$table_time->data[0][0] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
|
||||
$table_time->head[1] = $template['time_to'].'<br>-<br>'.$template['time_from'];
|
||||
$table_time->data[0][1] = html_print_image('images/blade.png', true, ['class' => 'invert_filter']);
|
||||
|
||||
if ($template['time_from'] != '23:59:59') {
|
||||
$table_time->head[2] = $template['time_from'].'<br>-<br>23:59:59';
|
||||
$table_time->data[0][2] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
}
|
||||
}
|
||||
|
||||
$data[1] = $template['time_from'].' / '.$template['time_to'];
|
||||
}
|
||||
|
||||
$data[1] = html_print_table($table_time, true);
|
||||
unset($table_time);
|
||||
$data[0] = '';
|
||||
$data[0] .= html_print_input_hidden('schedule', $schedule, true);
|
||||
$data[0] .= '<div id="calendar_map"></div>';
|
||||
|
||||
$data[1] = '';
|
||||
$table_conditions->data[] = $data;
|
||||
|
||||
$data[0] = __('Use special days list');
|
||||
@ -319,7 +267,8 @@ $data[0] = __('Number of alerts').' ('.__('Min').'/'.__('Max').')';
|
||||
$data[1] = $template['min_alerts'].'/'.$template['max_alerts'];
|
||||
$table_conditions->data[] = $data;
|
||||
|
||||
// TABLE CONDITIONS END
|
||||
// TABLE CONDITIONS END.
|
||||
$table = new stdClass;
|
||||
$table->class = 'alert_list databox';
|
||||
$table->width = '98%';
|
||||
$table->size = [];
|
||||
@ -339,7 +288,8 @@ unset($table);
|
||||
|
||||
$actions = alerts_get_actions_escalation($actions, $default_action);
|
||||
|
||||
// ESCALATION
|
||||
// ESCALATION.
|
||||
$table = new stdClass;
|
||||
$table->class = 'alert_list databox alternate alert_escalation';
|
||||
$table->width = '98%';
|
||||
$table->size = [];
|
||||
@ -354,19 +304,33 @@ $table->style[0] = 'font-weight: bold; text-align: left;';
|
||||
if (count($actions) == 1 && isset($actions[0])) {
|
||||
$table->head[1] = __('Every time that the alert is fired');
|
||||
$table->data[0][0] = $actions[0]['name'];
|
||||
$table->data[0][1] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
$table->data[0][1] = html_print_image(
|
||||
'images/tick.png',
|
||||
true,
|
||||
['class' => 'invert_filter']
|
||||
);
|
||||
} else {
|
||||
foreach ($actions as $kaction => $action) {
|
||||
$table->data[$kaction][0] = $action['name'];
|
||||
if ($kaction == 0) {
|
||||
$table->data[$kaction][0] .= ui_print_help_tip(__('The default actions will be executed every time that the alert is fired and no other action is executed'), true);
|
||||
if ((int) $kaction === 0) {
|
||||
$table->data[$kaction][0] .= ui_print_help_tip(
|
||||
__('The default actions will be executed every time that the alert is fired and no other action is executed'),
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
foreach ($action['escalation'] as $k => $v) {
|
||||
if ($v > 0) {
|
||||
$table->data[$kaction][$k] = html_print_image('images/tick.png', true, ['class' => 'invert_filter']);
|
||||
$table->data[$kaction][$k] = html_print_image(
|
||||
'images/tick.png',
|
||||
true,
|
||||
['class' => 'invert_filter']
|
||||
);
|
||||
} else {
|
||||
$table->data[$kaction][$k] = html_print_image('images/blade.png', true);
|
||||
$table->data[$kaction][$k] = html_print_image(
|
||||
'images/blade.png',
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
if (count($table->head) <= count($action['escalation'])) {
|
||||
@ -382,12 +346,16 @@ if (count($actions) == 1 && isset($actions[0])) {
|
||||
}
|
||||
}
|
||||
|
||||
$action_threshold = $action['module_action_threshold'] > 0 ? $action['module_action_threshold'] : $action['action_threshold'];
|
||||
$action_threshold = ($action['module_action_threshold'] > 0) ? $action['module_action_threshold'] : $action['action_threshold'];
|
||||
|
||||
if ($action_threshold == 0) {
|
||||
$table->data[$kaction][($k + 1)] = __('No');
|
||||
} else {
|
||||
$table->data[$kaction][($k + 1)] = human_time_description_raw($action_threshold, true, 'tiny');
|
||||
$table->data[$kaction][($k + 1)] = human_time_description_raw(
|
||||
$action_threshold,
|
||||
true,
|
||||
'tiny'
|
||||
);
|
||||
}
|
||||
|
||||
$table->head[($k + 1)] = __('Threshold');
|
||||
@ -397,7 +365,8 @@ if (count($actions) == 1 && isset($actions[0])) {
|
||||
html_print_table($table);
|
||||
unset($table);
|
||||
echo '</div>';
|
||||
// ESCALATION TABLE
|
||||
// ESCALATION TABLE.
|
||||
$table = new stdClass;
|
||||
$table->class = 'alert_list databox';
|
||||
$table->width = '98%';
|
||||
$table->size = [];
|
||||
@ -405,7 +374,7 @@ $table->head = [];
|
||||
$table->data = [];
|
||||
$table->rowstyle[1] = 'font-weight: bold;';
|
||||
|
||||
if ($default_action != 0) {
|
||||
if ((int) $default_action != 0) {
|
||||
$actions_select[0] = $default_action['name'];
|
||||
}
|
||||
|
||||
@ -416,17 +385,43 @@ foreach ($actions as $kaction => $action) {
|
||||
$table->data[0][0] = __('Select the desired action and mode to see the Firing/Recovery fields for this action');
|
||||
$table->colspan[0][0] = 2;
|
||||
|
||||
$table->data[1][0] = __('Action').'<br>'.html_print_select($actions_select, 'firing_action_select', -1, '', __('Select the action'), -1, true, false, false);
|
||||
$table->data[1][0] = __('Action');
|
||||
$table->data[1][0] .= '<br>';
|
||||
$table->data[1][0] .= html_print_select(
|
||||
$actions_select,
|
||||
'firing_action_select',
|
||||
-1,
|
||||
'',
|
||||
__('Select the action'),
|
||||
-1,
|
||||
true,
|
||||
false,
|
||||
false
|
||||
);
|
||||
|
||||
$modes = [];
|
||||
$modes['firing'] = __('Firing');
|
||||
$modes['recovering'] = __('Recovering');
|
||||
|
||||
$table->data[1][1] = '<div class="action_details invisible" >'.__('Mode').'<br>'.html_print_select($modes, 'modes', 'firing', '', '', 0, true, false, false).'</div>';
|
||||
$table->data[1][1] = '<div class="action_details invisible" >';
|
||||
$table->data[1][1] .= __('Mode');
|
||||
$table->data[1][1] .= '<br>';
|
||||
$table->data[1][1] .= html_print_select(
|
||||
$modes,
|
||||
'modes',
|
||||
'firing',
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
true,
|
||||
false,
|
||||
false
|
||||
);
|
||||
$table->data[1][1] .= '</div>';
|
||||
|
||||
html_print_table($table);
|
||||
unset($table);
|
||||
|
||||
$table = new stdClass;
|
||||
$table->class = 'alert_list databox alternate';
|
||||
$table->width = '98%';
|
||||
$table->size = [];
|
||||
@ -437,13 +432,33 @@ $table->style[1] = 'width: 30%;';
|
||||
$table->style[2] = 'width: 30%;';
|
||||
$table->style[3] = 'font-weight: bold; width: 30%;';
|
||||
|
||||
$table->title = __('Firing fields').ui_print_help_tip(__('Fields passed to the command executed by this action when the alert is fired'), true);
|
||||
$table->title = __('Firing fields');
|
||||
$table->title .= ui_print_help_tip(
|
||||
__('Fields passed to the command executed by this action when the alert is fired'),
|
||||
true
|
||||
);
|
||||
|
||||
$table->head[0] = __('Field').ui_print_help_tip(__('Fields configured on the command associated to the action'), true);
|
||||
$table->head[1] = __('Template fields').ui_print_help_tip(__('Triggering fields configured in template'), true);
|
||||
$table->head[2] = __('Action fields').ui_print_help_tip(__('Triggering fields configured in action'), true);
|
||||
$table->head[0] = __('Field');
|
||||
$table->head[0] .= ui_print_help_tip(
|
||||
__('Fields configured on the command associated to the action'),
|
||||
true
|
||||
);
|
||||
$table->head[1] = __('Template fields');
|
||||
$table->head[1] .= ui_print_help_tip(
|
||||
__('Triggering fields configured in template'),
|
||||
true
|
||||
);
|
||||
$table->head[2] = __('Action fields');
|
||||
$table->head[2] .= ui_print_help_tip(
|
||||
__('Triggering fields configured in action'),
|
||||
true
|
||||
);
|
||||
|
||||
$table->head[3] = __('Executed on firing').ui_print_help_tip(__('Fields used on execution when the alert is fired'), true);
|
||||
$table->head[3] = __('Executed on firing');
|
||||
$table->head[3] .= ui_print_help_tip(
|
||||
__('Fields used on execution when the alert is fired'),
|
||||
true
|
||||
);
|
||||
|
||||
$firing_fields = [];
|
||||
|
||||
@ -456,14 +471,12 @@ foreach ($actions as $kaction => $action) {
|
||||
$descriptions = json_decode($command['fields_descriptions'], true);
|
||||
|
||||
foreach ($descriptions as $kdesc => $desc) {
|
||||
if (empty($desc)) {
|
||||
// continue;
|
||||
}
|
||||
|
||||
$field = 'field'.($kdesc + 1);
|
||||
$data = [];
|
||||
$data[0] = $firing_fields[$kaction]['description'][$field] = $desc;
|
||||
if (!empty($data[0])) {
|
||||
$data[0] = $desc;
|
||||
$firing_fields[$kaction]['description'][$field] = $desc;
|
||||
|
||||
if (empty($data[0]) === false) {
|
||||
$data[0] = '<b>'.$data[0].'</b><br>';
|
||||
}
|
||||
|
||||
@ -473,12 +486,14 @@ foreach ($actions as $kaction => $action) {
|
||||
).')</span>';
|
||||
$data[1] = $template[$field];
|
||||
$data[2] = $action[$field];
|
||||
$data[3] = $firing_fields[$kaction]['value'][$field] = empty($action[$field]) ? $template[$field] : $action[$field];
|
||||
$data[3] = (empty($action[$field]) === true) ? $template[$field] : $action[$field];
|
||||
|
||||
$firing_fields[$kaction]['value'][$field] = (empty($action[$field]) === true) ? $template[$field] : $action[$field];
|
||||
|
||||
$first_level = $template[$field];
|
||||
$second_level = $action[$field];
|
||||
if (!empty($second_level) || !empty($first_level)) {
|
||||
if (empty($second_level)) {
|
||||
if (empty($second_level) === false || empty($first_level) === false) {
|
||||
if (empty($second_level) === false) {
|
||||
$table->cellclass[count($table->data)][1] = 'used_field';
|
||||
$table->cellclass[count($table->data)][2] = 'empty_field';
|
||||
} else {
|
||||
@ -493,7 +508,7 @@ foreach ($actions as $kaction => $action) {
|
||||
|
||||
$table->rowclass[] = 'firing_action firing_action_'.$kaction;
|
||||
|
||||
if ($command_preview != 'Internal type') {
|
||||
if ($command_preview !== 'Internal type') {
|
||||
$command_preview = str_replace('_'.$field.'_', $data[3], $command_preview);
|
||||
}
|
||||
}
|
||||
@ -504,20 +519,32 @@ foreach ($actions as $kaction => $action) {
|
||||
echo '<div class="mode_table mode_table_firing action_details invisible w100p">';
|
||||
|
||||
html_print_table($table);
|
||||
unset($table);
|
||||
|
||||
foreach ($actions as $kaction => $action) {
|
||||
echo '<div class="firing_action firing_action_'.$kaction.' invisible">';
|
||||
ui_print_info_message(['title' => __('Command preview'), 'message' => $firing_fields[$kaction]['command_preview'], 'no_close' => true]);
|
||||
ui_print_info_message(
|
||||
[
|
||||
'title' => __('Command preview'),
|
||||
'message' => $firing_fields[$kaction]['command_preview'],
|
||||
'no_close' => true,
|
||||
]
|
||||
);
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
// Firing table
|
||||
// Firing table.
|
||||
echo '<div class="mode_table mode_table_recovering action_details invisible w100p" >';
|
||||
if ($template['recovery_notify'] == 0) {
|
||||
ui_print_info_message(['title' => __('Disabled'), 'message' => __('The alert recovering is disabled on this template.'), 'no_close' => true]);
|
||||
if ((int) $template['recovery_notify'] === 0) {
|
||||
ui_print_info_message(
|
||||
[
|
||||
'title' => __('Disabled'),
|
||||
'message' => __('The alert recovering is disabled on this template.'),
|
||||
'no_close' => true,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
$table = new stdClass;
|
||||
$table->class = 'alert_list databox alternate';
|
||||
$table->width = '98%';
|
||||
$table->size = [];
|
||||
@ -528,13 +555,37 @@ if ($template['recovery_notify'] == 0) {
|
||||
$table->style[2] = 'width: 25%;';
|
||||
$table->style[3] = 'width: 25%;';
|
||||
$table->style[3] = 'font-weight: bold; width: 25%;';
|
||||
$table->title = __('Recovering fields').ui_print_help_tip(__('Fields passed to the command executed by this action when the alert is recovered'), true);
|
||||
$table->title = __('Recovering fields');
|
||||
$table->title .= ui_print_help_tip(
|
||||
__('Fields passed to the command executed by this action when the alert is recovered'),
|
||||
true
|
||||
);
|
||||
|
||||
$table->head[0] = __('Field').ui_print_help_tip(__('Fields configured on the command associated to the action'), true);
|
||||
$table->head[1] = __('Firing fields').ui_print_help_tip(__('Fields used on execution when the alert is fired'), true);
|
||||
$table->head[2] = __('Template recovery fields').ui_print_help_tip(__('Recovery fields configured in alert template'), true);
|
||||
$table->head[3] = __('Action recovery fields').ui_print_help_tip(__('Recovery fields configured in alert action'), true);
|
||||
$table->head[4] = __('Executed on recovery').ui_print_help_tip(__('Fields used on execution when the alert is recovered'), true);
|
||||
$table->head[0] = __('Field');
|
||||
$table->head[0] .= ui_print_help_tip(
|
||||
__('Fields configured on the command associated to the action'),
|
||||
true
|
||||
);
|
||||
$table->head[1] = __('Firing fields');
|
||||
$table->head[1] .= ui_print_help_tip(
|
||||
__('Fields used on execution when the alert is fired'),
|
||||
true
|
||||
);
|
||||
$table->head[2] = __('Template recovery fields');
|
||||
$table->head[2] .= ui_print_help_tip(
|
||||
__('Recovery fields configured in alert template'),
|
||||
true
|
||||
);
|
||||
$table->head[3] = __('Action recovery fields');
|
||||
$table->head[3] .= ui_print_help_tip(
|
||||
__('Recovery fields configured in alert action'),
|
||||
true
|
||||
);
|
||||
$table->head[4] = __('Executed on recovery');
|
||||
$table->head[4] .= ui_print_help_tip(
|
||||
__('Fields used on execution when the alert is recovered'),
|
||||
true
|
||||
);
|
||||
$table->style[4] = 'font-weight: bold;';
|
||||
|
||||
foreach ($firing_fields as $kaction => $firing) {
|
||||
@ -544,7 +595,7 @@ if ($template['recovery_notify'] == 0) {
|
||||
foreach ($firing['description'] as $field => $desc) {
|
||||
$data[0] = $desc;
|
||||
|
||||
if (!empty($data[0])) {
|
||||
if (empty($data[0]) === false) {
|
||||
$data[0] = '<b>'.$data[0].'</b><br>';
|
||||
}
|
||||
|
||||
@ -560,14 +611,14 @@ if ($template['recovery_notify'] == 0) {
|
||||
$first_level = $data[1];
|
||||
$second_level = $data[2];
|
||||
$third_level = $data[3];
|
||||
if (!empty($third_level) || !empty($second_level) || !empty($first_level)) {
|
||||
if (!empty($third_level)) {
|
||||
if (empty($third_level) === false || empty($second_level) === false || empty($first_level) === false) {
|
||||
if (empty($third_level) === false) {
|
||||
$table->cellclass[count($table->data)][1] = 'overrided_field';
|
||||
$table->cellclass[count($table->data)][2] = 'overrided_field';
|
||||
$table->cellclass[count($table->data)][3] = 'used_field';
|
||||
|
||||
$data[4] = $data[3];
|
||||
} else if (!empty($second_level)) {
|
||||
} else if (empty($second_level) === false) {
|
||||
$table->cellclass[count($table->data)][1] = 'overrided_field';
|
||||
$table->cellclass[count($table->data)][2] = 'used_field';
|
||||
$table->cellclass[count($table->data)][3] = 'empty_field';
|
||||
@ -578,8 +629,8 @@ if ($template['recovery_notify'] == 0) {
|
||||
$table->cellclass[count($table->data)][2] = 'empty_field';
|
||||
$table->cellclass[count($table->data)][3] = 'empty_field';
|
||||
|
||||
// All fields but field1 will have [RECOVER] prefix if no recovery fields are configured
|
||||
$data[4] = $fieldn == 1 ? $data[1] : '[RECOVER]'.$data[1];
|
||||
// All fields but field1 will have [RECOVER] prefix if no recovery fields are configured.
|
||||
$data[4] = ((int) $fieldn === 1) ? $data[1] : '[RECOVER]'.$data[1];
|
||||
}
|
||||
}
|
||||
|
||||
@ -588,7 +639,7 @@ if ($template['recovery_notify'] == 0) {
|
||||
|
||||
$table->rowclass[] = 'firing_action firing_action_'.$kaction;
|
||||
|
||||
if ($command_preview != 'Internal type') {
|
||||
if ($command_preview !== 'Internal type') {
|
||||
$command_preview = str_replace('_'.$field.'_', $data[4], $command_preview);
|
||||
}
|
||||
|
||||
@ -598,16 +649,85 @@ if ($template['recovery_notify'] == 0) {
|
||||
|
||||
html_print_table($table);
|
||||
unset($table);
|
||||
ui_print_info_message(['title' => __('Command preview'), 'message' => $command_preview, 'no_close' => true]);
|
||||
ui_print_info_message(
|
||||
[
|
||||
'title' => __('Command preview'),
|
||||
'message' => $command_preview,
|
||||
'no_close' => true,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
// Recovering table
|
||||
|
||||
ui_require_css_file('main.min', 'include/javascript/fullcalendar/');
|
||||
ui_require_javascript_file('main.min', 'include/javascript/fullcalendar/');
|
||||
ui_require_javascript_file('pandora_fullcalendar');
|
||||
?>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
$(document).ready (function () {
|
||||
|
||||
var calendarEl = document.getElementById('calendar_map');
|
||||
if(calendarEl){
|
||||
var eventsBBDD = $("#hidden-schedule").val();
|
||||
if(eventsBBDD === '' || eventsBBDD === 'Array') {
|
||||
eventsBBDD = '';
|
||||
}
|
||||
var events = loadEventBBDD(eventsBBDD);
|
||||
|
||||
var options = {
|
||||
contentHeight: "auto",
|
||||
headerToolbar: {
|
||||
left: "",
|
||||
center: "",
|
||||
right: ''
|
||||
},
|
||||
buttonText: {},
|
||||
dayHeaderFormat: { weekday: "short" },
|
||||
initialView: "dayGridWeek",
|
||||
navLinks: false,
|
||||
selectable: true,
|
||||
selectMirror: true,
|
||||
slotDuration: "01:00:00",
|
||||
slotLabelInterval: "02:00:00",
|
||||
snapDuration: "01:00:00",
|
||||
slotMinTime: "00:00:00",
|
||||
slotMaxTime: "24:00:00",
|
||||
scrollTime: "01:00:00",
|
||||
locale: "en-GB",
|
||||
firstDay: 1,
|
||||
eventTimeFormat: {
|
||||
hour: "numeric",
|
||||
minute: "2-digit",
|
||||
hour12: false
|
||||
},
|
||||
eventColor: "#82b92e",
|
||||
editable: false,
|
||||
dayMaxEvents: 3,
|
||||
dayPopoverFormat: { weekday: "long" },
|
||||
defaultAllDay: false,
|
||||
displayEventTime: true,
|
||||
displayEventEnd: true,
|
||||
selectOverlap: false,
|
||||
eventOverlap: false,
|
||||
allDaySlot: true,
|
||||
droppable: false,
|
||||
select: false,
|
||||
selectAllow: false,
|
||||
eventAllow: false,
|
||||
eventDrop: false,
|
||||
eventDragStop: false,
|
||||
eventResize: false,
|
||||
eventMouseEnter: false,
|
||||
eventMouseLeave: false,
|
||||
eventClick: false,
|
||||
};
|
||||
|
||||
var settings = {}
|
||||
|
||||
var calendar = fullCalendarPandora(calendarEl, options, settings, events);
|
||||
calendar.render();
|
||||
}
|
||||
});
|
||||
|
||||
$('#firing_action_select').change(function() {
|
||||
@ -619,8 +739,7 @@ $('#firing_action_select').change(function() {
|
||||
else {
|
||||
$('.action_details').show();
|
||||
}
|
||||
|
||||
|
||||
|
||||
$('.firing_action').hide();
|
||||
if($(this).val() != -1) {
|
||||
$('.firing_action_' + $(this).val()).show();
|
||||
|
@ -23,7 +23,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'LM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -96,7 +96,10 @@ if ($al_action !== false) {
|
||||
}
|
||||
|
||||
if (!$is_in_group && $al_action['id_group'] != 0) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access unauthorized alert action configuration');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access unauthorized alert action configuration'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
}
|
||||
|
@ -1,17 +1,34 @@
|
||||
<?php
|
||||
// phpcs:disable Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// Load global vars.
|
||||
/**
|
||||
* Configure Alert commands
|
||||
*
|
||||
* @category Alert management
|
||||
* @package Pandora FMS
|
||||
* @subpackage Community
|
||||
* @version 1.0.0
|
||||
* @license See below
|
||||
*
|
||||
* ______ ___ _______ _______ ________
|
||||
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2022 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation for version 2.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* ============================================================================
|
||||
*/
|
||||
|
||||
// Begin.
|
||||
global $config;
|
||||
|
||||
require_once $config['homedir'].'/include/functions_alerts.php';
|
||||
@ -23,7 +40,7 @@ enterprise_hook('open_meta_frame');
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -52,7 +69,10 @@ if ($id > 0) {
|
||||
$alert = alerts_get_alert_command($id);
|
||||
|
||||
if ($alert['internal'] || !check_acl_restricted_all($config['id_user'], $alert['id_group'], 'PM')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Alert Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
}
|
||||
@ -87,17 +107,17 @@ if ($update_command) {
|
||||
$values['description'] = $description;
|
||||
$values['id_group'] = $id_group;
|
||||
// Only for Metaconsole. Save the previous name for synchronizing.
|
||||
if (is_metaconsole()) {
|
||||
if (is_metaconsole() === true) {
|
||||
$values['previous_name'] = db_get_value('name', 'talert_commands', 'id', $id);
|
||||
}
|
||||
|
||||
// Check it the new name is used in the other command.
|
||||
$id_check = db_get_value('id', 'talert_commands', 'name', $name);
|
||||
if (($id_check != $id) && (!empty($id_check))) {
|
||||
$result = '';
|
||||
$result = false;
|
||||
} else {
|
||||
$result = alerts_update_alert_command($id, $values);
|
||||
if ($result) {
|
||||
$result = (bool) alerts_update_alert_command($id, $values);
|
||||
if ($result === true) {
|
||||
$info = '{"Name":"'.$name.'","Command":"'.$command.'","Description":"'.$description.' '.$info_fields.'"}';
|
||||
$alert['fields_values'] = io_json_mb_encode($fields_values);
|
||||
$alert['fields_descriptions'] = io_json_mb_encode($fields_descriptions);
|
||||
@ -109,11 +129,15 @@ if ($update_command) {
|
||||
}
|
||||
}
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Command management', 'Update alert command #'.$id, false, false, $info);
|
||||
} else {
|
||||
db_pandora_audit('Command management', 'Fail to update alert command #'.$id, false, false);
|
||||
}
|
||||
$auditMessage = ((bool) $result === true) ? 'Update alert command' : 'Fail to update alert command';
|
||||
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ALERT_MANAGEMENT,
|
||||
sprintf('%s #%s', $auditMessage, $id),
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
@ -130,7 +154,7 @@ $fields_descriptions = '';
|
||||
$fields_values = '';
|
||||
$id_group = 0;
|
||||
if ($id) {
|
||||
if (!$result) {
|
||||
if ($result === false) {
|
||||
$alert = alerts_get_alert_command($id);
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -32,7 +32,10 @@ if (!isset($_SESSION['id_usuario'])) {
|
||||
check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access audit CSV export');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access audit CSV export'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
}
|
||||
|
@ -35,7 +35,10 @@ check_login();
|
||||
enterprise_hook('open_meta_frame');
|
||||
|
||||
if (!check_acl($config['id_user'], 0, 'PM') && !is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Categories Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Categories Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
@ -113,10 +116,16 @@ if (is_management_allowed() === false) {
|
||||
if ($is_management_allowed === true && $delete != 0) {
|
||||
$return_delete = categories_delete_category($delete);
|
||||
if (!$return_delete) {
|
||||
db_pandora_audit('Category management', 'Fail try to delete category #'.$delete);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_CATEGORY_MANAGEMENT,
|
||||
'Fail try to delete category #'.$delete
|
||||
);
|
||||
ui_print_error_message(__('Error deleting category'));
|
||||
} else {
|
||||
db_pandora_audit('Category management', 'Delete category #'.$delete);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_CATEGORY_MANAGEMENT,
|
||||
'Delete category #'.$delete
|
||||
);
|
||||
ui_print_success_message(__('Successfully deleted category'));
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,10 @@ enterprise_hook('open_meta_frame');
|
||||
require_once $config['homedir'].'/include/functions_categories.php';
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! is_user_admin($config['id_user'])) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Edit Category');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Edit Category'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
||||
return;
|
||||
@ -85,34 +88,46 @@ if ($update_category && $id_category != 0) {
|
||||
}
|
||||
|
||||
if ($result === false) {
|
||||
db_pandora_audit('Category management', "Fail try to update category #$id_category");
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_CATEGORY_MANAGEMENT,
|
||||
'Fail try to update category #'.$id_category
|
||||
);
|
||||
ui_print_error_message(__('Error updating category'));
|
||||
} else {
|
||||
db_pandora_audit('Category management', "Update category #$id_category");
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_CATEGORY_MANAGEMENT,
|
||||
'Update category #'.$id_category
|
||||
);
|
||||
ui_print_success_message(__('Successfully updated category'));
|
||||
}
|
||||
}
|
||||
|
||||
// Create category: creates a new category
|
||||
// Create category: creates a new category.
|
||||
if ($create_category) {
|
||||
$return_create = true;
|
||||
|
||||
$values = [];
|
||||
$values['name'] = $name_category;
|
||||
|
||||
// DB insert
|
||||
// DB insert.
|
||||
$return_create = false;
|
||||
if ($values['name'] != '') {
|
||||
$return_create = db_process_sql_insert('tcategory', $values);
|
||||
}
|
||||
|
||||
if ($return_create === false) {
|
||||
db_pandora_audit('Category management', 'Fail try to create category');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_CATEGORY_MANAGEMENT,
|
||||
'Fail try to create category'
|
||||
);
|
||||
ui_print_error_message(__('Error creating category'));
|
||||
$action = 'new';
|
||||
// If create action ends successfully then current action is update
|
||||
// If create action ends successfully then current action is update.
|
||||
} else {
|
||||
db_pandora_audit('Category management', "Create category #$return_create");
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_CATEGORY_MANAGEMENT,
|
||||
'Create category #'.$return_create
|
||||
);
|
||||
ui_print_success_message(__('Successfully created category'));
|
||||
$id_category = $return_create;
|
||||
$action = 'update';
|
||||
@ -120,7 +135,7 @@ if ($create_category) {
|
||||
}
|
||||
|
||||
// Form fields are filled here
|
||||
// Get results when update action is performed
|
||||
// Get results when update action is performed.
|
||||
if ($action == 'update' && $id_category != 0) {
|
||||
$result_category = db_get_row_filter('tcategory', ['id' => $id_category]);
|
||||
$name_category = $result_category['name'];
|
||||
|
@ -18,7 +18,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'DM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Database Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -17,7 +17,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Custom events Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -21,7 +21,7 @@ $access = ($event_w == true) ? 'EW' : (($event_m == true) ? 'EM' : 'EW');
|
||||
|
||||
if (!$event_w && !$event_m) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access events filter editor'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -22,7 +22,7 @@ $access = ($event_w == true) ? 'EW' : (($event_m == true) ? 'EM' : 'EW');
|
||||
|
||||
if (!$event_w && !$event_m) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access events filter editor'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -43,7 +43,7 @@ if ($delete) {
|
||||
&& !check_acl_restricted_all($config['id_user'], $filter_group, 'EM')
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access events filter editor'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -17,7 +17,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -43,7 +43,7 @@ if ($event_response_id > 0) {
|
||||
// ACL check for event response edition.
|
||||
if (!check_acl_restricted_all($config['id_user'], $event_response['id_group'], 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -19,7 +19,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -19,7 +19,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -20,7 +20,7 @@ enterprise_hook('open_meta_frame');
|
||||
|
||||
if (!check_acl($config['id_user'], 0, 'EW') && !check_acl($config['id_user'], 0, 'EM') && ! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access event manage'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -17,7 +17,7 @@ global $config;
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access extensions list'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -34,7 +34,10 @@ check_login();
|
||||
enterprise_hook('open_meta_frame');
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Group Management2');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management2'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -18,7 +18,10 @@ check_login();
|
||||
enterprise_hook('open_meta_frame');
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Group Management2');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management2'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -47,7 +47,10 @@ if (is_metaconsole() === true) {
|
||||
|
||||
if (is_ajax() === true) {
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AR') === false) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Group Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
@ -74,7 +77,7 @@ if (is_ajax() === true) {
|
||||
|
||||
if ((bool) check_acl($config['id_user'], $id_group, 'AR') === false) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
echo json_encode(false);
|
||||
@ -117,7 +120,7 @@ if (is_ajax() === true) {
|
||||
|
||||
if ((bool) check_acl($config['id_user'], $id_group, 'AR') === false) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
echo json_encode(false);
|
||||
@ -275,7 +278,7 @@ if ($tab !== 'credbox'
|
||||
&& (bool) check_acl($config['id_user'], 0, 'AW') === false
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -285,7 +288,7 @@ if ($tab !== 'credbox'
|
||||
&& (bool) check_acl($config['id_user'], 0, 'PM') === false
|
||||
) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Credential Store'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -32,7 +32,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -48,7 +48,7 @@ if (is_ajax() === true) {
|
||||
|
||||
if (! check_acl($config['id_user'], $id_group, 'AR')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Alert Management'
|
||||
);
|
||||
echo json_encode(false);
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive agent deletion section'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -150,7 +150,13 @@ if ($add) {
|
||||
'Fires_max' => $fires_max,
|
||||
'Actions' => implode(',', $actions),
|
||||
];
|
||||
db_pandora_audit('Massive management', 'Add alert action '.json_encode($id_agents), false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Add alert action '.json_encode($id_agents),
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
ui_print_result_message($results, __('Successfully added'), __('Could not be added'));
|
||||
}
|
||||
} else {
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive alert deletion'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -139,16 +139,28 @@ function process_manage_add($id_alert_template, $id_agents, $module_names)
|
||||
$success = alerts_create_alert_agent_module($module, $id_alert_template);
|
||||
|
||||
if ($success) {
|
||||
$contsuccess ++;
|
||||
$contsuccess++;
|
||||
}
|
||||
|
||||
$conttotal ++;
|
||||
$conttotal++;
|
||||
}
|
||||
|
||||
if ($contsuccess > 0) {
|
||||
db_pandora_audit('Massive management', 'Add alert', false, false, 'Alert template: '.$id_alert_template.' Modules: '.json_encode($modules_id));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Add alert',
|
||||
false,
|
||||
false,
|
||||
'Alert template: '.$id_alert_template.' Modules: '.json_encode($modules_id)
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to add alert', false, false, 'Alert template: '.$id_alert_template.' Modules: '.json_encode($modules_id));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to add alert',
|
||||
false,
|
||||
false,
|
||||
'Alert template: '.$id_alert_template.' Modules: '.json_encode($modules_id)
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (!check_acl($config['id_user'], 0, 'UM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive profile addition'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -80,7 +80,7 @@ if ($create_profiles) {
|
||||
// If the profile doesnt exist, we create it
|
||||
if ($profile_data === false) {
|
||||
db_pandora_audit(
|
||||
'User management',
|
||||
AUDIT_LOG_USER_MANAGEMENT,
|
||||
'Added profile for user '.io_safe_input($user)
|
||||
);
|
||||
$return = profile_create_user_profile($user, $profile, $group);
|
||||
@ -95,7 +95,7 @@ if ($create_profiles) {
|
||||
|
||||
if ($n_added > 0) {
|
||||
db_pandora_audit(
|
||||
'Massive management',
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Add profiles',
|
||||
false,
|
||||
false,
|
||||
@ -103,7 +103,7 @@ if ($create_profiles) {
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Massive management',
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail to try add profiles',
|
||||
false,
|
||||
false,
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Config Management Admin section'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -66,7 +66,7 @@ if ($do_operation) {
|
||||
];
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Massive management',
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Copy modules',
|
||||
false,
|
||||
false,
|
||||
@ -74,7 +74,7 @@ if ($do_operation) {
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Massive management',
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail to try copy modules',
|
||||
false,
|
||||
false,
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive agent deletion section'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -148,9 +148,21 @@ if ($delete) {
|
||||
];
|
||||
|
||||
if ($results) {
|
||||
db_pandora_audit('Massive management', 'Delete alert action', false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Delete alert action',
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to delete alert action', false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to delete alert action',
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
|
@ -34,7 +34,7 @@ check_login();
|
||||
|
||||
if ((bool) check_acl($config['id_user'], 0, 'AW') === false) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive agent deletion section'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -149,9 +149,10 @@ if ($delete === true) {
|
||||
$result = process_manage_delete($id_agents);
|
||||
|
||||
$info = '{"Agent":"'.implode(',', $id_agents).'"}';
|
||||
|
||||
if ($result === true) {
|
||||
db_pandora_audit(
|
||||
'Massive management',
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Delete agent ',
|
||||
false,
|
||||
false,
|
||||
@ -159,7 +160,7 @@ if ($delete === true) {
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Massive management',
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to delete agent',
|
||||
false,
|
||||
false,
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive alert deletion'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -190,10 +190,10 @@ function process_manage_delete($id_alert_template, $id_agents, $module_names)
|
||||
);
|
||||
|
||||
if ($success) {
|
||||
$contsuccess ++;
|
||||
$contsuccess++;
|
||||
}
|
||||
|
||||
$conttotal ++;
|
||||
$conttotal++;
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
@ -223,9 +223,21 @@ if ($delete) {
|
||||
];
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Massive management', 'Delete alert ', false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Delete alert ',
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to delete alert', false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to delete alert',
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access agent massive deletion'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -230,7 +230,7 @@ if ($delete) {
|
||||
|
||||
foreach ($module_name as $mod_name) {
|
||||
$result = process_manage_delete($mod_name['nombre'], $id_agent['id_agente'], $modules_selection_mode);
|
||||
$count ++;
|
||||
$count++;
|
||||
$success += (int) $result;
|
||||
}
|
||||
}
|
||||
@ -266,11 +266,16 @@ if ($delete) {
|
||||
'Agent' => implode(',', $agents_),
|
||||
'Module' => implode(',', $modules_),
|
||||
];
|
||||
if ($result) {
|
||||
db_pandora_audit('Massive management', 'Delete module ', false, false, json_encode($info));
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to delete module', false, false, json_encode($info));
|
||||
}
|
||||
|
||||
$auditMessage = ((bool) $result === true) ? 'Delete module' : 'Fail try to delete module';
|
||||
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
$auditMessage,
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
}
|
||||
|
||||
$groups = users_get_groups();
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'UM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive profile deletion'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -96,7 +96,7 @@ if ($delete_profiles) {
|
||||
} else {
|
||||
foreach ($users as $user) {
|
||||
db_pandora_audit(
|
||||
'User management',
|
||||
AUDIT_LOG_USER_MANAGEMENT,
|
||||
'Deleted profile for user '.io_safe_input($user)
|
||||
);
|
||||
|
||||
@ -111,9 +111,21 @@ if ($delete_profiles) {
|
||||
];
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Massive management', 'Delete profile ', false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Delete profile ',
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to delete profile', false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to delete profile',
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive agent deletion section'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -189,9 +189,15 @@ if ($update_agents) {
|
||||
|
||||
|
||||
if ($n_deleted > 0) {
|
||||
db_pandora_audit('Massive management', 'Delete conf file '.$id_agent);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Delete conf file '.$id_agent
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Try to delete conf file '.$id_agent);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Try to delete conf file '.$id_agent
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -383,10 +389,22 @@ if ($update_agents) {
|
||||
|
||||
|
||||
if ($result !== false) {
|
||||
db_pandora_audit('Massive management', 'Update agent '.$id_agent, false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Update agent '.$id_agent,
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
} else {
|
||||
if (isset($id_agent)) {
|
||||
db_pandora_audit('Massive management', 'Try to update agent '.$id_agent, false, false, json_encode($info));
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Try to update agent '.$id_agent,
|
||||
false,
|
||||
false,
|
||||
json_encode($info)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive module update'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -187,9 +187,21 @@ if ($update) {
|
||||
|
||||
$info = '{"Modules":"'.implode(',', $modules_).'","Agents":"'.implode(',', $agents_).'"}';
|
||||
if ($success > 0) {
|
||||
db_pandora_audit('Massive management', 'Edit module', false, false, $info);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Edit module',
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to edit module', false, false, $info);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to edit module',
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||
*
|
||||
* ============================================================================
|
||||
* Copyright (c) 2005-2021 Artica Soluciones Tecnologicas
|
||||
* Copyright (c) 2005-2022 Artica Soluciones Tecnologicas
|
||||
* Please see http://pandorafms.org for full contribution list
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
@ -33,7 +33,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive plugin edition section'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -45,7 +45,7 @@ $agent_ids = get_parameter('agent_ids', []);
|
||||
$module_ids = get_parameter('module_ids', []);
|
||||
$module_names = get_parameter('module_names', []);
|
||||
|
||||
if (is_ajax()) {
|
||||
if (is_ajax() === true) {
|
||||
$get_plugin = (bool) get_parameter('get_plugin');
|
||||
$get_agents = (bool) get_parameter('get_agents');
|
||||
$get_modules = (bool) get_parameter('get_modules');
|
||||
@ -54,21 +54,21 @@ if (is_ajax()) {
|
||||
if ($get_plugin) {
|
||||
$plugin = db_get_row('tplugin', 'id', $plugin_id);
|
||||
|
||||
if (empty($plugin)) {
|
||||
if (empty($plugin) === true) {
|
||||
$plugin = [];
|
||||
}
|
||||
|
||||
if (isset($plugin['description'])) {
|
||||
if (isset($plugin['description']) === true) {
|
||||
$plugin['description'] = io_safe_output($plugin['description']);
|
||||
$plugin['description'] = str_replace("\n", '<br>', $plugin['description']);
|
||||
}
|
||||
|
||||
if (isset($plugin['macros'])) {
|
||||
if (isset($plugin['macros']) === true) {
|
||||
$macros = json_decode($plugin['macros'], true);
|
||||
if (!empty($macros)) {
|
||||
if (empty($macros) === false) {
|
||||
$macros = array_values($macros);
|
||||
|
||||
if (!empty($macros)) {
|
||||
if (empty($macros) === false) {
|
||||
$plugin['macros'] = $macros;
|
||||
}
|
||||
}
|
||||
@ -79,15 +79,15 @@ if (is_ajax()) {
|
||||
}
|
||||
|
||||
if ($get_agents) {
|
||||
$sql = "SELECT ta.id_agente, ta.alias AS agent_alias,
|
||||
$sql = 'SELECT ta.id_agente, ta.alias AS agent_alias,
|
||||
tam.nombre AS module_name
|
||||
FROM tagente ta
|
||||
INNER JOIN tagente_modulo tam
|
||||
ON ta.id_agente = tam.id_agente
|
||||
AND tam.id_plugin = $plugin_id
|
||||
ORDER BY ta.alias, tam.nombre";
|
||||
AND tam.id_plugin = '.$plugin_id.'
|
||||
ORDER BY ta.alias, tam.nombre';
|
||||
$result = db_get_all_rows_sql($sql);
|
||||
if (empty($result)) {
|
||||
if (empty($result) === true) {
|
||||
$result = [];
|
||||
}
|
||||
|
||||
@ -99,7 +99,7 @@ if (is_ajax()) {
|
||||
$name = io_safe_output($value['agent_alias']);
|
||||
$module_name = $value['module_name'];
|
||||
|
||||
if (!empty($current_element) && $current_element['id'] !== $id) {
|
||||
if (empty($current_element) === false && $current_element['id'] !== $id) {
|
||||
$agents[] = $current_element;
|
||||
$current_element = [];
|
||||
}
|
||||
@ -107,14 +107,14 @@ if (is_ajax()) {
|
||||
$current_element['id'] = $id;
|
||||
$current_element['name'] = $name;
|
||||
|
||||
if (!isset($current_element['module_names'])) {
|
||||
if (isset($current_element['module_names']) === false) {
|
||||
$current_element['module_names'] = [];
|
||||
}
|
||||
|
||||
$current_element['module_names'][] = $module_name;
|
||||
}
|
||||
|
||||
if (!empty($current_element)) {
|
||||
if (empty($current_element) === false) {
|
||||
$agents[] = $current_element;
|
||||
}
|
||||
|
||||
@ -131,7 +131,7 @@ if (is_ajax()) {
|
||||
];
|
||||
$module_plugin_macros = db_get_all_rows_filter('tagente_modulo', $filter, $fields);
|
||||
$module_plugin_macros = io_safe_output($module_plugin_macros);
|
||||
if (empty($module_plugin_macros)) {
|
||||
if (empty($module_plugin_macros) === true) {
|
||||
$module_plugin_macros = [];
|
||||
}
|
||||
|
||||
@ -139,9 +139,9 @@ if (is_ajax()) {
|
||||
$module_plugin_macros,
|
||||
function ($carry, $item) {
|
||||
$macros = json_decode($item['macros'], true);
|
||||
if (!empty($macros)) {
|
||||
if (empty($macros) === false) {
|
||||
$macros = array_values($macros);
|
||||
if (!empty($macros)) {
|
||||
if (empty($macros) === false) {
|
||||
$carry[] = $macros;
|
||||
}
|
||||
}
|
||||
@ -160,28 +160,28 @@ if (is_ajax()) {
|
||||
|
||||
$update = (bool) get_parameter('update');
|
||||
|
||||
if ($update) {
|
||||
if ($update === true) {
|
||||
try {
|
||||
$plugin = db_get_row('tplugin', 'id', $plugin_id);
|
||||
// Macros retrieved from the plugin definition
|
||||
// Macros retrieved from the plugin definition.
|
||||
$plugin_macros = [];
|
||||
if (isset($plugin['macros'])) {
|
||||
if (isset($plugin['macros']) === true) {
|
||||
$plugin_macros = json_decode($plugin['macros'], true);
|
||||
if (!empty($plugin_macros)) {
|
||||
if (empty($plugin_macros) === false) {
|
||||
$plugin_macros = array_values($plugin_macros);
|
||||
}
|
||||
}
|
||||
|
||||
// Error
|
||||
// Error.
|
||||
if (empty($plugin_macros)) {
|
||||
throw new Exception(__('Error retrieving the plugin macros'));
|
||||
}
|
||||
|
||||
// Macros returned by the form
|
||||
// Macros returned by the form.
|
||||
$macros = get_parameter('macros', []);
|
||||
|
||||
// Error
|
||||
if (empty($macros)) {
|
||||
// Error.
|
||||
if (empty($macros) === true) {
|
||||
throw new Exception(__('Error retrieving the modified macros'));
|
||||
}
|
||||
|
||||
@ -199,36 +199,36 @@ if ($update) {
|
||||
$filter,
|
||||
$fields
|
||||
);
|
||||
if (empty($module_plugin_macros)) {
|
||||
if (empty($module_plugin_macros) === true) {
|
||||
$module_plugin_macros = [];
|
||||
}
|
||||
|
||||
// Error
|
||||
if (empty($module_plugin_macros)) {
|
||||
// Error.
|
||||
if (empty($module_plugin_macros) === true) {
|
||||
throw new Exception(__('Error retrieving the module plugin macros'));
|
||||
}
|
||||
|
||||
// Begin transaction
|
||||
// db_process_sql_begin();
|
||||
// db_process_sql_begin();.
|
||||
$errors = 0;
|
||||
$count = 0;
|
||||
|
||||
foreach ($module_plugin_macros as $item) {
|
||||
$module_id = $item['id_agente_modulo'];
|
||||
$module_macros_str = $item['macros'];
|
||||
// Macros retrieved from the agent module
|
||||
// Macros retrieved from the agent module.
|
||||
$module_macros = json_decode($module_macros_str, true);
|
||||
|
||||
|
||||
// Error
|
||||
if (empty($module_macros)) {
|
||||
// Error.
|
||||
if (empty($module_macros) === true) {
|
||||
throw new Exception(
|
||||
__('Error retrieving the module plugin macros data')
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Get the new module plugin macros
|
||||
// Get the new module plugin macros.
|
||||
$result_macros = array_map(
|
||||
function ($item) use ($macros, $module_macros) {
|
||||
$result = [
|
||||
@ -238,7 +238,7 @@ if ($update) {
|
||||
'hide' => $item['hide'],
|
||||
];
|
||||
|
||||
// Get the default value os the module plugin macro
|
||||
// Get the default value os the module plugin macro.
|
||||
$default = array_reduce(
|
||||
$module_macros,
|
||||
function ($carry, $module_macro) use ($result) {
|
||||
@ -259,41 +259,48 @@ if ($update) {
|
||||
$plugin_macros
|
||||
);
|
||||
|
||||
// Error
|
||||
if (empty($result_macros)) {
|
||||
// Error.
|
||||
if (empty($result_macros) === true) {
|
||||
throw new Exception(__('Error building the new macros'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
$module_macros = io_json_mb_encode($result_macros, JSON_FORCE_OBJECT);
|
||||
if (empty($module_macros)) {
|
||||
if (empty($module_macros) === true) {
|
||||
$module_macros = $module_macros_str;
|
||||
}
|
||||
|
||||
$values = ['macros' => $module_macros];
|
||||
$where = ['id_agente_modulo' => $module_id];
|
||||
// $result = db_process_sql_update('tagente_modulo', $values, $where, 'AND', false);
|
||||
$result = db_process_sql_update('tagente_modulo', $values, $where);
|
||||
|
||||
if (!$result) {
|
||||
if ((bool) $result === false) {
|
||||
$errors++;
|
||||
} else {
|
||||
$count += $result;
|
||||
}
|
||||
}
|
||||
|
||||
// if (!$errors) {
|
||||
// db_process_sql_commit();
|
||||
// }
|
||||
// else {
|
||||
// db_process_sql_rollback();
|
||||
// }
|
||||
// Result message
|
||||
// Result message.
|
||||
$auditMessage = sprintf(
|
||||
'Plugin #%s modules updated',
|
||||
$plugin_id
|
||||
);
|
||||
ui_print_info_message(sprintf(__('%d modules updated'), $count));
|
||||
} catch (Exception $e) {
|
||||
$auditMessage = sprintf(
|
||||
'Try to update plugin #%s modules: %s',
|
||||
$plugin_id,
|
||||
$e->getMessage()
|
||||
);
|
||||
ui_print_error_message($e->getMessage());
|
||||
}
|
||||
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
$auditMessage
|
||||
);
|
||||
}
|
||||
|
||||
$table = new StdClass();
|
||||
@ -302,7 +309,7 @@ $table->width = '100%';
|
||||
$table->rowstyle = [];
|
||||
$table->data = [];
|
||||
|
||||
// Plugins
|
||||
// Plugins.
|
||||
$filter = ['order' => 'name'];
|
||||
$fields = [
|
||||
'id',
|
||||
@ -341,10 +348,10 @@ $row[] = $plugins_select;
|
||||
|
||||
$table->data['plugin-ids-row'] = $row;
|
||||
|
||||
// Agents & modules
|
||||
// Agents & modules.
|
||||
$row = [];
|
||||
|
||||
// Agents
|
||||
// Agents.
|
||||
$agents_select = html_print_select(
|
||||
$agent_ids,
|
||||
'agent_ids[]',
|
||||
@ -360,9 +367,7 @@ $agents_select = html_print_select(
|
||||
$row[] = '<b>'.__('Agents').'</b>';
|
||||
$row[] = $agents_select;
|
||||
|
||||
// Modules
|
||||
// $modules_select = html_print_select ($module_ids, 'module_ids',
|
||||
// false, '', '', 0, true, true, false);
|
||||
// Modules.
|
||||
$modules_select = html_print_select(
|
||||
$module_names,
|
||||
'module_names[]',
|
||||
@ -393,7 +398,7 @@ echo '</form>';
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var $table = $('table#massive_plugin_edition'),
|
||||
$form = $('form#form-massive_plugin_edition'),
|
||||
$submitButton = $('input#submit-upd-btn'),
|
||||
@ -401,7 +406,7 @@ echo '</form>';
|
||||
$pluginsSelect = $('select#plugin_id'),
|
||||
$agentsSelect = $('select#agent_ids'),
|
||||
$modulesSelect = $('select#module_names');
|
||||
|
||||
|
||||
var agents = [],
|
||||
ajaxPage = "<?php echo $config['homeurl'].'/'; ?>ajax.php",
|
||||
canSubmit = false,
|
||||
@ -409,15 +414,15 @@ echo '</form>';
|
||||
agentsXHR,
|
||||
modulesXHR,
|
||||
modulePluginMacrosXHR;
|
||||
|
||||
|
||||
var allowSubmit = function (val) {
|
||||
if (typeof val === 'undefined')
|
||||
val = true;
|
||||
|
||||
|
||||
canSubmit = val;
|
||||
$submitButton.prop('disabled', !val);
|
||||
}
|
||||
|
||||
|
||||
var clearModulePluginMacrosValues = function () {
|
||||
$('input.plugin-macro')
|
||||
.val('')
|
||||
@ -428,47 +433,47 @@ echo '</form>';
|
||||
.siblings('button')
|
||||
.remove();
|
||||
}
|
||||
|
||||
|
||||
var hidePluginData = function () {
|
||||
$('table#massive_plugin_edition tr.plugin-data-row').hide();
|
||||
}
|
||||
|
||||
|
||||
var clearPluginData = function () {
|
||||
hidePluginData();
|
||||
clearModulePluginMacrosValues();
|
||||
$('table#massive_plugin_edition tr.plugin-data-row').remove();
|
||||
}
|
||||
|
||||
|
||||
var clearAgentsData = function () {
|
||||
$agentsSelect.empty();
|
||||
}
|
||||
|
||||
|
||||
var clearModulesData = function () {
|
||||
$modulesSelect.empty();
|
||||
}
|
||||
|
||||
// Creates the plugin info and macros columns
|
||||
|
||||
// Creates the plugin info and macros columns.
|
||||
var fillPlugin = function (plugin) {
|
||||
clearPluginData();
|
||||
|
||||
|
||||
if (typeof plugin === 'undefined'
|
||||
|| typeof plugin.execute === 'undefined'
|
||||
|| typeof plugin.parameters === 'undefined'
|
||||
|| typeof plugin.description === 'undefined'
|
||||
|| typeof plugin.macros === 'undefined')
|
||||
throw new Error('<?php echo __('Invalid plugin data'); ?>');
|
||||
|
||||
|
||||
if (_.isString(plugin.macros)) {
|
||||
plugin.macros = JSON.parse(plugin.macros);
|
||||
}
|
||||
|
||||
|
||||
var $commandRow = $('<tr></tr>'),
|
||||
$commandCellTitle = $('<td></td>'),
|
||||
$commandCellData = $('<td></td>'),
|
||||
$descriptionRow = $('<tr></tr>'),
|
||||
$descriptionCellTitle = $('<td></td>'),
|
||||
$descriptionCellData = $('<td></td>');
|
||||
|
||||
|
||||
$commandCellTitle
|
||||
.addClass('plugin-data-cell')
|
||||
.css('font-weight', 'bold')
|
||||
@ -482,7 +487,7 @@ echo '</form>';
|
||||
.addClass('plugin-data-row')
|
||||
.css('vertical-align', 'top')
|
||||
.append($commandCellTitle, $commandCellData);
|
||||
|
||||
|
||||
$descriptionCellTitle
|
||||
.addClass('plugin-data-cell')
|
||||
.css('font-weight', 'bold')
|
||||
@ -495,16 +500,16 @@ echo '</form>';
|
||||
.addClass('plugin-data-row')
|
||||
.css('vertical-align', 'top')
|
||||
.append($descriptionCellTitle, $descriptionCellData);
|
||||
|
||||
|
||||
$table.append($commandRow, $descriptionRow);
|
||||
|
||||
|
||||
_.each(plugin.macros, function (macro, index) {
|
||||
var $macroRow = $('<tr></tr>'),
|
||||
$macroCellTitle = $('<td></td>'),
|
||||
$macroCellData = $('<td></td>'),
|
||||
$macroInput = $('<input>'),
|
||||
$macroIdentifier = $('<span></span>');
|
||||
|
||||
|
||||
$macroInput
|
||||
.prop('id', macro.macro)
|
||||
.prop('name', 'macros[' + macro.macro + ']')
|
||||
@ -526,12 +531,12 @@ echo '</form>';
|
||||
.bind('focus', function() {
|
||||
$(this).autocomplete("search");
|
||||
});
|
||||
|
||||
|
||||
$macroIdentifier
|
||||
.css('font-weight', 'normal')
|
||||
.css('padding-left', '5px')
|
||||
.append('(' + macro.macro + ')');
|
||||
|
||||
|
||||
$macroCellTitle
|
||||
.addClass('plugin-data-cell')
|
||||
.css('font-weight', 'bold')
|
||||
@ -544,22 +549,22 @@ echo '</form>';
|
||||
$macroRow
|
||||
.addClass('plugin-data-row')
|
||||
.append($macroCellTitle, $macroCellData);
|
||||
|
||||
|
||||
$table.append($macroRow);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var removeMultipleElementsButton = function (element) {
|
||||
element
|
||||
.css('width', '99%')
|
||||
.siblings('button')
|
||||
.remove();
|
||||
}
|
||||
|
||||
|
||||
// This button removes the special properties of the multiple values macro input
|
||||
var addMultipleElementsButton = function (element) {
|
||||
$button = $('<button>');
|
||||
|
||||
|
||||
$button
|
||||
.css('display', 'inline')
|
||||
.css('margin-left', '3px')
|
||||
@ -567,49 +572,49 @@ echo '</form>';
|
||||
.click(function (e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.preventDefault();
|
||||
|
||||
|
||||
if (!confirm("<?php echo __('Are you sure?'); ?>"))
|
||||
return false;
|
||||
|
||||
|
||||
removeMultipleElementsButton(element);
|
||||
|
||||
|
||||
element
|
||||
.val('')
|
||||
.data('multiple_values', false)
|
||||
.prop('placeholder', '');
|
||||
});
|
||||
|
||||
|
||||
element
|
||||
.css('width', '90%')
|
||||
.css('display', 'inline')
|
||||
.parent()
|
||||
.append($button);
|
||||
}
|
||||
|
||||
|
||||
// Fills the module plugin macros values
|
||||
var fillPluginMacros = function (moduleMacros) {
|
||||
clearModulePluginMacrosValues();
|
||||
|
||||
|
||||
if (!(moduleMacros instanceof Array))
|
||||
throw new Error('<?php echo __('Invalid macros array'); ?>');
|
||||
|
||||
|
||||
$("input.plugin-macro").each(function(index, el) {
|
||||
var id = $(el).prop('id');
|
||||
|
||||
|
||||
var values = _.chain(moduleMacros)
|
||||
.flatten()
|
||||
.where({ macro: id })
|
||||
.pluck('value')
|
||||
.uniq()
|
||||
.value();
|
||||
|
||||
|
||||
$(el).prop('disabled', false);
|
||||
|
||||
|
||||
// Remove the [""] element
|
||||
if (values.length == 1 && _.first(values) === '') {
|
||||
values = [];
|
||||
}
|
||||
|
||||
|
||||
if (values.length == 1) {
|
||||
$(el).val(_.first(values));
|
||||
}
|
||||
@ -622,9 +627,9 @@ echo '</form>';
|
||||
else {
|
||||
$(el).val('');
|
||||
}
|
||||
|
||||
|
||||
if ($(el).prop('type') !== 'password' && values.length > 0) {
|
||||
|
||||
|
||||
$(el).autocomplete("option", {
|
||||
disabled: false,
|
||||
source: values
|
||||
@ -642,14 +647,14 @@ echo '</form>';
|
||||
.css('padding-right', '20px')
|
||||
.css('text-align', 'left');
|
||||
}
|
||||
|
||||
|
||||
// Fills the agents select
|
||||
var fillAgents = function (agents, selected) {
|
||||
clearAgentsData();
|
||||
|
||||
|
||||
if (!(agents instanceof Array))
|
||||
throw new Error('<?php echo __('Invalid agents array'); ?>');
|
||||
|
||||
|
||||
_.each(agents, function (agent, index) {
|
||||
if (typeof agent.id !== 'undefined' && typeof agent.name !== 'undefined') {
|
||||
$('<option>')
|
||||
@ -658,7 +663,7 @@ echo '</form>';
|
||||
.prop('selected', function () {
|
||||
if (typeof selected !== 'undefined')
|
||||
return false;
|
||||
|
||||
|
||||
return _.contains(selected, agent.id.toString());
|
||||
})
|
||||
.appendTo($agentsSelect);
|
||||
@ -669,14 +674,14 @@ echo '</form>';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Fills the modules select
|
||||
var fillModules = function (modules, selected) {
|
||||
clearModulesData();
|
||||
|
||||
|
||||
if (!(modules instanceof Array))
|
||||
throw new Error('<?php echo __('Invalid modules array'); ?>');
|
||||
|
||||
|
||||
_.each(modules, function (module, index) {
|
||||
if (_.isString(module)) {
|
||||
$('<option>')
|
||||
@ -685,7 +690,7 @@ echo '</form>';
|
||||
.prop('selected', function () {
|
||||
if (typeof selected === 'undefined')
|
||||
return false;
|
||||
|
||||
|
||||
return _.contains(selected, module);
|
||||
})
|
||||
.appendTo($modulesSelect);
|
||||
@ -697,7 +702,7 @@ echo '</form>';
|
||||
.prop('selected', function () {
|
||||
if (typeof selected === 'undefined')
|
||||
return false;
|
||||
|
||||
|
||||
return _.contains(selected, module.name);
|
||||
})
|
||||
.appendTo($modulesSelect);
|
||||
@ -707,9 +712,9 @@ echo '</form>';
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
var processGet = function (params, callback) {
|
||||
return jQuery.post(ajaxPage, params, 'json')
|
||||
.done(function (data, textStatus, jqXHR) {
|
||||
@ -726,34 +731,34 @@ echo '</form>';
|
||||
callback(errorThrown);
|
||||
})
|
||||
.always(function (jqXHR, textStatus) {
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var getPlugin = function (pluginID, callback) {
|
||||
var params = {
|
||||
page: 'godmode/massive/massive_edit_plugins',
|
||||
get_plugin: 1,
|
||||
plugin_id: pluginID
|
||||
};
|
||||
|
||||
|
||||
pluginXHR = processGet(params, function (error, data) {
|
||||
callback(error, data);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var getAgents = function (pluginID, callback) {
|
||||
var params = {
|
||||
page: 'godmode/massive/massive_edit_plugins',
|
||||
get_agents: 1,
|
||||
plugin_id: pluginID
|
||||
};
|
||||
|
||||
|
||||
agentsXHR = processGet(params, function (error, data) {
|
||||
callback(error, data);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var getModules = function (pluginID, agentIDs, callback) {
|
||||
var params = {
|
||||
page: 'godmode/massive/massive_edit_plugins',
|
||||
@ -761,12 +766,12 @@ echo '</form>';
|
||||
plugin_id: pluginID,
|
||||
agent_ids: agentIDs
|
||||
};
|
||||
|
||||
|
||||
modulesXHR = processGet(params, function (error, data) {
|
||||
callback(error, data);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var getModulePluginMacros = function (pluginID, agentIDs, moduleNames, callback) {
|
||||
var params = {
|
||||
page: 'godmode/massive/massive_edit_plugins',
|
||||
@ -775,17 +780,17 @@ echo '</form>';
|
||||
agent_ids: agentIDs,
|
||||
module_names: moduleNames
|
||||
};
|
||||
|
||||
|
||||
modulePluginMacrosXHR = processGet(params, function (error, data) {
|
||||
callback(error, data);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Extract the a module names array from the agents
|
||||
var moduleNamesFromAgents = function (agents) {
|
||||
if (!(agents instanceof Array))
|
||||
throw new Error('<?php echo __('Invalid agents array'); ?>');
|
||||
|
||||
|
||||
var moduleNames = _.map(agents, function (agent) {
|
||||
return agent['module_names'];
|
||||
});
|
||||
@ -794,28 +799,28 @@ echo '</form>';
|
||||
.flatten()
|
||||
.uniq()
|
||||
.value();
|
||||
|
||||
|
||||
return moduleNames;
|
||||
}
|
||||
|
||||
|
||||
var agentsFilteredWithAgents = function (agents, agentIDs) {
|
||||
if (!(agents instanceof Array))
|
||||
throw new Error('<?php echo __('Invalid agents array'); ?>');
|
||||
|
||||
|
||||
var agentsFiltered = _.filter(agents, function (agent) {
|
||||
return _.contains(agentIDs, agent.id.toString());
|
||||
});
|
||||
|
||||
|
||||
// Hack. Is possible that find returns an object instead of an array
|
||||
// when the only array item is an object. Probably an Underscore.js bug
|
||||
if (typeof agentsFiltered !== 'undefined'
|
||||
&& !(agentsFiltered instanceof Array)
|
||||
&& (agentsFiltered instanceof Object))
|
||||
agentsFiltered = [agentsFiltered];
|
||||
|
||||
|
||||
return agentsFiltered;
|
||||
}
|
||||
|
||||
|
||||
var resetController = function () {
|
||||
if (typeof pluginXHR !== 'undefined') {
|
||||
pluginXHR.abort();
|
||||
@ -833,54 +838,54 @@ echo '</form>';
|
||||
modulePluginMacrosXHR.abort();
|
||||
modulePluginMacrosXHR = undefined;
|
||||
}
|
||||
|
||||
|
||||
allowSubmit(false);
|
||||
|
||||
|
||||
agents = [];
|
||||
|
||||
|
||||
hideSpinner();
|
||||
clearPluginData();
|
||||
|
||||
|
||||
$agentModulesRow.hide();
|
||||
clearAgentsData();
|
||||
clearModulesData();
|
||||
}
|
||||
|
||||
|
||||
var errorHandler = function (error) {
|
||||
hideSpinner();
|
||||
console.log("<?php echo __('Error'); ?>: " + error.message);
|
||||
// alert("<?php echo __('Error'); ?>: " + err.message);
|
||||
|
||||
|
||||
// Init the plugin id select
|
||||
$pluginsSelect.val(0).change();
|
||||
}
|
||||
|
||||
|
||||
$pluginsSelect.change(function (e) {
|
||||
allowSubmit(false);
|
||||
|
||||
|
||||
// Plugin id
|
||||
var currentVal = $(this).val();
|
||||
|
||||
|
||||
resetController();
|
||||
|
||||
|
||||
if (currentVal == 0)
|
||||
return;
|
||||
|
||||
|
||||
try {
|
||||
showSpinner();
|
||||
|
||||
|
||||
// This asyc functions are executed at the same time
|
||||
getPlugin(currentVal, function (error, data) {
|
||||
if (error) {
|
||||
errorHandler(error);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
plugin = data;
|
||||
|
||||
|
||||
try {
|
||||
fillPlugin(plugin);
|
||||
|
||||
|
||||
// Hide spinner only if the another call has finished
|
||||
if (typeof agentsXHR === 'undefined'
|
||||
|| agentsXHR.state() === 'resolved'
|
||||
@ -893,21 +898,21 @@ echo '</form>';
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// This asyc functions are executed at the same time
|
||||
getAgents(currentVal, function (error, data) {
|
||||
if (error) {
|
||||
errorHandler(error);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// This agent variable is global to this script scope
|
||||
agents = data;
|
||||
|
||||
|
||||
try {
|
||||
if (agents.length > 0) {
|
||||
fillAgents(agents);
|
||||
|
||||
|
||||
$agentModulesRow.show();
|
||||
}
|
||||
else {
|
||||
@ -915,14 +920,14 @@ echo '</form>';
|
||||
contents.html = '<?php echo __('There are no modules using this plugin'); ?>';
|
||||
contents.title = '<?php echo __('Massive operations'); ?>';
|
||||
showMassiveModal(contents);
|
||||
|
||||
|
||||
// Abort the another call
|
||||
if (typeof pluginXHR !== 'undefined') {
|
||||
pluginXHR.abort();
|
||||
pluginXHR = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Hide spinner only if the another call has finished
|
||||
if (typeof pluginXHR === 'undefined'
|
||||
|| pluginXHR.state() === 'resolved'
|
||||
@ -940,23 +945,23 @@ echo '</form>';
|
||||
errorHandler(err);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
}).change(); // Trigger the change
|
||||
|
||||
|
||||
$agentsSelect.change(function (e) {
|
||||
allowSubmit(false);
|
||||
|
||||
|
||||
var ids = $(this).val();
|
||||
var modulesSelected = $modulesSelect.val();
|
||||
|
||||
|
||||
try {
|
||||
var agentsFiltered = agentsFilteredWithAgents(agents, ids);
|
||||
var modules = moduleNamesFromAgents(agentsFiltered);
|
||||
|
||||
|
||||
for (var i = 0; i < modules.length; i++) {
|
||||
modules[i] = htmlDecode(modules[i]);
|
||||
}
|
||||
|
||||
|
||||
fillModules(modules, modulesSelected);
|
||||
}
|
||||
catch (err) {
|
||||
@ -964,42 +969,42 @@ echo '</form>';
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$modulesSelect.change(function (e) {
|
||||
allowSubmit(false);
|
||||
|
||||
|
||||
var pluginID = $pluginsSelect.val();
|
||||
var moduleNames = $(this).val();
|
||||
var agentIDs = $agentsSelect.val();
|
||||
|
||||
|
||||
if (_.isNull(moduleNames) || _.isUndefined(moduleNames)) {
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
showSpinner();
|
||||
|
||||
|
||||
clearModulePluginMacrosValues();
|
||||
|
||||
|
||||
getModulePluginMacros(pluginID, agentIDs, moduleNames, function (error, data) {
|
||||
if (error) {
|
||||
errorHandler(error);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
var modulePluginMacros = data;
|
||||
|
||||
|
||||
if (_.isArray(modulePluginMacros) && modulePluginMacros.length > 0) {
|
||||
fillPluginMacros(modulePluginMacros);
|
||||
|
||||
|
||||
allowSubmit(true);
|
||||
}
|
||||
else {
|
||||
throw new Error('<?php echo __('There was a problem loading the module plugin macros data'); ?>');
|
||||
}
|
||||
|
||||
|
||||
hideSpinner();
|
||||
}
|
||||
catch (err) {
|
||||
@ -1013,7 +1018,7 @@ echo '</form>';
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$form.submit(function(e) {
|
||||
if (!canSubmit) {
|
||||
e.stopImmediatePropagation();
|
||||
@ -1023,20 +1028,20 @@ echo '</form>';
|
||||
$form.find('input.plugin-macro')
|
||||
.filter(function() {
|
||||
var val = $(this).val();
|
||||
|
||||
|
||||
if ($(this).data("multiple_values") == true
|
||||
&& (typeof val === 'undefined'
|
||||
|| val.length == 0))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
|
||||
|
||||
}).prop('disabled', true);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$(document).ready (function () {
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive alert deletion'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -102,11 +102,15 @@ switch ($action) {
|
||||
ui_print_result_message($result, __('Successfully enabled'), __('Could not be enabled'));
|
||||
|
||||
$info = '{"Alert":"'.implode(',', $id_disabled_alerts).'"}';
|
||||
if ($result) {
|
||||
db_pandora_audit('Massive management', 'Enable alert', false, false, $info);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to enable alert', false, false, $info);
|
||||
}
|
||||
|
||||
$auditMessage = ((bool) $result === true) ? 'Enable alert' : 'Fail try to enable alert';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
$auditMessage,
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
break;
|
||||
|
||||
case 'disable_alerts':
|
||||
@ -120,11 +124,15 @@ switch ($action) {
|
||||
ui_print_result_message($result, __('Successfully disabled'), __('Could not be disabled'));
|
||||
|
||||
$info = '{"Alert":"'.implode(',', $id_enabled_alerts).'"}';
|
||||
if ($result) {
|
||||
db_pandora_audit('Massive management', 'Disable alert', false, false, $info);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to Disable alert', false, false, $info);
|
||||
}
|
||||
|
||||
$auditMessage = ((bool) $result === true) ? 'Disable alert' : 'Fail try to disable alert';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
$auditMessage,
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -33,7 +33,7 @@ global $config;
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive operation section'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -31,7 +31,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access massive alert deletion'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -103,9 +103,21 @@ switch ($action) {
|
||||
|
||||
$info = '{"Alert":"'.implode(',', $id_standby_alerts).'"}';
|
||||
if ($result) {
|
||||
db_pandora_audit('Massive management', 'Set off standby alerts', false, false, $info);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Set off standby alerts',
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to set off standby alerts', false, false, $info);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to set off standby alerts',
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -121,9 +133,21 @@ switch ($action) {
|
||||
|
||||
$info = '{"Alert":"'.implode(',', $id_not_standby_alerts).'"}';
|
||||
if ($result) {
|
||||
db_pandora_audit('Massive management', 'Set on standby alerts', false, false, $info);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Set on standby alerts',
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Massive management', 'Fail try to set on standby alerts', false, false, $info);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MASSIVE_MANAGEMENT,
|
||||
'Fail try to set on standby alerts',
|
||||
false,
|
||||
false,
|
||||
$info
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -32,7 +32,10 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AR')) {
|
||||
// Doesn't have access to this page.
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Module Library View');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Module Library View'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
exit;
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Network Profile Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -20,7 +20,7 @@ enterprise_hook('open_meta_frame');
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access SNMP Group Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -72,11 +72,12 @@ if ($create) {
|
||||
'parent' => $parent,
|
||||
]
|
||||
);
|
||||
if ($result) {
|
||||
db_pandora_audit('Module management', "Create component group #$result");
|
||||
} else {
|
||||
db_pandora_audit('Module management', 'Fail try to create component group');
|
||||
}
|
||||
|
||||
$auditMessage = ((bool) $result === true) ? sprintf('Create component group #%s', $result) : 'Fail try to create component group';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
$auditMessage
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
@ -101,11 +102,16 @@ if ($update) {
|
||||
],
|
||||
['id_sg' => $id]
|
||||
);
|
||||
if ($result) {
|
||||
db_pandora_audit('Module management', "Update component group #$id");
|
||||
} else {
|
||||
db_pandora_audit('Module management', "Fail try to update component group #$id");
|
||||
}
|
||||
|
||||
$auditMessage = ((bool) $result === true) ? 'Update component group' : 'Fail try to update component group';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
sprintf(
|
||||
'%s #%s',
|
||||
$auditMessage,
|
||||
$id
|
||||
)
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
@ -131,11 +137,15 @@ if ($delete) {
|
||||
$result = false;
|
||||
}
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Module management', "Delete component group #$id");
|
||||
} else {
|
||||
db_pandora_audit('Module management', "Fail try to delete component group #$id");
|
||||
}
|
||||
$auditMessage = ((bool) $result === true) ? 'Delete component group' : 'Fail try to delete component group';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
sprintf(
|
||||
'%s #%s',
|
||||
$auditMessage,
|
||||
$id
|
||||
)
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
@ -168,17 +178,16 @@ if ($multiple_delete) {
|
||||
}
|
||||
|
||||
$str_ids = implode(',', $ids);
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
"Multiple delete component group: $str_ids"
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
"Fail try to delete component group: $str_ids"
|
||||
);
|
||||
}
|
||||
|
||||
$auditMessage = ((bool) $result === true) ? 'Multiple delete component group' : 'Fail try to delete multiple component group';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
sprintf(
|
||||
'%s #%s',
|
||||
$auditMessage,
|
||||
$str_ids
|
||||
)
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
|
@ -18,7 +18,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access SNMO Groups Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -34,7 +34,7 @@ enterprise_hook('open_meta_frame');
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -415,7 +415,7 @@ if ($is_management_allowed === true && $create_component) {
|
||||
|
||||
if ($id === false || !$id) {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail try to create remote component'
|
||||
);
|
||||
|
||||
@ -431,7 +431,10 @@ if ($is_management_allowed === true && $create_component) {
|
||||
return;
|
||||
}
|
||||
|
||||
db_pandora_audit('Module management', 'Create network component #'.$id);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Create network component #'.$id
|
||||
);
|
||||
ui_print_success_message(__('Created successfully'));
|
||||
$id = 0;
|
||||
}
|
||||
@ -516,7 +519,7 @@ if ($is_management_allowed === true && $update_component) {
|
||||
|
||||
if ($result === false || !$result) {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail try to update network component #'.$id
|
||||
);
|
||||
ui_print_error_message(__('Could not be updated'));
|
||||
@ -524,7 +527,10 @@ if ($is_management_allowed === true && $update_component) {
|
||||
return;
|
||||
}
|
||||
|
||||
db_pandora_audit('Module management', 'Update network component #'.$id);
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Update network component #'.$id
|
||||
);
|
||||
ui_print_success_message(__('Updated successfully'));
|
||||
|
||||
$id = 0;
|
||||
@ -535,17 +541,11 @@ if ($is_management_allowed === true && $delete_component) {
|
||||
|
||||
$result = network_components_delete_network_component($id);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
'Delete network component #'.$id
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
'Fail try to delete network component #'.$id
|
||||
);
|
||||
}
|
||||
$auditMessage = ((bool) $result === true) ? 'Delete network component' : 'Fail try to delete network component';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
sprintf('%s #%s', $auditMessage, $id)
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
@ -567,17 +567,11 @@ if ($is_management_allowed === true && $multiple_delete) {
|
||||
}
|
||||
|
||||
$str_ids = implode(',', $ids);
|
||||
if ($result) {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
'Multiple delete network component:'.$str_ids
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit(
|
||||
'Module management',
|
||||
'Fail try to delete network component:'.$str_ids
|
||||
);
|
||||
}
|
||||
$auditMessage = ((bool) $result === true) ? 'Multiple delete network component' : 'Fail try to delete multiple network component';
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
sprintf('%s :%s', $auditMessage, $str_ids)
|
||||
);
|
||||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
|
@ -33,7 +33,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -18,7 +18,7 @@ include_javascript_d3();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -33,7 +33,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM') && ! check_acl($config['id_user'], 0, 'AW')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -19,7 +19,10 @@ include_javascript_d3();
|
||||
if (!check_acl($config['id_user'], 0, 'PM')
|
||||
&& !check_acl($config['id_user'], 0, 'AW')
|
||||
) {
|
||||
db_pandora_audit('ACL Violation', 'Trying to access Agent Management');
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
return;
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Agent Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
|
@ -18,7 +18,7 @@ check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'PM')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
AUDIT_LOG_ACL_VIOLATION,
|
||||
'Trying to access Network Profile Management'
|
||||
);
|
||||
include 'general/noaccess.php';
|
||||
@ -67,9 +67,15 @@ if ($delete_profile) {
|
||||
$result = network_profiles_delete_network_profile($id);
|
||||
|
||||
if ($result) {
|
||||
db_pandora_audit('Module management', "Delete module template #$id");
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Delete module template #'.$id
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Module management', "Fail try to delete module template #$id");
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail try to delete module template #'.$id
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
@ -92,9 +98,15 @@ if ($multiple_delete) {
|
||||
|
||||
$str_ids = implode(',', $ids);
|
||||
if ($result) {
|
||||
db_pandora_audit('Module management', "Multiple delete module template: $str_ids");
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Multiple delete module template: '.$str_ids
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Module management', "Fail try to delete module template: $str_ids");
|
||||
db_pandora_audit(
|
||||
AUDIT_LOG_MODULE_MANAGEMENT,
|
||||
'Fail try to delete module template: '.$str_ids
|
||||
);
|
||||
}
|
||||
|
||||
ui_print_result_message(
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user