mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-30 01:05:39 +02:00
Merge remote-tracking branch 'origin/develop' into fix/reverse-proxy
This commit is contained in:
commit
507aaf1202
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.729-181119
|
Version: 7.0NG.729-181121
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.729-181119"
|
pandora_version="7.0NG.729-181121"
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
echo "Test if you has the tools for to make the packages."
|
||||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||||
|
@ -42,7 +42,7 @@ my $Sem = undef;
|
|||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.729';
|
use constant AGENT_VERSION => '7.0NG.729';
|
||||||
use constant AGENT_BUILD => '181119';
|
use constant AGENT_BUILD => '181121';
|
||||||
|
|
||||||
# Agent log default file size maximum and instances
|
# Agent log default file size maximum and instances
|
||||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.729
|
%define version 7.0NG.729
|
||||||
%define release 181119
|
%define release 181121
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.729
|
%define version 7.0NG.729
|
||||||
%define release 181119
|
%define release 181121
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.729"
|
PI_VERSION="7.0NG.729"
|
||||||
PI_BUILD="181119"
|
PI_BUILD="181121"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{181119}
|
{181121}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||||||
using namespace Pandora_Strutils;
|
using namespace Pandora_Strutils;
|
||||||
|
|
||||||
#define PATH_SIZE _MAX_PATH+1
|
#define PATH_SIZE _MAX_PATH+1
|
||||||
#define PANDORA_VERSION ("7.0NG.729(Build 181119)")
|
#define PANDORA_VERSION ("7.0NG.729(Build 181121)")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
@ -11,7 +11,7 @@ BEGIN
|
|||||||
VALUE "LegalCopyright", "Artica ST"
|
VALUE "LegalCopyright", "Artica ST"
|
||||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||||
VALUE "ProductVersion", "(7.0NG.729(Build 181119))"
|
VALUE "ProductVersion", "(7.0NG.729(Build 181121))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.729-181119
|
Version: 7.0NG.729-181121
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.729-181119"
|
pandora_version="7.0NG.729-181121"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
|
|
||||||
|
ALTER TABLE `talert_commands` ADD COLUMN `id_group` mediumint(8) unsigned NULL default 0;
|
||||||
|
|
||||||
ALTER TABLE `tusuario` DROP COLUMN `flash_chart`;
|
ALTER TABLE `tusuario` DROP COLUMN `flash_chart`;
|
||||||
|
|
||||||
ALTER TABLE `tusuario` ADD COLUMN `default_custom_view` int(10) unsigned NULL default '0';
|
ALTER TABLE `tusuario` ADD COLUMN `default_custom_view` int(10) unsigned NULL default '0';
|
||||||
|
@ -1159,8 +1159,8 @@ ALTER TABLE talert_actions ADD COLUMN `field15_recovery` TEXT NOT NULL DEFAULT "
|
|||||||
-- Table `talert_commands`
|
-- Table `talert_commands`
|
||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
UPDATE `talert_commands` SET `fields_descriptions` = '[\"Integria IMS API path\",\"Integria IMS API pass\",\"Integria IMS user\",\"Integria IMS user pass\",\"Ticket title\",\"Ticket group ID\",\"Ticket priority\",\"Email copy\",\"Ticket owner\",\"Ticket description\"]', `fields_values` = '[\"\",\"\",\"\",\"\",\"\",\"\",\"10,Maintenance;0,Informative;1,Low;2,Medium;3,Serious;4,Very Serious\",\"\",\"\",\"\"]' WHERE `id` = 11 AND `name` = 'Integria IMS Ticket';
|
UPDATE `talert_commands` SET `fields_descriptions` = '[\"Integria IMS API path\",\"Integria IMS API pass\",\"Integria IMS user\",\"Integria IMS user pass\",\"Ticket title\",\"Ticket group ID\",\"Ticket priority\",\"Email copy\",\"Ticket owner\",\"Ticket description\"]', `fields_values` = '[\"\",\"\",\"\",\"\",\"\",\"\",\"10,Maintenance;0,Informative;1,Low;2,Medium;3,Serious;4,Very Serious\",\"\",\"\",\"\"]' WHERE `id` = 11 AND `name` = 'Integria IMS Ticket';
|
||||||
|
|
||||||
UPDATE `talert_commands` SET `description` = 'This alert send an email using internal Pandora FMS Server SMTP capabilities (defined in each server, using:
_field1_ as destination email address, and
_field2_ as subject for message. 
_field3_ as text of message. 
_field4_ as content type (text/plain or html/text).', `fields_descriptions` = '[\"Destination address\",\"Subject\",\"Text\",\"Content Type\",\"\",\"\",\"\",\"\",\"\",\"\"]', `fields_values` = '[\"\",\"\",\"_html_editor_\",\"_content_type_\",\"\",\"\",\"\",\"\",\"\",\"\"]' WHERE id=1;
|
UPDATE `talert_commands` SET `description` = 'This alert send an email using internal Pandora FMS Server SMTP capabilities (defined in each server, using:
_field1_ as destination email address, and
_field2_ as subject for message. 
_field3_ as text of message. 
_field4_ as content type (text/plain or html/text).', `fields_descriptions` = '[\"Destination address\",\"Subject\",\"Text\",\"Content Type\",\"\",\"\",\"\",\"\",\"\",\"\"]', `fields_values` = '[\"\",\"\",\"_html_editor_\",\"_content_type_\",\"\",\"\",\"\",\"\",\"\",\"\"]' WHERE id=1;
|
||||||
|
ALTER TABLE `talert_commands` ADD COLUMN `id_group` mediumint(8) unsigned NULL default 0;
|
||||||
|
|
||||||
UPDATE `talert_actions` SET `field4` = 'text/html', `field4_recovery` = 'text/html' WHERE id = 1;
|
UPDATE `talert_actions` SET `field4` = 'text/html', `field4_recovery` = 'text/html' WHERE id = 1;
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ else {
|
|||||||
$sec = 'galertas';
|
$sec = 'galertas';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!$copy_action) && (!$delete_action) && (!$update_action)) {
|
if ((!$copy_action) && (!$delete_action)) {
|
||||||
// Header
|
// Header
|
||||||
if (defined('METACONSOLE')) {
|
if (defined('METACONSOLE')) {
|
||||||
alerts_meta_print_header ();
|
alerts_meta_print_header ();
|
||||||
@ -141,135 +141,8 @@ if ($copy_action) {
|
|||||||
__('Could not be copied'));
|
__('Could not be copied'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($create_action) {
|
if ($update_action || $create_action) {
|
||||||
$name = (string) get_parameter ('name');
|
alerts_ui_update_or_create_actions($update_action);
|
||||||
$id_alert_command = (int) get_parameter ('id_command');
|
|
||||||
|
|
||||||
$fields_descriptions = array();
|
|
||||||
$fields_values = array();
|
|
||||||
$info_fields = '';
|
|
||||||
$values = array();
|
|
||||||
for($i=1;$i<=$config['max_macro_fields'];$i++) {
|
|
||||||
$values['field'.$i] = (string) get_parameter ('field'.$i.'_value');
|
|
||||||
$info_fields .= ' Field'.$i.': ' . $values['field'.$i];
|
|
||||||
$values['field'.$i.'_recovery'] = (string) get_parameter ('field'.$i.'_recovery_value');
|
|
||||||
$info_fields .= ' Field'.$i.'Recovery: ' . $values['field'.$i.'_recovery'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$values['id_group'] = (string) get_parameter ('group');
|
|
||||||
$values['action_threshold'] = (int) get_parameter ('action_threshold');
|
|
||||||
|
|
||||||
$name_check = db_get_value ('name', 'talert_actions', 'name', $name);
|
|
||||||
|
|
||||||
if ($name_check) {
|
|
||||||
$result = '';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$result = alerts_create_alert_action ($name, $id_alert_command,
|
|
||||||
$values);
|
|
||||||
|
|
||||||
$info = '{"Name":"'.$name.'", "ID alert Command":"'.$id_alert_command.'", "Field information":"'.$info_fields.'", "Group":"'.$values['id_group'].'",
|
|
||||||
"Action threshold":"'.$values['action_threshold'].'"}';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
db_pandora_audit("Command management", "Create alert action #" . $result, false, false, $info);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
db_pandora_audit("Command management", "Fail try to create alert action", false, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Show errors */
|
|
||||||
if (!isset($messageAction)) {
|
|
||||||
$messageAction = __('Could not be created');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($name == "") {
|
|
||||||
$messageAction = __('No name specified');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($id_alert_command == "") {
|
|
||||||
$messageAction = __('No command specified');
|
|
||||||
}
|
|
||||||
|
|
||||||
$messageAction = ui_print_result_message ($result,
|
|
||||||
__('Successfully created'),
|
|
||||||
$messageAction);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($update_action) {
|
|
||||||
$id = (string) get_parameter ('id');
|
|
||||||
|
|
||||||
$al_action = alerts_get_alert_action ($id);
|
|
||||||
|
|
||||||
if ($al_action !== false) {
|
|
||||||
if ($al_action['id_group'] == 0) {
|
|
||||||
if (! check_acl ($config['id_user'], 0, "PM")) {
|
|
||||||
db_pandora_audit("ACL Violation",
|
|
||||||
"Trying to access Alert Management");
|
|
||||||
require ("general/noaccess.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Header
|
|
||||||
if (defined('METACONSOLE')) {
|
|
||||||
alerts_meta_print_header ();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
ui_print_page_header (__('Alerts').' » '.__('Alert actions'), "images/gm_alerts.png", false, "alerts_config", true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Header
|
|
||||||
if (defined('METACONSOLE')) {
|
|
||||||
alerts_meta_print_header ();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
ui_print_page_header (__('Alerts').' » '.__('Alert actions'), "images/gm_alerts.png", false, "alerts_config", true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$name = (string) get_parameter ('name');
|
|
||||||
$id_alert_command = (int) get_parameter ('id_command');
|
|
||||||
$group = get_parameter ('group');
|
|
||||||
$action_threshold = (int) get_parameter ('action_threshold');
|
|
||||||
|
|
||||||
$info_fields = '';
|
|
||||||
$values = array();
|
|
||||||
|
|
||||||
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
|
|
||||||
$values['field'.$i] = (string) get_parameter ('field'.$i.'_value');
|
|
||||||
$info_fields .= ' Field1: ' . $values['field'.$i];
|
|
||||||
$values['field'.$i.'_recovery'] = (string) get_parameter ('field'.$i.'_recovery_value');
|
|
||||||
$info_fields .= ' Field'.$i.'Recovery: ' . $values['field'.$i.'_recovery'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$values['name'] = $name;
|
|
||||||
$values['id_alert_command'] = $id_alert_command;
|
|
||||||
$values['id_group'] = $group;
|
|
||||||
$values['action_threshold'] = $action_threshold;
|
|
||||||
|
|
||||||
if (!$name) {
|
|
||||||
$result = '';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$result = alerts_update_alert_action ($id, $values);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
db_pandora_audit("Command management", "Update alert action #" . $id, false, false, json_encode($values));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
db_pandora_audit("Command management", "Fail try to update alert action #" . $id, false, false, json_encode($values));
|
|
||||||
}
|
|
||||||
|
|
||||||
ui_print_result_message ($result,
|
|
||||||
__('Successfully updated'),
|
|
||||||
__('Could not be updated'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($delete_action) {
|
if ($delete_action) {
|
||||||
@ -363,9 +236,13 @@ $table->align[3] = 'left';
|
|||||||
|
|
||||||
$filter = array();
|
$filter = array();
|
||||||
if (!is_user_admin($config['id_user']))
|
if (!is_user_admin($config['id_user']))
|
||||||
$filter['id_group'] = array_keys(users_get_groups(false, "LM"));
|
$filter['talert_actions.id_group'] = array_keys(users_get_groups(false, "LM"));
|
||||||
|
|
||||||
$actions = db_get_all_rows_filter ('talert_actions', $filter);
|
$actions = db_get_all_rows_filter (
|
||||||
|
'talert_actions INNER JOIN talert_commands ON talert_actions.id_alert_command = talert_commands.id',
|
||||||
|
$filter,
|
||||||
|
'talert_actions.* , talert_commands.id_group AS command_group'
|
||||||
|
);
|
||||||
if ($actions === false)
|
if ($actions === false)
|
||||||
$actions = array ();
|
$actions = array ();
|
||||||
|
|
||||||
@ -380,11 +257,19 @@ foreach ($actions as $action) {
|
|||||||
$iterator++;
|
$iterator++;
|
||||||
|
|
||||||
$data = array ();
|
$data = array ();
|
||||||
|
|
||||||
$data[0] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/configure_alert_action&id='.$action['id'].'&pure='.$pure.'">'.
|
$data[0] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/configure_alert_action&id='.$action['id'].'&pure='.$pure.'">'.
|
||||||
$action['name'].'</a>';
|
$action['name'].'</a>';
|
||||||
$data[1] = ui_print_group_icon ($action["id_group"], true) .' ';
|
$data[1] = ui_print_group_icon ($action["id_group"], true) .' ';
|
||||||
|
if (!alerts_validate_command_to_action($action["id_group"], $action["command_group"])) {
|
||||||
|
$data[1].= html_print_image(
|
||||||
|
"images/error.png",
|
||||||
|
true,
|
||||||
|
// FIXME: Translation.
|
||||||
|
array("title" => __("The action and the command associated with it do not have the same group. Please contact an administrator to fix it.")
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
if (check_acl($config['id_user'], $action["id_group"], "LM")) {
|
if (check_acl($config['id_user'], $action["id_group"], "LM")) {
|
||||||
$data[2] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_actions&copy_action=1&id='.$action['id'].'&pure='.$pure.'"
|
$data[2] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_actions&copy_action=1&id='.$action['id'].'&pure='.$pure.'"
|
||||||
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">' .
|
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">' .
|
||||||
@ -393,7 +278,7 @@ foreach ($actions as $action) {
|
|||||||
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.
|
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.
|
||||||
html_print_image("images/cross.png", true) . '</a>';
|
html_print_image("images/cross.png", true) . '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
array_push ($table->data, $data);
|
array_push ($table->data, $data);
|
||||||
}
|
}
|
||||||
if (isset($data)) {
|
if (isset($data)) {
|
||||||
|
@ -38,6 +38,7 @@ $pure = (int)get_parameter('pure', 0);
|
|||||||
$update_command = (bool) get_parameter ('update_command');
|
$update_command = (bool) get_parameter ('update_command');
|
||||||
$create_command = (bool) get_parameter ('create_command');
|
$create_command = (bool) get_parameter ('create_command');
|
||||||
$delete_command = (bool) get_parameter ('delete_command');
|
$delete_command = (bool) get_parameter ('delete_command');
|
||||||
|
$copy_command = (bool) get_parameter ('copy_command');
|
||||||
|
|
||||||
if (is_ajax ()) {
|
if (is_ajax ()) {
|
||||||
$get_alert_command = (bool) get_parameter ('get_alert_command');
|
$get_alert_command = (bool) get_parameter ('get_alert_command');
|
||||||
@ -57,37 +58,13 @@ if (is_ajax ()) {
|
|||||||
if (isset($command['description'])) {
|
if (isset($command['description'])) {
|
||||||
$command['description'] = io_safe_input(str_replace("\r\n","<br>", io_safe_output($command['description'])));
|
$command['description'] = io_safe_input(str_replace("\r\n","<br>", io_safe_output($command['description'])));
|
||||||
}
|
}
|
||||||
|
// Descriptions are stored in json
|
||||||
// Get the html rows of the fields form
|
$fields_descriptions = empty($command['fields_descriptions']) ?
|
||||||
switch ($config["dbtype"]) {
|
'' : json_decode(io_safe_output($command['fields_descriptions']), true);
|
||||||
case "mysql":
|
// Fields values are stored in json
|
||||||
case "postgresql":
|
$fields_values = empty($command['fields_values']) ?
|
||||||
// Descriptions are stored in json
|
'' : io_safe_output(json_decode($command['fields_values'], true));
|
||||||
$fields_descriptions = empty($command['fields_descriptions']) ?
|
|
||||||
'' : json_decode(io_safe_output($command['fields_descriptions']), true);
|
|
||||||
|
|
||||||
// Fields values are stored in json
|
|
||||||
$fields_values = empty($command['fields_values']) ?
|
|
||||||
'' : io_safe_output(json_decode($command['fields_values'], true));
|
|
||||||
break;
|
|
||||||
case "oracle":
|
|
||||||
// Descriptions are stored in json
|
|
||||||
$description_field = str_replace("\\\"","\"",$command['fields_descriptions']);
|
|
||||||
$description_field = str_replace("\\","",$description_field);
|
|
||||||
|
|
||||||
$fields_descriptions = empty($command['fields_descriptions']) ?
|
|
||||||
'' : json_decode(io_safe_output($description_field), true);
|
|
||||||
|
|
||||||
// Fields values are stored in json
|
|
||||||
$values_fields = str_replace("\\\"","\"",$command['fields_values']);
|
|
||||||
$values_fields = str_replace("\\","",$values_fields);
|
|
||||||
|
|
||||||
$fields_values = empty($command['fields_values']) ?
|
|
||||||
'' : io_safe_output(json_decode($values_fields, true));
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$fields_rows = array();
|
$fields_rows = array();
|
||||||
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
|
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
|
||||||
|
|
||||||
@ -266,13 +243,11 @@ if (defined('METACONSOLE'))
|
|||||||
else
|
else
|
||||||
ui_print_page_header (__('Alerts').' » '.__('Alert commands'), "images/gm_alerts.png", false, "alerts_config", true);
|
ui_print_page_header (__('Alerts').' » '.__('Alert commands'), "images/gm_alerts.png", false, "alerts_config", true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($create_command) {
|
if ($create_command) {
|
||||||
$name = (string) get_parameter ('name');
|
$name = (string) get_parameter ('name');
|
||||||
$command = (string) get_parameter ('command');
|
$command = (string) get_parameter ('command');
|
||||||
$description = (string) get_parameter ('description');
|
$description = (string) get_parameter ('description');
|
||||||
|
$id_group = (string) get_parameter ('id_group', 0);
|
||||||
|
|
||||||
$fields_descriptions = array();
|
$fields_descriptions = array();
|
||||||
$fields_values = array();
|
$fields_values = array();
|
||||||
@ -287,7 +262,8 @@ if ($create_command) {
|
|||||||
$values['fields_values'] = io_json_mb_encode($fields_values);
|
$values['fields_values'] = io_json_mb_encode($fields_values);
|
||||||
$values['fields_descriptions'] = io_json_mb_encode($fields_descriptions);
|
$values['fields_descriptions'] = io_json_mb_encode($fields_descriptions);
|
||||||
$values['description'] = $description;
|
$values['description'] = $description;
|
||||||
|
$values['id_group'] = $id_group;
|
||||||
|
|
||||||
$name_check = db_get_value ('name', 'talert_commands', 'name', $name);
|
$name_check = db_get_value ('name', 'talert_commands', 'name', $name);
|
||||||
|
|
||||||
if (!$name_check) {
|
if (!$name_check) {
|
||||||
@ -349,8 +325,27 @@ if ($delete_command) {
|
|||||||
ui_print_result_message ($result,
|
ui_print_result_message ($result,
|
||||||
__('Successfully deleted'),
|
__('Successfully deleted'),
|
||||||
__('Could not be deleted'));
|
__('Could not be deleted'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($copy_command) {
|
||||||
|
$id = (int) get_parameter ('id');
|
||||||
|
|
||||||
|
// Get the info from the source command
|
||||||
|
$command_to_copy = db_get_row('talert_commands', 'id', $id);
|
||||||
|
if ($command_to_copy === false) {
|
||||||
|
ui_print_error_message(__("Command with id $id does not found."));
|
||||||
|
} else {
|
||||||
|
// Prepare to insert the copy with same values
|
||||||
|
unset ($command_to_copy['id']);
|
||||||
|
$command_to_copy['name'].= __(' (copy)');
|
||||||
|
$result = db_process_sql_insert('talert_commands', $command_to_copy);
|
||||||
|
|
||||||
|
// Print the result
|
||||||
|
ui_print_result_message ($result,
|
||||||
|
__('Successfully copied'),
|
||||||
|
__('Could not be copied')
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$table->width = '100%';
|
$table->width = '100%';
|
||||||
@ -358,45 +353,54 @@ $table->class = 'databox data';
|
|||||||
|
|
||||||
$table->data = array ();
|
$table->data = array ();
|
||||||
$table->head = array ();
|
$table->head = array ();
|
||||||
$table->head[0] = __('Name');
|
$table->head['name'] = __('Name');
|
||||||
$table->head[1] = __('ID');
|
$table->head['id'] = __('ID');
|
||||||
$table->head[2] = __('Description');
|
$table->head['group'] = __('Group');
|
||||||
$table->head[3] = __('Delete');
|
$table->head['description'] = __('Description');
|
||||||
|
$table->head['action'] = __('Actions');
|
||||||
$table->style = array ();
|
$table->style = array ();
|
||||||
$table->style[0] = 'font-weight: bold';
|
$table->style['name'] = 'font-weight: bold';
|
||||||
$table->size = array ();
|
$table->size = array ();
|
||||||
$table->size[3] = '40px';
|
$table->size['action'] = '40px';
|
||||||
$table->align = array ();
|
$table->align = array ();
|
||||||
$table->align[3] = 'left';
|
$table->align['action'] = 'left';
|
||||||
|
|
||||||
$commands = db_get_all_rows_in_table ('talert_commands');
|
$commands = db_get_all_rows_filter(
|
||||||
if ($commands === false)
|
'talert_commands',
|
||||||
$commands = array ();
|
array('id_group' => array_keys(users_get_groups(false, "LM")))
|
||||||
|
);
|
||||||
|
if ($commands === false) $commands = array ();
|
||||||
|
|
||||||
foreach ($commands as $command) {
|
foreach ($commands as $command) {
|
||||||
$data = array ();
|
$data = array ();
|
||||||
|
|
||||||
$data[0] = '<span style="font-size: 7.5pt">';
|
$data['name'] = '<span style="font-size: 7.5pt">';
|
||||||
if (! $command['internal'])
|
if (! $command['internal'])
|
||||||
$data[0] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/configure_alert_command&id='.$command['id'].'&pure='.$pure.'">'.
|
$data['name'] .= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/configure_alert_command&id='.$command['id'].'&pure='.$pure.'">'.
|
||||||
$command['name'].'</a>';
|
$command['name'].'</a>';
|
||||||
else
|
else
|
||||||
$data[0] .= $command['name'];
|
$data['name'] .= $command['name'];
|
||||||
$data[0] .= '</span>';
|
$data['name'] .= '</span>';
|
||||||
$data[1] = $command['id'];
|
$data['id'] = $command['id'];
|
||||||
$data[2] = str_replace("\r\n","<br>",
|
$data['group'] = ui_print_group_icon ($command["id_group"], true);
|
||||||
|
$data['description'] = str_replace("\r\n","<br>",
|
||||||
io_safe_output($command['description']));
|
io_safe_output($command['description']));
|
||||||
$data[3] = '';
|
$data['action'] = '';
|
||||||
if (! $command['internal']) {
|
if (! $command['internal']) {
|
||||||
$data[3] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&delete_command=1&id='.$command['id'].'&pure='.$pure.'"
|
$data['action'] = '<span style="display: inline-flex">';
|
||||||
|
$data['action'].= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&copy_command=1&id='.$command['id'].'&pure='.$pure.'"
|
||||||
|
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.
|
||||||
|
html_print_image("images/copy.png", true) . '</a>';
|
||||||
|
$data['action'].= '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_commands&delete_command=1&id='.$command['id'].'&pure='.$pure.'"
|
||||||
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.
|
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.
|
||||||
html_print_image("images/cross.png", true) . '</a>';
|
html_print_image("images/cross.png", true) . '</a>';
|
||||||
|
$data['action'].= '</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
array_push ($table->data, $data);
|
array_push ($table->data, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($data)) {
|
if (count($table->data) > 0) {
|
||||||
html_print_table ($table);
|
html_print_table ($table);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -122,7 +122,6 @@ $table->colspan[0][1] = 2;
|
|||||||
|
|
||||||
$table->data[1][0] = __('Group');
|
$table->data[1][0] = __('Group');
|
||||||
|
|
||||||
$groups = users_get_groups ();
|
|
||||||
$own_info = get_user_info ($config['id_user']);
|
$own_info = get_user_info ($config['id_user']);
|
||||||
// Only display group "All" if user is administrator or has "PM" privileges
|
// Only display group "All" if user is administrator or has "PM" privileges
|
||||||
if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM"))
|
if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM"))
|
||||||
@ -133,9 +132,17 @@ $table->data[1][1] = html_print_select_groups(false, "LW", $display_all_group, '
|
|||||||
$table->colspan[1][1] = 2;
|
$table->colspan[1][1] = 2;
|
||||||
|
|
||||||
$table->data[2][0] = __('Command');
|
$table->data[2][0] = __('Command');
|
||||||
$table->data[2][1] = html_print_select_from_sql ('SELECT id, name
|
$commands_sql = db_get_all_rows_filter(
|
||||||
FROM talert_commands',
|
'talert_commands',
|
||||||
'id_command', $id_command, '', __('None'), 0, true);
|
array('id_group' => array_keys(users_get_groups(false, "LW"))),
|
||||||
|
array('id', 'name'),
|
||||||
|
'AND',
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
$table->data[2][1] = html_print_select_from_sql ($commands_sql, 'id_command', $id_command,
|
||||||
|
'', __('None'), 0, true
|
||||||
|
);
|
||||||
$table->data[2][1] .= ' ';
|
$table->data[2][1] .= ' ';
|
||||||
if (check_acl ($config['id_user'], 0, "PM")) {
|
if (check_acl ($config['id_user'], 0, "PM")) {
|
||||||
$table->data[2][1] .= html_print_image ('images/add.png', true);
|
$table->data[2][1] .= html_print_image ('images/add.png', true);
|
||||||
@ -282,6 +289,19 @@ $(document).ready (function () {
|
|||||||
|
|
||||||
var max_fields = parseInt('<?php echo $config["max_macro_fields"]; ?>');
|
var max_fields = parseInt('<?php echo $config["max_macro_fields"]; ?>');
|
||||||
|
|
||||||
|
// Change the selected group
|
||||||
|
$("#group option").each(function(index, value) {
|
||||||
|
var current_group = $(value).val();
|
||||||
|
if (data.id_group != 0 && current_group != 0 && current_group != data.id_group) {
|
||||||
|
$(value).hide();
|
||||||
|
} else {
|
||||||
|
$(value).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (data.id_group != 0 && $("#group").val() != data.id_group) {
|
||||||
|
$("#group").val(0);
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 1; i <= max_fields; i++) {
|
for (i = 1; i <= max_fields; i++) {
|
||||||
var old_value = '';
|
var old_value = '';
|
||||||
var old_recovery_value = '';
|
var old_recovery_value = '';
|
||||||
|
@ -54,6 +54,7 @@ if ($update_command) {
|
|||||||
$name = (string) get_parameter ('name');
|
$name = (string) get_parameter ('name');
|
||||||
$command = (string) get_parameter ('command');
|
$command = (string) get_parameter ('command');
|
||||||
$description = (string) get_parameter ('description');
|
$description = (string) get_parameter ('description');
|
||||||
|
$id_group = (string) get_parameter ('id_group', 0);
|
||||||
|
|
||||||
$fields_descriptions = array();
|
$fields_descriptions = array();
|
||||||
$fields_values = array();
|
$fields_values = array();
|
||||||
@ -71,7 +72,8 @@ if ($update_command) {
|
|||||||
$values['name'] = $name;
|
$values['name'] = $name;
|
||||||
$values['command'] = $command;
|
$values['command'] = $command;
|
||||||
$values['description'] = $description;
|
$values['description'] = $description;
|
||||||
|
$values['id_group'] = $id_group;
|
||||||
|
|
||||||
//Check it the new name is used in the other command.
|
//Check it the new name is used in the other command.
|
||||||
$id_check = db_get_value ('id', 'talert_commands', 'name', $name);
|
$id_check = db_get_value ('id', 'talert_commands', 'name', $name);
|
||||||
if (($id_check != $id) && (!empty($id_check))) {
|
if (($id_check != $id) && (!empty($id_check))) {
|
||||||
@ -100,12 +102,13 @@ $command = '';
|
|||||||
$description = '';
|
$description = '';
|
||||||
$fields_descriptions = '';
|
$fields_descriptions = '';
|
||||||
$fields_values = '';
|
$fields_values = '';
|
||||||
|
$id_group = 0;
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$alert = alerts_get_alert_command ($id);
|
$alert = alerts_get_alert_command ($id);
|
||||||
$name = $alert['name'];
|
$name = $alert['name'];
|
||||||
$command = $alert['command'];
|
$command = $alert['command'];
|
||||||
$description = $alert['description'];
|
$description = $alert['description'];
|
||||||
|
$id_group = $alert['id_group'];
|
||||||
$fields_descriptions = $alert['fields_descriptions'];
|
$fields_descriptions = $alert['fields_descriptions'];
|
||||||
$fields_values = $alert['fields_values'];
|
$fields_values = $alert['fields_values'];
|
||||||
}
|
}
|
||||||
@ -123,13 +126,7 @@ $table->width = '100%';
|
|||||||
$table->class = 'databox filters';
|
$table->class = 'databox filters';
|
||||||
|
|
||||||
if (defined('METACONSOLE')) {
|
if (defined('METACONSOLE')) {
|
||||||
if ($id) {
|
$table->head[0] = ($id) ? __('Update Command') : __('Create Command');
|
||||||
$table->head[0] = __('Update Command');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$table->head[0] = __('Create Command');
|
|
||||||
}
|
|
||||||
|
|
||||||
$table->head_colspan[0] = 4;
|
$table->head_colspan[0] = 4;
|
||||||
$table->headstyle[0] = 'text-align: center';
|
$table->headstyle[0] = 'text-align: center';
|
||||||
}
|
}
|
||||||
@ -142,18 +139,25 @@ $table->size = array ();
|
|||||||
$table->size[0] = '20%';
|
$table->size[0] = '20%';
|
||||||
$table->data = array ();
|
$table->data = array ();
|
||||||
|
|
||||||
$table->colspan[0][1] = 3;
|
$table->colspan['name'][1] = 3;
|
||||||
$table->data[0][0] = __('Name');
|
$table->data['name'][0] = __('Name');
|
||||||
$table->data[0][2] = html_print_input_text ('name', $name, '', 35, 255, true);
|
$table->data['name'][2] = html_print_input_text ('name', $name, '', 35, 255, true);
|
||||||
|
|
||||||
$table->colspan[1][1] = 3;
|
$table->colspan['command'][1] = 3;
|
||||||
$table->data[1][0] = __('Command');
|
$table->data['command'][0] = __('Command');
|
||||||
$table->data[1][0] .= ui_print_help_icon ('alert_macros', true);
|
$table->data['command'][0] .= ui_print_help_icon ('alert_macros', true);
|
||||||
$table->data[1][1] = html_print_textarea ('command', 8, 30, $command, '', true);
|
$table->data['command'][1] = html_print_textarea ('command', 8, 30, $command, '', true);
|
||||||
|
|
||||||
|
$table->colspan['group'][1] = 3;
|
||||||
|
$table->data['group'][0] = __('Group');
|
||||||
|
$table->data['group'][1] = html_print_select_groups(false, "LM",
|
||||||
|
true, 'id_group', $id_group, false,
|
||||||
|
'', 0, true);
|
||||||
|
|
||||||
|
$table->colspan['description'][1] = 3;
|
||||||
|
$table->data['description'][0] = __('Description');
|
||||||
|
$table->data['description'][1] = html_print_textarea ('description', 10, 30, $description, '', true);
|
||||||
|
|
||||||
$table->colspan[2][1] = 3;
|
|
||||||
$table->data[2][0] = __('Description');
|
|
||||||
$table->data[2][1] = html_print_textarea ('description', 10, 30, $description, '', true);
|
|
||||||
|
|
||||||
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
|
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
|
||||||
|
|
||||||
|
BIN
pandora_console/images/agent_mc.menu-2.png
Normal file
BIN
pandora_console/images/agent_mc.menu-2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 314 B |
@ -155,16 +155,67 @@ if($build_table_custom_fields){
|
|||||||
|
|
||||||
$count = db_get_sql($query_count);
|
$count = db_get_sql($query_count);
|
||||||
|
|
||||||
|
//for link nodes.
|
||||||
|
$array_nodes = metaconsole_get_connections();
|
||||||
|
if(isset($array_nodes) && is_array($array_nodes)){
|
||||||
|
$hash_array_nodes = array();
|
||||||
|
foreach ($array_nodes as $key => $server) {
|
||||||
|
$pwd = $server['auth_token'];
|
||||||
|
$auth_serialized = json_decode($pwd,true);
|
||||||
|
|
||||||
|
if (is_array($auth_serialized)) {
|
||||||
|
$pwd = $auth_serialized['auth_token'];
|
||||||
|
$api_password = $auth_serialized['api_password'];
|
||||||
|
$console_user = $auth_serialized['console_user'];
|
||||||
|
$console_password = $auth_serialized['console_password'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$user = $config['id_user'];
|
||||||
|
$user_rot13 = str_rot13($config['id_user']);
|
||||||
|
$hashdata = $user.$pwd;
|
||||||
|
$hashdata = md5($hashdata);
|
||||||
|
$url_hash = '&' .
|
||||||
|
'loginhash=auto&' .
|
||||||
|
'loginhash_data=' . $hashdata . '&' .
|
||||||
|
'loginhash_user=' . $user_rot13;
|
||||||
|
|
||||||
|
$hash_array_nodes[$server['id']]['hashurl'] = $url_hash;
|
||||||
|
$hash_array_nodes[$server['id']]['server_url'] = $server['server_url'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//prepare rows for table dinamic
|
//prepare rows for table dinamic
|
||||||
$data = array();
|
$data = array();
|
||||||
foreach ($result as $values) {
|
foreach ($result as $values) {
|
||||||
$image_status = agents_get_image_status($values['status']);
|
$image_status = agents_get_image_status($values['status']);
|
||||||
|
|
||||||
|
//link nodes
|
||||||
|
$agent_link = '<a href="'.
|
||||||
|
$hash_array_nodes[$values['id_tmetaconsole_setup']]['server_url'] . '/' .
|
||||||
|
'index.php?' .
|
||||||
|
'sec=estado&' .
|
||||||
|
'sec2=operation/agentes/ver_agente&' .
|
||||||
|
'id_agente='. $values['id_tagente'] .
|
||||||
|
$hash_array_nodes[$values['id_tmetaconsole_setup']]['hashurl'] . '">'
|
||||||
|
;
|
||||||
|
|
||||||
|
$agent_alias = ui_print_truncate_text($values['alias'],
|
||||||
|
'agent_small', false, true, false, '[…]',
|
||||||
|
'font-size:7.5pt;'
|
||||||
|
);
|
||||||
|
|
||||||
|
if (can_user_access_node ()) {
|
||||||
|
$agent = $agent_link . '<b>' . $agent_alias . '</b></a>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$agent = $agent_alias;
|
||||||
|
}
|
||||||
|
|
||||||
$data[] = array(
|
$data[] = array(
|
||||||
"ref" => $referencia,
|
"ref" => $referencia,
|
||||||
"data_custom_field" => $values['name_custom_fields'],
|
"data_custom_field" => $values['name_custom_fields'],
|
||||||
"server" => $values['server_name'],
|
"server" => $values['server_name'],
|
||||||
"agent" => $values['alias'],
|
"agent" => $agent,
|
||||||
"IP" => $values['direccion'],
|
"IP" => $values['direccion'],
|
||||||
"status" => "<div id='reload_status_agent_" . $values['id_tmetaconsole_setup'] . "_" . $values['id_tagente'] ."'>" . $image_status . "</div>",
|
"status" => "<div id='reload_status_agent_" . $values['id_tmetaconsole_setup'] . "_" . $values['id_tagente'] ."'>" . $image_status . "</div>",
|
||||||
"id_agent" => $values['id_tagente'],
|
"id_agent" => $values['id_tagente'],
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC181119';
|
$build_version = 'PC181121';
|
||||||
$pandora_version = 'v7.0NG.729';
|
$pandora_version = 'v7.0NG.729';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
@ -171,19 +171,21 @@ require_once ($ownDir. 'functions_config.php');
|
|||||||
|
|
||||||
date_default_timezone_set("Europe/Madrid");
|
date_default_timezone_set("Europe/Madrid");
|
||||||
|
|
||||||
|
//////////////////////////////////////
|
||||||
|
//// PLEASE DO NOT CHANGE ORDER //////
|
||||||
|
//////////////////////////////////////
|
||||||
|
require_once ($config["homedir"].'/include/load_session.php');
|
||||||
|
|
||||||
|
if (session_id() == '') session_start();
|
||||||
|
|
||||||
config_process_config();
|
config_process_config();
|
||||||
|
|
||||||
config_prepare_session();
|
config_prepare_session();
|
||||||
require_once ($config["homedir"].'/include/load_session.php');
|
|
||||||
if(session_id() == '') {
|
|
||||||
$resultado = session_start();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set a the system timezone default
|
// Set a the system timezone default
|
||||||
if ((!isset($config["timezone"])) OR ($config["timezone"] == "")) {
|
if ((!isset($config["timezone"])) OR ($config["timezone"] == "")) {
|
||||||
$config["timezone"] = "Europe/Berlin";
|
$config["timezone"] = "Europe/Berlin";
|
||||||
}
|
}
|
||||||
|
////////////////////////////////////////
|
||||||
|
|
||||||
date_default_timezone_set($config["timezone"]);
|
date_default_timezone_set($config["timezone"]);
|
||||||
|
|
||||||
|
@ -922,7 +922,7 @@ function agents_get_group_agents (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($search['id_os'])) {
|
if (isset($search['id_os'])) {
|
||||||
$filter[] = "id_os = ". $search['id_os'];
|
$filter['id_os'] = $search['id_os'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($search['status'])) {
|
if (isset($search['status'])) {
|
||||||
|
@ -2268,5 +2268,121 @@ function alerts_normalize_actions_escalation($escalation) {
|
|||||||
|
|
||||||
return $escalation;
|
return $escalation;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Check if a command can be added to an action.
|
||||||
|
*
|
||||||
|
* @param int Action group id
|
||||||
|
* @param int Command group id
|
||||||
|
*
|
||||||
|
* @return False if command group and alert group are distint of 0 and they are not equal
|
||||||
|
*/
|
||||||
|
function alerts_validate_command_to_action($action_group, $command_group) {
|
||||||
|
// If action group or command group is All, all commands can be applicated.
|
||||||
|
if ($action_group == 0 || $command_group == 0) return true;
|
||||||
|
return $action_group == $command_group;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Print the UI update actions
|
||||||
|
*
|
||||||
|
* @param bool Update or create
|
||||||
|
*/
|
||||||
|
function alerts_ui_update_or_create_actions($update = true) {
|
||||||
|
global $config;
|
||||||
|
$id = (string) get_parameter ('id');
|
||||||
|
|
||||||
|
// Check ACL of existing aler action
|
||||||
|
if($update) {
|
||||||
|
$al_action = alerts_get_alert_action ($id);
|
||||||
|
if ($al_action !== false) {
|
||||||
|
if ($al_action['id_group'] == 0) {
|
||||||
|
if (! check_acl ($config['id_user'], 0, "PM")) {
|
||||||
|
db_pandora_audit("ACL Violation",
|
||||||
|
"Trying to access Alert Management");
|
||||||
|
require ("general/noaccess.php");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$name = (string) get_parameter ('name');
|
||||||
|
$id_alert_command = (int) get_parameter ('id_command');
|
||||||
|
$group = get_parameter ('group');
|
||||||
|
$action_threshold = (int) get_parameter ('action_threshold');
|
||||||
|
|
||||||
|
// Validate some values
|
||||||
|
if (!$id_alert_command) {
|
||||||
|
ui_print_error_message(__('No command specified'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!$name) {
|
||||||
|
ui_print_error_message(__('No name specified'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$comamnd_group = db_get_value('id_group', 'talert_commands', 'id', $id_alert_command);
|
||||||
|
if(!alerts_validate_command_to_action($group, $comamnd_group)) {
|
||||||
|
ui_print_error_message(__("Alert and command group does not match"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fill fields info
|
||||||
|
$info_fields = '';
|
||||||
|
$values = array();
|
||||||
|
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
|
||||||
|
$values['field'.$i] = (string) get_parameter ('field'.$i.'_value');
|
||||||
|
$info_fields .= ' Field'.$i.': ' . $values['field'.$i];
|
||||||
|
$values['field'.$i.'_recovery'] = (string) get_parameter ('field'.$i.'_recovery_value');
|
||||||
|
$info_fields .= ' Field'.$i.'Recovery: ' . $values['field'.$i.'_recovery'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$values['id_group'] = $group;
|
||||||
|
$values['action_threshold'] = $action_threshold;
|
||||||
|
if ($update) {
|
||||||
|
$values['name'] = $name;
|
||||||
|
$values['id_alert_command'] = $id_alert_command;
|
||||||
|
$result = (!$name) ? '' : alerts_update_alert_action ($id, $values);
|
||||||
|
} else {
|
||||||
|
$name_check = db_get_value ('name', 'talert_actions', 'name', $name);
|
||||||
|
if ($name_check) {
|
||||||
|
$result = '';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$result = alerts_create_alert_action ($name, $id_alert_command,
|
||||||
|
$values);
|
||||||
|
$values = array(
|
||||||
|
"Name" => $name,
|
||||||
|
"ID alert Command" => $id_alert_command,
|
||||||
|
"Field information" => $info_fields,
|
||||||
|
"Group" => $values['id_group'],
|
||||||
|
"Action threshold" => $values['action_threshold']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($result) {
|
||||||
|
db_pandora_audit(
|
||||||
|
"Command management",
|
||||||
|
$update ? "Update alert action #" . $id : "Create alert action #" . $result,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
json_encode($values)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
db_pandora_audit(
|
||||||
|
"Command management",
|
||||||
|
$update ? "Fail try to update alert action #" . $id : "Fail try to create alert action",
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
$update ? json_encode($values) : ''
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_print_result_message ($result,
|
||||||
|
$update ? __('Successfully updated') : __('Successfully created'),
|
||||||
|
$update ? __('Could not be updated') : __('Could not be created')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -2023,6 +2023,12 @@ function config_process_config () {
|
|||||||
config_update_value('ehorus_req_timeout', 5);
|
config_update_value('ehorus_req_timeout', 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_metaconsole()) {
|
||||||
|
if (!isset($config["metaconsole_deploy_collection"])) {
|
||||||
|
config_update_value('metaconsole_deploy_collection', 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Finally, check if any value was overwritten in a form */
|
/* Finally, check if any value was overwritten in a form */
|
||||||
config_update_config();
|
config_update_config();
|
||||||
}
|
}
|
||||||
@ -2323,11 +2329,7 @@ function config_prepare_session() {
|
|||||||
else
|
else
|
||||||
$sessionCookieExpireTime *= 60;
|
$sessionCookieExpireTime *= 60;
|
||||||
|
|
||||||
@ini_set('session.gc_maxlifetime', $sessionCookieExpireTime);
|
|
||||||
@session_set_cookie_params ($sessionCookieExpireTime);
|
|
||||||
|
|
||||||
// Reset the expiration time upon page load //session_name() is default name of session PHPSESSID
|
// Reset the expiration time upon page load //session_name() is default name of session PHPSESSID
|
||||||
|
|
||||||
if (isset($_COOKIE[session_name()]))
|
if (isset($_COOKIE[session_name()]))
|
||||||
setcookie(session_name(), $_COOKIE[session_name()], time() + $sessionCookieExpireTime, "/");
|
setcookie(session_name(), $_COOKIE[session_name()], time() + $sessionCookieExpireTime, "/");
|
||||||
|
|
||||||
|
@ -742,7 +742,7 @@ function filemanager_file_explorer($real_directory, $relative_directory,
|
|||||||
$data[4] .= '<span style="display: flex">';
|
$data[4] .= '<span style="display: flex">';
|
||||||
$typefile = array_pop(explode(".",$fileinfo['name']));
|
$typefile = array_pop(explode(".",$fileinfo['name']));
|
||||||
if (is_writable ($fileinfo['realpath']) &&
|
if (is_writable ($fileinfo['realpath']) &&
|
||||||
(! is_dir ($fileinfo['realpath']) || count (scandir ($fileinfo['realpath'])) < 3)) {
|
(! is_dir ($fileinfo['realpath']) || count (scandir ($fileinfo['realpath'])) < 3) && (!$readOnly)) {
|
||||||
$data[4] .= '<form method="post" action="' . $url . '" style="">';
|
$data[4] .= '<form method="post" action="' . $url . '" style="">';
|
||||||
$data[4] .= '<input type="image" src="images/cross.png" onClick="if (!confirm(\' '.__('Are you sure?').'\')) return false;">';
|
$data[4] .= '<input type="image" src="images/cross.png" onClick="if (!confirm(\' '.__('Are you sure?').'\')) return false;">';
|
||||||
$data[4] .= html_print_input_hidden ('filename', $fileinfo['realpath'], true);
|
$data[4] .= html_print_input_hidden ('filename', $fileinfo['realpath'], true);
|
||||||
|
@ -77,6 +77,6 @@ function pandora_session_gc ($max_lifetime = 300) {
|
|||||||
return $retval;
|
return $retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
$result_handler = @session_set_save_handler ('pandora_session_open', 'pandora_session_close', 'pandora_session_read', 'pandora_session_write', 'pandora_session_destroy', 'pandora_session_gc');
|
$result_handler = session_set_save_handler ('pandora_session_open', 'pandora_session_close', 'pandora_session_read', 'pandora_session_write', 'pandora_session_destroy', 'pandora_session_gc');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -105,10 +105,9 @@ if ((! file_exists ("include/config.php")) || (! is_readable ("include/config.ph
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Real start
|
//////////////////////////////////////
|
||||||
if(session_id() == '') {
|
//// PLEASE DO NOT CHANGE ORDER //////
|
||||||
session_start ();
|
//////////////////////////////////////
|
||||||
}
|
|
||||||
require_once ("include/config.php");
|
require_once ("include/config.php");
|
||||||
require_once ("include/functions_config.php");
|
require_once ("include/functions_config.php");
|
||||||
|
|
||||||
@ -126,6 +125,7 @@ if ($config['metaconsole'] == 1 && $config['enterprise_installed'] == 1) {
|
|||||||
if (file_exists (ENTERPRISE_DIR . "/include/functions_login.php")) {
|
if (file_exists (ENTERPRISE_DIR . "/include/functions_login.php")) {
|
||||||
include_once (ENTERPRISE_DIR . "/include/functions_login.php");
|
include_once (ENTERPRISE_DIR . "/include/functions_login.php");
|
||||||
}
|
}
|
||||||
|
////////////////////////////////////////
|
||||||
|
|
||||||
if (!empty ($config["https"]) && empty ($_SERVER['HTTPS'])) {
|
if (!empty ($config["https"]) && empty ($_SERVER['HTTPS'])) {
|
||||||
$query = '';
|
$query = '';
|
||||||
@ -564,6 +564,7 @@ if (! isset ($config['id_user'])) {
|
|||||||
if($home_page == 'Visual console') unset($query_params_redirect["sec2"]);
|
if($home_page == 'Visual console') unset($query_params_redirect["sec2"]);
|
||||||
$redirect_url = '?1=1';
|
$redirect_url = '?1=1';
|
||||||
foreach ($query_params_redirect as $key => $value) {
|
foreach ($query_params_redirect as $key => $value) {
|
||||||
|
if ($key == "login") continue;
|
||||||
$redirect_url .= '&'.safe_url_extraclean($key).'='.safe_url_extraclean($value);
|
$redirect_url .= '&'.safe_url_extraclean($key).'='.safe_url_extraclean($value);
|
||||||
}
|
}
|
||||||
header("Location: ".$config['homeurl']."index.php".$redirect_url);
|
header("Location: ".$config['homeurl']."index.php".$redirect_url);
|
||||||
@ -810,8 +811,11 @@ if (isset ($_GET["bye"])) {
|
|||||||
$iduser = $_SESSION["id_usuario"];
|
$iduser = $_SESSION["id_usuario"];
|
||||||
db_logoff ($iduser, $_SERVER['REMOTE_ADDR']);
|
db_logoff ($iduser, $_SERVER['REMOTE_ADDR']);
|
||||||
// Unregister Session (compatible with 5.2 and 6.x, old code was deprecated
|
// Unregister Session (compatible with 5.2 and 6.x, old code was deprecated
|
||||||
unset($_SESSION['id_usuario']);
|
$_SESSION = array();
|
||||||
unset($iduser);
|
session_destroy();
|
||||||
|
header_remove("Set-Cookie");
|
||||||
|
setcookie(session_name(), $_COOKIE[session_name()], time() - 4800, "/");
|
||||||
|
|
||||||
if ($config['auth'] == 'saml') {
|
if ($config['auth'] == 'saml') {
|
||||||
require_once($config['saml_path'] . 'simplesamlphp/lib/_autoload.php');
|
require_once($config['saml_path'] . 'simplesamlphp/lib/_autoload.php');
|
||||||
$as = new SimpleSAML_Auth_Simple('PandoraFMS');
|
$as = new SimpleSAML_Auth_Simple('PandoraFMS');
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
<div style='height: 10px'>
|
<div style='height: 10px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.729';
|
$version = '7.0NG.729';
|
||||||
$build = '181119';
|
$build = '181121';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
|
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.729
|
%define version 7.0NG.729
|
||||||
%define release 181119
|
%define release 181121
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.729
|
%define version 7.0NG.729
|
||||||
%define release 181119
|
%define release 181121
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name apache2
|
%define httpd_name apache2
|
||||||
|
@ -369,6 +369,7 @@ CREATE TABLE IF NOT EXISTS `talert_commands` (
|
|||||||
`id` int(10) unsigned NOT NULL auto_increment,
|
`id` int(10) unsigned NOT NULL auto_increment,
|
||||||
`name` varchar(100) NOT NULL default '',
|
`name` varchar(100) NOT NULL default '',
|
||||||
`command` text,
|
`command` text,
|
||||||
|
`id_group` mediumint(8) unsigned NULL default 0,
|
||||||
`description` text,
|
`description` text,
|
||||||
`internal` tinyint(1) default 0,
|
`internal` tinyint(1) default 0,
|
||||||
`fields_descriptions` TEXT,
|
`fields_descriptions` TEXT,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.729-181119
|
Version: 7.0NG.729-181121
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.729-181119"
|
pandora_version="7.0NG.729-181121"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -45,7 +45,7 @@ our @EXPORT = qw(
|
|||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.729";
|
my $pandora_version = "7.0NG.729";
|
||||||
my $pandora_build = "181119";
|
my $pandora_build = "181121";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
|
@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
|
|||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.729";
|
my $pandora_version = "7.0NG.729";
|
||||||
my $pandora_build = "181119";
|
my $pandora_build = "181121";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.729
|
%define version 7.0NG.729
|
||||||
%define release 181119
|
%define release 181121
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.729
|
%define version 7.0NG.729
|
||||||
%define release 181119
|
%define release 181121
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.729"
|
PI_VERSION="7.0NG.729"
|
||||||
PI_BUILD="181119"
|
PI_BUILD="181121"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
@ -34,7 +34,7 @@ use PandoraFMS::Config;
|
|||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.729 PS181119";
|
my $version = "7.0NG.729 PS181121";
|
||||||
|
|
||||||
# Pandora server configuration
|
# Pandora server configuration
|
||||||
my %conf;
|
my %conf;
|
||||||
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||||||
Encode::Locale::decode_argv;
|
Encode::Locale::decode_argv;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.729 PS181119";
|
my $version = "7.0NG.729 PS181121";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user