Merge remote-tracking branch 'origin/develop' into ent-5165-error-pdf-report-names-generated-by-template
@ -9,6 +9,7 @@ RUN yum -y install \
|
|||||||
epel-release \
|
epel-release \
|
||||||
unzip \
|
unzip \
|
||||||
perl \
|
perl \
|
||||||
|
python3 \
|
||||||
sed \
|
sed \
|
||||||
"perl(Sys::Syslog)"
|
"perl(Sys::Syslog)"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.742-191218
|
Version: 7.0NG.742-200109
|
||||||
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.742-191218"
|
pandora_version="7.0NG.742-200109"
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
echo "Test if you has the tools for to make the packages."
|
||||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||||
|
@ -55,7 +55,7 @@ my $Sem = undef;
|
|||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.742';
|
use constant AGENT_VERSION => '7.0NG.742';
|
||||||
use constant AGENT_BUILD => '191218';
|
use constant AGENT_BUILD => '200109';
|
||||||
|
|
||||||
# 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;
|
||||||
@ -2882,7 +2882,7 @@ sub cron_valid_date {
|
|||||||
my $utime;
|
my $utime;
|
||||||
eval {
|
eval {
|
||||||
local $SIG{__DIE__} = sub {};
|
local $SIG{__DIE__} = sub {};
|
||||||
$utime = timelocal(0, $min, $hour, $mday, $month, $year);
|
$utime = strftime("%s", 0, $min, $hour, $mday, $month, $year);
|
||||||
};
|
};
|
||||||
if ($@) {
|
if ($@) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.742
|
%define version 7.0NG.742
|
||||||
%define release 191218
|
%define release 200109
|
||||||
|
|
||||||
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.742
|
%define version 7.0NG.742
|
||||||
%define release 191218
|
%define release 200109
|
||||||
|
|
||||||
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.742"
|
PI_VERSION="7.0NG.742"
|
||||||
PI_BUILD="191218"
|
PI_BUILD="200109"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{191218}
|
{200109}
|
||||||
|
|
||||||
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.742(Build 191218)")
|
#define PANDORA_VERSION ("7.0NG.742(Build 200109)")
|
||||||
|
|
||||||
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.742(Build 191218))"
|
VALUE "ProductVersion", "(7.0NG.742(Build 200109))"
|
||||||
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.742-191218
|
Version: 7.0NG.742-200109
|
||||||
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.742-191218"
|
pandora_version="7.0NG.742-200109"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -22,6 +22,17 @@ function dbmanager_query($sql, &$error, $dbconnection)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$sql = html_entity_decode($sql, ENT_QUOTES);
|
$sql = html_entity_decode($sql, ENT_QUOTES);
|
||||||
|
|
||||||
|
// Extract the text in quotes to add html entities before query db.
|
||||||
|
$patttern = '/(?:"|\')+([^"\']*)(?:"|\')+/m';
|
||||||
|
$sql = preg_replace_callback(
|
||||||
|
$patttern,
|
||||||
|
function ($matches) {
|
||||||
|
return '"'.io_safe_input($matches[1]).'"';
|
||||||
|
},
|
||||||
|
$sql
|
||||||
|
);
|
||||||
|
|
||||||
if ($config['mysqli']) {
|
if ($config['mysqli']) {
|
||||||
$result = mysqli_query($dbconnection, $sql);
|
$result = mysqli_query($dbconnection, $sql);
|
||||||
if ($result === false) {
|
if ($result === false) {
|
||||||
|
@ -13,6 +13,8 @@
|
|||||||
require_once 'include/functions_messages.php';
|
require_once 'include/functions_messages.php';
|
||||||
require_once 'include/functions_servers.php';
|
require_once 'include/functions_servers.php';
|
||||||
require_once 'include/functions_notifications.php';
|
require_once 'include/functions_notifications.php';
|
||||||
|
require_once 'include/ajax/order_interpreter.php';
|
||||||
|
ui_require_css_file('order_interpreter');
|
||||||
|
|
||||||
// Check permissions
|
// Check permissions
|
||||||
// Global errors/warnings checking.
|
// Global errors/warnings checking.
|
||||||
@ -99,7 +101,8 @@ if ($config['menu_type'] == 'classic') {
|
|||||||
|
|
||||||
if ($acl_head_search) {
|
if ($acl_head_search) {
|
||||||
// Search bar.
|
// Search bar.
|
||||||
$search_bar = '<form method="get" style="display: inline;" name="quicksearch" action="">';
|
$search_bar = '<form autocomplete="off" method="get" style="display: inline;" name="quicksearch" action="">';
|
||||||
|
'<input autocomplete="false" name="hidden" type="text" style="display:none;">';
|
||||||
if (!isset($config['search_keywords'])) {
|
if (!isset($config['search_keywords'])) {
|
||||||
$search_bar .= '<script type="text/javascript"> var fieldKeyWordEmpty = true; </script>';
|
$search_bar .= '<script type="text/javascript"> var fieldKeyWordEmpty = true; </script>';
|
||||||
} else {
|
} else {
|
||||||
@ -110,7 +113,7 @@ if ($config['menu_type'] == 'classic') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$search_bar .= '<input type="text" id="keywords" name="keywords"';
|
$search_bar .= '<input id="keywords" name="keywords"';
|
||||||
if (!isset($config['search_keywords'])) {
|
if (!isset($config['search_keywords'])) {
|
||||||
$search_bar .= "value='".__('Enter keywords to search')."'";
|
$search_bar .= "value='".__('Enter keywords to search')."'";
|
||||||
} else if (strlen($config['search_keywords']) == 0) {
|
} else if (strlen($config['search_keywords']) == 0) {
|
||||||
@ -119,9 +122,11 @@ if ($config['menu_type'] == 'classic') {
|
|||||||
$search_bar .= "value='".$config['search_keywords']."'";
|
$search_bar .= "value='".$config['search_keywords']."'";
|
||||||
}
|
}
|
||||||
|
|
||||||
$search_bar .= 'onfocus="javascript: if (fieldKeyWordEmpty) $(\'#keywords\').val(\'\');"
|
$search_bar .= 'type="search" onfocus="javascript: if (fieldKeyWordEmpty) $(\'#keywords\').val(\'\');"
|
||||||
onkeyup="javascript: fieldKeyWordEmpty = false;" class="search_input" />';
|
onkeyup="showinterpreter()" class="search_input"/>';
|
||||||
|
|
||||||
|
|
||||||
|
$search_bar .= '<div id="result_order" class="result_order"></div>';
|
||||||
// $search_bar .= 'onClick="javascript: document.quicksearch.submit()"';
|
// $search_bar .= 'onClick="javascript: document.quicksearch.submit()"';
|
||||||
$search_bar .= "<input type='hidden' name='head_search_keywords' value='abc' />";
|
$search_bar .= "<input type='hidden' name='head_search_keywords' value='abc' />";
|
||||||
$search_bar .= '</form>';
|
$search_bar .= '</form>';
|
||||||
@ -622,7 +627,7 @@ if ($config['menu_type'] == 'classic') {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resize event
|
// Resize event.
|
||||||
window.addEventListener("resize", function() {
|
window.addEventListener("resize", function() {
|
||||||
attatch_to_image();
|
attatch_to_image();
|
||||||
});
|
});
|
||||||
@ -631,6 +636,85 @@ if ($config['menu_type'] == 'classic') {
|
|||||||
|
|
||||||
var new_chat = <?php echo (int) $_SESSION['new_chat']; ?>;
|
var new_chat = <?php echo (int) $_SESSION['new_chat']; ?>;
|
||||||
|
|
||||||
|
function showinterpreter(){
|
||||||
|
|
||||||
|
document.onclick = function(e) {
|
||||||
|
$('#result_order').hide();
|
||||||
|
$('#keywords').addClass('search_input');
|
||||||
|
$('#keywords').removeClass('results-found');
|
||||||
|
$('#keywords').value = '';
|
||||||
|
$('#keywords').attr('placeholder','Enter keywords to search');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(event.keyCode == 13 && $("#result_items li.active").length != 0 )
|
||||||
|
{
|
||||||
|
window.location = $('#result_items').find("li.active a").attr('href');
|
||||||
|
}
|
||||||
|
var code = event.key;
|
||||||
|
switch (code){
|
||||||
|
case 'ArrowDown':
|
||||||
|
if($("#result_items li.active").length!=0)
|
||||||
|
{
|
||||||
|
var storeTarget = $('#result_items').find("li.active").next();
|
||||||
|
$("#result_items li.active").removeClass("active");
|
||||||
|
storeTarget.focus().addClass("active");
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$('#result_items').find("li:first").focus().addClass("active");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 'ArrowUp':
|
||||||
|
if($("#result_items li.active"))
|
||||||
|
{
|
||||||
|
var storeTarget = $('#result_items').find("li.active").prev();
|
||||||
|
$("#result_items li.active").removeClass("active");
|
||||||
|
storeTarget.focus().addClass("active");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$('#result_items').find("li:first").focus().addClass("active");
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 'ArrowRight':
|
||||||
|
return;
|
||||||
|
case 'ArrowLeft':
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if( $('#keywords').val() === ''){
|
||||||
|
$('#keywords').addClass('search_input');
|
||||||
|
$('#keywords').removeClass('results-found');
|
||||||
|
$('#result_order').hide();
|
||||||
|
$('#keywords').attr('placeholder','Enter keywords to search');
|
||||||
|
}else {
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "ajax.php",
|
||||||
|
dataType: "html",
|
||||||
|
data: {
|
||||||
|
page: 'include/ajax/order_interpreter',
|
||||||
|
method: 'getResult',
|
||||||
|
text: $('#keywords').val(),
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#result_order').html(data);
|
||||||
|
console.log(data);
|
||||||
|
},
|
||||||
|
error: function (data) {
|
||||||
|
console.error("Fatal error in AJAX call to interpreter order", data)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#keywords').removeClass('search_input');
|
||||||
|
$('#keywords').addClass('results-found');
|
||||||
|
$('#result_order').show();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Loads modal from AJAX to add feedback.
|
* Loads modal from AJAX to add feedback.
|
||||||
*/
|
*/
|
||||||
|
@ -82,12 +82,18 @@ if (!empty($page) && !empty($sec)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$login_body_style = '';
|
$login_body_style = '';
|
||||||
|
$login_body_class = '';
|
||||||
// Overrides the default background with the defined by the user.
|
// Overrides the default background with the defined by the user.
|
||||||
if (!empty($config['login_background'])) {
|
if (!empty($config['login_background'])) {
|
||||||
$background_url = 'images/backgrounds/'.$config['login_background'];
|
$background_url = 'images/backgrounds/'.$config['login_background'];
|
||||||
$login_body_style = "style=\"background:linear-gradient(74deg, #02020255 36%, transparent 36%), url('".$background_url."');\"";
|
$login_body_style = "style=\"background:linear-gradient(74deg, #02020255 36%, transparent 36%), url('".$background_url."');\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Support for Internet Explorer and Microsoft Edge browsers
|
||||||
|
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Edge') !== false) {
|
||||||
|
$login_body_class = "class='login_body_trident'";
|
||||||
|
}
|
||||||
|
|
||||||
// Get alternative custom in case of db fail.
|
// Get alternative custom in case of db fail.
|
||||||
$custom_fields = [
|
$custom_fields = [
|
||||||
'custom_logo_login',
|
'custom_logo_login',
|
||||||
@ -111,7 +117,7 @@ foreach ($custom_fields as $field) {
|
|||||||
// Get the custom icons.
|
// Get the custom icons.
|
||||||
$docs_logo = ui_get_docs_logo();
|
$docs_logo = ui_get_docs_logo();
|
||||||
$support_logo = ui_get_support_logo();
|
$support_logo = ui_get_support_logo();
|
||||||
echo '<div id="login_body" '.$login_body_style.'>';
|
echo '<div id="login_body" '.$login_body_class.' '.$login_body_style.'>';
|
||||||
echo '<div id="header_login">';
|
echo '<div id="header_login">';
|
||||||
|
|
||||||
echo '<div id="list_icon_docs_support"><ul>';
|
echo '<div id="list_icon_docs_support"><ul>';
|
||||||
|
@ -40,7 +40,7 @@ if (!empty($news)) {
|
|||||||
// Prints news dialog template
|
// Prints news dialog template
|
||||||
echo '<div id="news_dialog" title="" style="display: none;">';
|
echo '<div id="news_dialog" title="" style="display: none;">';
|
||||||
|
|
||||||
echo '<div style="position:absolute; top:30px; left: 10px; text-align: left; right:0%; height:70px; min-width:560px; width: 95%; margin: 0 auto; border: 1px solid #FFF; line-height: 19px;">';
|
echo '<div style="position:absolute; top:30px; left: 10px; text-align: left; right:0%; height:70px; min-width:560px; width: 95%; margin: 0 auto; line-height: 19px;">';
|
||||||
echo '<span style="display: block; height: 260px; overflow: auto; text-align: justify; padding: 5px 15px 4px 10px; background: #ECECEC; border-radius: 4px;" id="new_text"></span>';
|
echo '<span style="display: block; height: 260px; overflow: auto; text-align: justify; padding: 5px 15px 4px 10px; background: #ECECEC; border-radius: 4px;" id="new_text"></span>';
|
||||||
echo '<span style="font-size: 12px; display: block; margin-top: 20px;" id="new_author"></span>';
|
echo '<span style="font-size: 12px; display: block; margin-top: 20px;" id="new_author"></span>';
|
||||||
echo '<span style="font-size: 12px; display: block; font-style: italic;" id="new_timestamp"></span>';
|
echo '<span style="font-size: 12px; display: block; font-style: italic;" id="new_timestamp"></span>';
|
||||||
|
@ -612,9 +612,8 @@ if (enterprise_installed()) {
|
|||||||
$cascade_protection,
|
$cascade_protection,
|
||||||
true
|
true
|
||||||
).__('Cascade protection').' ';
|
).__('Cascade protection').' ';
|
||||||
}
|
|
||||||
|
|
||||||
$table_adv_parent .= __('Module').' '.html_print_select(
|
$table_adv_parent .= __('Module').' '.html_print_select(
|
||||||
$modules_values,
|
$modules_values,
|
||||||
'cascade_protection_module',
|
'cascade_protection_module',
|
||||||
$cascade_protection_module,
|
$cascade_protection_module,
|
||||||
@ -622,7 +621,10 @@ $table_adv_parent .= __('Module').' '.html_print_select(
|
|||||||
'',
|
'',
|
||||||
0,
|
0,
|
||||||
true
|
true
|
||||||
).'</div></div>';
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$table_adv_parent .= '</div></div>';
|
||||||
|
|
||||||
// Learn mode / Normal mode.
|
// Learn mode / Normal mode.
|
||||||
$table_adv_module_mode = '<div class="label_select"><p class="input_label">'.__('Module definition').': </p>';
|
$table_adv_module_mode = '<div class="label_select"><p class="input_label">'.__('Module definition').': </p>';
|
||||||
@ -667,7 +669,7 @@ $table_adv_status .= html_print_checkbox_switch(
|
|||||||
$disabled,
|
$disabled,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$table_adv_status .= '<p class="input_label input_label_simple">'.__('Disabled').': '.ui_print_help_tip(__('If the remote configuration is enabled, it will also go into standby mode when disabling it.'), true).'</p>';
|
$table_adv_status .= '<p class="input_label input_label_simple">'.__('Disabled mode').': '.ui_print_help_tip(__('If the remote configuration is enabled, it will also go into standby mode when disabling it.'), true).'</p>';
|
||||||
$table_adv_status .= '</div>';
|
$table_adv_status .= '</div>';
|
||||||
|
|
||||||
// Url address.
|
// Url address.
|
||||||
|
@ -32,19 +32,6 @@ if (! check_acl($config['id_user'], 0, 'LM')) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_ajax()) {
|
|
||||||
$get_alert_action = (bool) get_parameter('get_alert_action');
|
|
||||||
if ($get_alert_action) {
|
|
||||||
$id = (int) get_parameter('id');
|
|
||||||
$action = alerts_get_alert_action($id);
|
|
||||||
$action['command'] = alerts_get_alert_action_alert_command($action['id']);
|
|
||||||
|
|
||||||
echo json_encode($action);
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$update_action = (bool) get_parameter('update_action');
|
$update_action = (bool) get_parameter('update_action');
|
||||||
$create_action = (bool) get_parameter('create_action');
|
$create_action = (bool) get_parameter('create_action');
|
||||||
$delete_action = (bool) get_parameter('delete_action');
|
$delete_action = (bool) get_parameter('delete_action');
|
||||||
@ -57,15 +44,22 @@ if (defined('METACONSOLE')) {
|
|||||||
$sec = 'galertas';
|
$sec = 'galertas';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!$copy_action) && (!$delete_action)) {
|
// Header.
|
||||||
// Header
|
if (defined('METACONSOLE')) {
|
||||||
if (defined('METACONSOLE')) {
|
|
||||||
alerts_meta_print_header();
|
alerts_meta_print_header();
|
||||||
} else {
|
} else {
|
||||||
ui_print_page_header(__('Alerts').' » '.__('Alert actions'), 'images/gm_alerts.png', false, 'alerts_action', true);
|
$header_help = 'alerts_action';
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if ($copy_action) {
|
||||||
|
$header_help = 'alerts_config';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($delete_action) {
|
||||||
|
$header_help = 'alerts_action';
|
||||||
|
}
|
||||||
|
|
||||||
|
ui_print_page_header(__('Alerts').' » '.__('Alert actions'), 'images/gm_alerts.png', false, $header_help, true);
|
||||||
|
}
|
||||||
|
|
||||||
if ($copy_action) {
|
if ($copy_action) {
|
||||||
$id = get_parameter('id');
|
$id = get_parameter('id');
|
||||||
@ -83,13 +77,6 @@ if ($copy_action) {
|
|||||||
);
|
);
|
||||||
include 'general/noaccess.php';
|
include 'general/noaccess.php';
|
||||||
exit;
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} //end if
|
} //end if
|
||||||
else {
|
else {
|
||||||
@ -102,14 +89,7 @@ if ($copy_action) {
|
|||||||
|
|
||||||
$is_in_group = in_array($al_action['id_group'], $own_groups);
|
$is_in_group = in_array($al_action['id_group'], $own_groups);
|
||||||
// Then action group have to be in his own groups
|
// Then action group have to be in his own groups
|
||||||
if ($is_in_group) {
|
if (!$is_in_group) {
|
||||||
// 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 {
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'ACL Violation',
|
'ACL Violation',
|
||||||
'Trying to access Alert Management'
|
'Trying to access Alert Management'
|
||||||
@ -118,13 +98,6 @@ if ($copy_action) {
|
|||||||
exit;
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = alerts_clone_alert_action($id);
|
$result = alerts_clone_alert_action($id);
|
||||||
@ -162,13 +135,6 @@ if ($delete_action) {
|
|||||||
);
|
);
|
||||||
include 'general/noaccess.php';
|
include 'general/noaccess.php';
|
||||||
exit;
|
exit;
|
||||||
} else {
|
|
||||||
// Header
|
|
||||||
if (defined('METACONSOLE')) {
|
|
||||||
alerts_meta_print_header();
|
|
||||||
} else {
|
|
||||||
ui_print_page_header(__('Alerts').' » '.__('Alert actions'), 'images/gm_alerts.png', false, 'alert_action', true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// If user tries to delete an action of others groups
|
// If user tries to delete an action of others groups
|
||||||
@ -182,14 +148,7 @@ if ($delete_action) {
|
|||||||
|
|
||||||
$is_in_group = in_array($al_action['id_group'], $own_groups);
|
$is_in_group = in_array($al_action['id_group'], $own_groups);
|
||||||
// Then action group have to be in his own groups
|
// Then action group have to be in his own groups
|
||||||
if ($is_in_group) {
|
if (!$is_in_group) {
|
||||||
// Header
|
|
||||||
if (defined('METACONSOLE')) {
|
|
||||||
alerts_meta_print_header();
|
|
||||||
} else {
|
|
||||||
ui_print_page_header(__('Alerts').' » '.__('Alert actions'), 'images/gm_alerts.png', false, 'alert_action', true);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'ACL Violation',
|
'ACL Violation',
|
||||||
'Trying to access Alert Management'
|
'Trying to access Alert Management'
|
||||||
@ -198,9 +157,6 @@ if ($delete_action) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// Header
|
|
||||||
ui_print_page_header(__('Alerts').' » '.__('Alert actions'), 'images/gm_alerts.png', false, '', true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -285,10 +241,14 @@ foreach ($actions as $action) {
|
|||||||
2 => 'action_buttons',
|
2 => 'action_buttons',
|
||||||
3 => 'action_buttons',
|
3 => 'action_buttons',
|
||||||
];
|
];
|
||||||
$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;">'.html_print_image('images/copy.png', true).'</a>';
|
$id_action = $action['id'];
|
||||||
$data[3] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_actions&delete_action=1&id='.$action['id'].'&pure='.$pure.'"
|
$text_confirm = __('Are you sure?');
|
||||||
onClick="if (!confirm(\''.__('Are you sure?').'\')) return false;">'.html_print_image('images/cross.png', true).'</a>';
|
|
||||||
|
$data[2] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_actions"
|
||||||
|
onClick="copy_action('.$id_action.',\''.$text_confirm.'\');">'.html_print_image('images/copy.png', true).'</a>';
|
||||||
|
$data[3] = '<a href="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_actions"
|
||||||
|
onClick="delete_action('.$id_action.',\''.$text_confirm.'\');">'.html_print_image('images/cross.png', true).'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
array_push($table->data, $data);
|
array_push($table->data, $data);
|
||||||
@ -308,3 +268,45 @@ echo '</form>';
|
|||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
enterprise_hook('close_meta_frame');
|
enterprise_hook('close_meta_frame');
|
||||||
|
?>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
function copy_action(id_action, text_confirm) {
|
||||||
|
if (!confirm(text_confirm)) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
jQuery.post ("ajax.php",
|
||||||
|
{
|
||||||
|
"page" : "godmode/alerts/alert_actions",
|
||||||
|
"copy_action" : 1,
|
||||||
|
"id" : id_action
|
||||||
|
},
|
||||||
|
function (data, status) {
|
||||||
|
// No data.
|
||||||
|
},
|
||||||
|
"json"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function delete_action(id_action, text_confirm) {
|
||||||
|
if (!confirm(text_confirm)) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
jQuery.post ("ajax.php",
|
||||||
|
{
|
||||||
|
"page" : "godmode/alerts/alert_actions",
|
||||||
|
"delete_action" : 1,
|
||||||
|
"id" : id_action
|
||||||
|
},
|
||||||
|
function (data, status) {
|
||||||
|
// No data.
|
||||||
|
},
|
||||||
|
"json"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
@ -117,6 +117,14 @@ if ($update_agents) {
|
|||||||
$values['quiet'] = get_parameter('quiet_select');
|
$values['quiet'] = get_parameter('quiet_select');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (get_parameter('safe_mode_change', -1) == 1 && get_parameter('safe_mode_module', '') != '') {
|
||||||
|
// Get the module name.
|
||||||
|
$values['safe_mode_module'] = get_parameter('safe_mode_module');
|
||||||
|
} else if (get_parameter('safe_mode_change', -1) == 0) {
|
||||||
|
// Disabled Safe Operation Mode.
|
||||||
|
$values['safe_mode_module'] = '0';
|
||||||
|
}
|
||||||
|
|
||||||
$fields = db_get_all_fields_in_table('tagent_custom_fields');
|
$fields = db_get_all_fields_in_table('tagent_custom_fields');
|
||||||
|
|
||||||
if ($fields === false) {
|
if ($fields === false) {
|
||||||
@ -134,6 +142,20 @@ if ($update_agents) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the id_agente_modulo to update the 'safe_operation_mode' field.
|
||||||
|
if (isset($values['safe_mode_module']) && ($values['safe_mode_module'] != '0')) {
|
||||||
|
foreach ($id_agents as $id_agent) {
|
||||||
|
$id_module_safe[$id_agent] = db_get_value_filter(
|
||||||
|
'id_agente_modulo',
|
||||||
|
'tagente_modulo',
|
||||||
|
[
|
||||||
|
'id_agente' => $id_agent,
|
||||||
|
'nombre' => $values['safe_mode_module'],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// CONF FILE DELETION
|
// CONF FILE DELETION
|
||||||
if (isset($values['delete_conf'])) {
|
if (isset($values['delete_conf'])) {
|
||||||
unset($values['delete_conf']);
|
unset($values['delete_conf']);
|
||||||
@ -188,6 +210,11 @@ if ($update_agents) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the id_agent_module for this agent to update the 'safe_operation_mode' field.
|
||||||
|
if (isset($values['safe_mode_module']) && ($values['safe_mode_module'] != '0')) {
|
||||||
|
$values['safe_mode_module'] = $id_module_safe[$id_agent];
|
||||||
|
}
|
||||||
|
|
||||||
$result = db_process_sql_update(
|
$result = db_process_sql_update(
|
||||||
'tagente',
|
'tagente',
|
||||||
$values,
|
$values,
|
||||||
@ -677,6 +704,27 @@ $table->data[6][1] = html_print_select(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$table->data[7][0] = __('Safe operation mode').': '.ui_print_help_tip(
|
||||||
|
__(
|
||||||
|
'This mode allow %s to disable all modules
|
||||||
|
of this agent while the selected module is on CRITICAL status',
|
||||||
|
get_product_name()
|
||||||
|
),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
$table->data[7][1] .= html_print_select(
|
||||||
|
[
|
||||||
|
1 => __('Enabled'),
|
||||||
|
0 => __('Disabled'),
|
||||||
|
],
|
||||||
|
'safe_mode_change',
|
||||||
|
-1,
|
||||||
|
'',
|
||||||
|
__('No change'),
|
||||||
|
-1,
|
||||||
|
true
|
||||||
|
).' ';
|
||||||
|
$table->data[7][1] .= __('Module').' '.html_print_select('', 'safe_mode_module', '', '', __('Any'), -1, true).'</div>';
|
||||||
ui_toggle(html_print_table($table, true), __('Advanced options'));
|
ui_toggle(html_print_table($table, true), __('Advanced options'));
|
||||||
unset($table);
|
unset($table);
|
||||||
|
|
||||||
@ -810,6 +858,54 @@ $(document).ready (function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Enable Safe Operation Mode if 'Enabled' is selected.
|
||||||
|
$("#safe_mode_module").attr("disabled", "disabled");
|
||||||
|
$("#safe_mode_change").on('change', function() {
|
||||||
|
if ($("#safe_mode_change").val() == 1) {
|
||||||
|
$("#safe_mode_module").removeAttr("disabled");
|
||||||
|
refreshSafeModules();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$("#safe_mode_module").attr("disabled", "disabled");
|
||||||
|
$('#safe_mode_module').empty();
|
||||||
|
$("#safe_mode_module").append($("<option></option>").attr("value", 'Any').html('Any'));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Fill modules in Safe Operation Mode.
|
||||||
|
function refreshSafeModules(){
|
||||||
|
var idAgents = Array();
|
||||||
|
jQuery.each ($("#id_agents option:selected"), function (i, val) {
|
||||||
|
idAgents.push($(val).val());
|
||||||
|
});
|
||||||
|
|
||||||
|
var params = {
|
||||||
|
"page" : "operation/agentes/ver_agente",
|
||||||
|
"get_agent_modules_json_for_multiple_agents" : 1,
|
||||||
|
"id_agent" : idAgents,
|
||||||
|
"selection_mode": "common"
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.post ("ajax.php",
|
||||||
|
params,
|
||||||
|
function (data, status) {
|
||||||
|
$('#safe_mode_module').empty();
|
||||||
|
if($.type(data) === "object"){
|
||||||
|
jQuery.each (data, function (id, value) {
|
||||||
|
option = $("<option></option>").attr("value", value).html(value);
|
||||||
|
$("#safe_mode_module").append(option);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
option = $("<option></option>").attr("value", 'None').html('None');
|
||||||
|
$("#safe_mode_module").append(option);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"json"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$("#form_agent").submit(function() {
|
$("#form_agent").submit(function() {
|
||||||
var get_parameters_count = window.location.href.slice(
|
var get_parameters_count = window.location.href.slice(
|
||||||
window.location.href.indexOf('?') + 1).split('&').length;
|
window.location.href.indexOf('?') + 1).split('&').length;
|
||||||
@ -833,7 +929,7 @@ $(document).ready (function () {
|
|||||||
$("#id_group").trigger("change");
|
$("#id_group").trigger("change");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#id_agents").change (function () {
|
$('#id_agents').on('change', function() {
|
||||||
var idAgents = Array();
|
var idAgents = Array();
|
||||||
jQuery.each ($("#id_agents option:selected"), function (i, val) {
|
jQuery.each ($("#id_agents option:selected"), function (i, val) {
|
||||||
idAgents.push($(val).val());
|
idAgents.push($(val).val());
|
||||||
@ -858,6 +954,10 @@ $(document).ready (function () {
|
|||||||
);
|
);
|
||||||
|
|
||||||
$("#form_agents").attr("style", "");
|
$("#form_agents").attr("style", "");
|
||||||
|
|
||||||
|
if($("#safe_mode_change").val() == 1) {
|
||||||
|
refreshSafeModules();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#id_group").change (function () {
|
$("#id_group").change (function () {
|
||||||
|
@ -59,52 +59,36 @@ switch ($action) {
|
|||||||
$resultOperationDB = false;
|
$resultOperationDB = false;
|
||||||
} else if (!empty($ids_serialize)) {
|
} else if (!empty($ids_serialize)) {
|
||||||
$ids = explode('|', $ids_serialize);
|
$ids = explode('|', $ids_serialize);
|
||||||
|
|
||||||
switch ($config['dbtype']) {
|
|
||||||
case 'mysql':
|
|
||||||
$items = db_get_all_rows_sql(
|
$items = db_get_all_rows_sql(
|
||||||
'
|
'SELECT id_gs, `field_order`
|
||||||
SELECT id_gs, `field_order`
|
|
||||||
FROM tgraph_source
|
FROM tgraph_source
|
||||||
WHERE id_graph = '.$id_graph.'
|
WHERE id_graph = '.$id_graph.'
|
||||||
ORDER BY `field_order`'
|
ORDER BY `field_order`'
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($items === false) {
|
if ($items === false) {
|
||||||
$items = [];
|
$items = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Clean the repeated order values
|
// Clean the repeated order values.
|
||||||
$order_temp = 1;
|
$order_temp = 1;
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
switch ($config['dbtype']) {
|
|
||||||
case 'mysql':
|
|
||||||
db_process_sql_update(
|
db_process_sql_update(
|
||||||
'tgraph_source',
|
'tgraph_source',
|
||||||
['`field_order`' => $order_temp],
|
['`field_order`' => $order_temp],
|
||||||
['id_gs' => $item['id_rc']]
|
['id_gs' => $item['id_rc']]
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$order_temp++;
|
$order_temp++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
switch ($config['dbtype']) {
|
|
||||||
case 'mysql':
|
|
||||||
$items = db_get_all_rows_sql(
|
$items = db_get_all_rows_sql(
|
||||||
'
|
'SELECT id_gs, `field_order`
|
||||||
SELECT id_gs, `field_order`
|
|
||||||
FROM tgraph_source
|
FROM tgraph_source
|
||||||
WHERE id_graph = '.$id_graph.'
|
WHERE id_graph = '.$id_graph.'
|
||||||
ORDER BY `field_order`'
|
ORDER BY `field_order`'
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($items === false) {
|
if ($items === false) {
|
||||||
$items = [];
|
$items = [];
|
||||||
@ -116,7 +100,7 @@ switch ($action) {
|
|||||||
|
|
||||||
$temp = [];
|
$temp = [];
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
// Remove the contents from the block to sort
|
// Remove the contents from the block to sort.
|
||||||
if (array_search($item['id_gs'], $ids) === false) {
|
if (array_search($item['id_gs'], $ids) === false) {
|
||||||
$temp[$item['field_order']] = $item['id_gs'];
|
$temp[$item['field_order']] = $item['id_gs'];
|
||||||
}
|
}
|
||||||
@ -150,16 +134,11 @@ switch ($action) {
|
|||||||
|
|
||||||
|
|
||||||
foreach ($items as $order => $id) {
|
foreach ($items as $order => $id) {
|
||||||
switch ($config['dbtype']) {
|
|
||||||
case 'mysql':
|
|
||||||
|
|
||||||
db_process_sql_update(
|
db_process_sql_update(
|
||||||
'tgraph_source',
|
'tgraph_source',
|
||||||
['`field_order`' => ($order + 1)],
|
['`field_order`' => ($order + 1)],
|
||||||
['id_gs' => $id]
|
['id_gs' => $id]
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$resultOperationDB = true;
|
$resultOperationDB = true;
|
||||||
@ -211,7 +190,7 @@ if ($editGraph) {
|
|||||||
$weights = implode(',', $weight_array);
|
$weights = implode(',', $weight_array);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Modules table
|
// Modules table.
|
||||||
if (count($module_array) > 0) {
|
if (count($module_array) > 0) {
|
||||||
echo "<table width='100%' cellpadding=4 cellpadding=4 class='databox filters'>";
|
echo "<table width='100%' cellpadding=4 cellpadding=4 class='databox filters'>";
|
||||||
echo '<tr>
|
echo '<tr>
|
||||||
@ -224,7 +203,7 @@ if (count($module_array) > 0) {
|
|||||||
<th>'.__('Sort').'</th>';
|
<th>'.__('Sort').'</th>';
|
||||||
$color = 0;
|
$color = 0;
|
||||||
for ($a = 0; $a < count($module_array); $a++) {
|
for ($a = 0; $a < count($module_array); $a++) {
|
||||||
// Calculate table line color
|
// Calculate table line color.
|
||||||
if ($color == 1) {
|
if ($color == 1) {
|
||||||
$tdcolor = 'datos';
|
$tdcolor = 'datos';
|
||||||
$color = 0;
|
$color = 0;
|
||||||
@ -332,7 +311,7 @@ echo '</form>';
|
|||||||
echo '<br>';
|
echo '<br>';
|
||||||
|
|
||||||
|
|
||||||
// Configuration form
|
// Configuration form.
|
||||||
echo '<span id ="none_text" style="display: none;">'.__('None').'</span>';
|
echo '<span id ="none_text" style="display: none;">'.__('None').'</span>';
|
||||||
echo "<form method='post' action='index.php?sec=reporting&sec2=godmode/reporting/graph_builder&tab=graph_editor&add_module=1&edit_graph=1&id=".$id_graph."'>";
|
echo "<form method='post' action='index.php?sec=reporting&sec2=godmode/reporting/graph_builder&tab=graph_editor&add_module=1&edit_graph=1&id=".$id_graph."'>";
|
||||||
|
|
||||||
@ -352,7 +331,7 @@ echo "<td colspan='3'>".html_print_select_groups(
|
|||||||
true
|
true
|
||||||
).'</td>';
|
).'</td>';
|
||||||
echo '</tr><tr>';
|
echo '</tr><tr>';
|
||||||
echo "<td style='vertical-align: top;'>".__('Agents').'</td>';
|
echo "<td style='vertical-align: top;'>".__('Agents').ui_print_help_tip(__('If you select several agents, only the common modules will be displayed'), true).'</td>';
|
||||||
echo '<td></td>';
|
echo '<td></td>';
|
||||||
echo "<td style='vertical-align: top;'>".__('Modules').'</td>';
|
echo "<td style='vertical-align: top;'>".__('Modules').'</td>';
|
||||||
echo '</tr><tr>';
|
echo '</tr><tr>';
|
||||||
|
@ -125,6 +125,20 @@ if ($report_r && $report_w) {
|
|||||||
get_graphs_container(id_container,hash,time);
|
get_graphs_container(id_container,hash,time);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("div[id^=period_container_] a").on('click', function(e){
|
||||||
|
if ($("div[id^=period_container_][id$=_default]").css('display') == 'none') {
|
||||||
|
$('#refresh_custom_time').show();
|
||||||
|
$('#refresh_custom_time').on('click', function(e){
|
||||||
|
var time = $('input[id *= hidden-period_container_'+hash+']').val();
|
||||||
|
get_graphs_container(id_container,hash,time);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else if ($("div[id^=period_container_][id$=_manual]").css('display') == 'none') {
|
||||||
|
$('#refresh_custom_time').hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -454,10 +454,10 @@ if (!$maps && !is_metaconsole()) {
|
|||||||
4 => 'action_buttons',
|
4 => 'action_buttons',
|
||||||
];
|
];
|
||||||
$data[3] = '<a class="copy_visualmap" href="index.php?sec=network&sec2=godmode/reporting/map_builder&id_layout='.$map['id'].'&copy_layout=1">'.html_print_image('images/copy.png', true).'</a>';
|
$data[3] = '<a class="copy_visualmap" href="index.php?sec=network&sec2=godmode/reporting/map_builder&id_layout='.$map['id'].'&copy_layout=1">'.html_print_image('images/copy.png', true).'</a>';
|
||||||
$data[4] = '<a class="delete_visualmap" href="index.php?sec=network&sec2=godmode/reporting/map_builder&id_layout='.$map['id'].'&delete_layout=1">'.html_print_image('images/cross.png', true).'</a>';
|
$data[4] = '<a class="delete_visualmap" href="index.php?sec=network&sec2=godmode/reporting/map_builder&id_layout='.$map['id'].'&delete_layout=1" onclick="javascript: if (!confirm(\''.__('Are you sure?').'\n'.__('Delete').': '.$map['name'].'\')) return false;">'.html_print_image('images/cross.png', true).'</a>';
|
||||||
} else {
|
} else {
|
||||||
$data[3] = '<a class="copy_visualmap" href="index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_layout='.$map['id'].'&copy_layout=1">'.html_print_image('images/copy.png', true).'</a>';
|
$data[3] = '<a class="copy_visualmap" href="index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_layout='.$map['id'].'&copy_layout=1">'.html_print_image('images/copy.png', true).'</a>';
|
||||||
$data[4] = '<a class="delete_visualmap" href="index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_layout='.$map['id'].'&delete_layout=1">'.html_print_image('images/cross.png', true).'</a>';
|
$data[4] = '<a class="delete_visualmap" href="index.php?sec=screen&sec2=screens/screens&action=visualmap&pure='.$pure.'&id_layout='.$map['id'].'&delete_layout=1" onclick="javascript: if (!confirm(\''.__('Are you sure?').'\n'.__('Delete').': '.$map['name'].'\')) return false;">'.html_print_image('images/cross.png', true).'</a>';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$data[3] = '';
|
$data[3] = '';
|
||||||
|
@ -905,6 +905,28 @@ $class = 'databox filters';
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
if ($meta) {
|
||||||
|
?>
|
||||||
|
<tr id="row_servers" style="" class="datos">
|
||||||
|
<td style="font-weight:bold;"><?php echo __('Server'); ?></td>
|
||||||
|
<td style="">
|
||||||
|
<?php
|
||||||
|
html_print_select(
|
||||||
|
$servers,
|
||||||
|
'combo_server',
|
||||||
|
$server_name,
|
||||||
|
'',
|
||||||
|
__('Local metaconsole'),
|
||||||
|
0
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
<tr id="row_label" style="" class="datos">
|
<tr id="row_label" style="" class="datos">
|
||||||
<td style="font-weight:bold;">
|
<td style="font-weight:bold;">
|
||||||
<?php
|
<?php
|
||||||
@ -1844,28 +1866,6 @@ $class = 'databox filters';
|
|||||||
<td style="" id="max_items_example"></td>
|
<td style="" id="max_items_example"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<?php
|
|
||||||
if ($meta) {
|
|
||||||
?>
|
|
||||||
<tr id="row_servers" style="" class="datos">
|
|
||||||
<td style="font-weight:bold;"><?php echo __('Server'); ?></td>
|
|
||||||
<td style="">
|
|
||||||
<?php
|
|
||||||
html_print_select(
|
|
||||||
$servers,
|
|
||||||
'combo_server',
|
|
||||||
$server_name,
|
|
||||||
'',
|
|
||||||
__('Local metaconsole'),
|
|
||||||
0
|
|
||||||
);
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<tr id="row_header" style="" class="datos">
|
<tr id="row_header" style="" class="datos">
|
||||||
<td style="font-weight:bold;">
|
<td style="font-weight:bold;">
|
||||||
<?php
|
<?php
|
||||||
@ -3546,8 +3546,19 @@ $(document).ready (function () {
|
|||||||
// Load selected modules by default
|
// Load selected modules by default
|
||||||
$("#id_agents2").trigger('click');
|
$("#id_agents2").trigger('click');
|
||||||
|
|
||||||
|
$('#combo_server').change (function (){
|
||||||
|
$("#id_agents").html('');
|
||||||
|
$("#id_agents2").html('');
|
||||||
|
$("#module").html('');
|
||||||
|
$("#inventory_modules").html('');
|
||||||
|
})
|
||||||
|
|
||||||
$("#combo_group").change (
|
$("#combo_group").change (
|
||||||
function () {
|
function () {
|
||||||
|
$("#id_agents").html('');
|
||||||
|
$("#id_agents2").html('');
|
||||||
|
$("#module").html('');
|
||||||
|
$("#inventory_modules").html('');
|
||||||
jQuery.post ("ajax.php",
|
jQuery.post ("ajax.php",
|
||||||
{"page" : "operation/agentes/ver_agente",
|
{"page" : "operation/agentes/ver_agente",
|
||||||
"get_agents_group_json" : 1,
|
"get_agents_group_json" : 1,
|
||||||
@ -3557,9 +3568,6 @@ $(document).ready (function () {
|
|||||||
"recursion" : $('#checkbox-recursion').is(':checked')
|
"recursion" : $('#checkbox-recursion').is(':checked')
|
||||||
},
|
},
|
||||||
function (data, status) {
|
function (data, status) {
|
||||||
$("#id_agents").html('');
|
|
||||||
$("#id_agents2").html('');
|
|
||||||
$("#module").html('');
|
|
||||||
jQuery.each (data, function (id, value) {
|
jQuery.each (data, function (id, value) {
|
||||||
// Remove keys_prefix from the index
|
// Remove keys_prefix from the index
|
||||||
id = id.substring(1);
|
id = id.substring(1);
|
||||||
@ -3587,9 +3595,7 @@ $(document).ready (function () {
|
|||||||
"recursion" : $('#checkbox-recursion').is(':checked')
|
"recursion" : $('#checkbox-recursion').is(':checked')
|
||||||
},
|
},
|
||||||
function (data, status) {
|
function (data, status) {
|
||||||
$("#id_agents").html('');
|
|
||||||
$("#id_agents2").html('');
|
$("#id_agents2").html('');
|
||||||
$("#module").html('');
|
|
||||||
jQuery.each (data, function (id, value) {
|
jQuery.each (data, function (id, value) {
|
||||||
// Remove keys_prefix from the index
|
// Remove keys_prefix from the index
|
||||||
id = id.substring(1);
|
id = id.substring(1);
|
||||||
@ -5174,6 +5180,29 @@ function chooseType() {
|
|||||||
$("#id_agents").change(event_change_id_agent_inventory);
|
$("#id_agents").change(event_change_id_agent_inventory);
|
||||||
$("#id_agents").trigger('change');
|
$("#id_agents").trigger('change');
|
||||||
|
|
||||||
|
$("#combo_server").change(function() {
|
||||||
|
$('#hidden-date_selected').val('');
|
||||||
|
updateInventoryDates(
|
||||||
|
<?php
|
||||||
|
echo '"'.ui_get_full_url(
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
).'"';
|
||||||
|
?>
|
||||||
|
);
|
||||||
|
updateAgents($(this).val(),
|
||||||
|
<?php
|
||||||
|
echo '"'.ui_get_full_url(
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
).'"';
|
||||||
|
?>
|
||||||
|
);
|
||||||
|
});
|
||||||
$("#combo_group").change(function() {
|
$("#combo_group").change(function() {
|
||||||
updateAgents($(this).val(),
|
updateAgents($(this).val(),
|
||||||
<?php
|
<?php
|
||||||
@ -5203,6 +5232,30 @@ function chooseType() {
|
|||||||
|
|
||||||
$("#row_servers").show();
|
$("#row_servers").show();
|
||||||
|
|
||||||
|
$("#combo_server").change(function() {
|
||||||
|
$('#hidden-date_selected').val('');
|
||||||
|
updateInventoryDates(
|
||||||
|
<?php
|
||||||
|
echo '"'.ui_get_full_url(
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
).'"';
|
||||||
|
?>
|
||||||
|
);
|
||||||
|
updateAgents($(this).val(),
|
||||||
|
<?php
|
||||||
|
echo '"'.ui_get_full_url(
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
).'"';
|
||||||
|
?>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
$("#combo_group").change(function() {
|
$("#combo_group").change(function() {
|
||||||
$('#hidden-date_selected').val('');
|
$('#hidden-date_selected').val('');
|
||||||
updateInventoryDates(
|
updateInventoryDates(
|
||||||
|
@ -386,7 +386,7 @@ if ($items) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$table->head[4] = __('Time lapse');
|
$table->head[4] = __('Time lapse');
|
||||||
$table->head[5] = __('Name').' / '.__('Description');
|
$table->head[5] = __('Name or Description');
|
||||||
if (check_acl($config['id_user'], 0, 'RM')) {
|
if (check_acl($config['id_user'], 0, 'RM')) {
|
||||||
$table->head[6] = '<span title="'.__('Options').'">'.__('Op.').'</span>';
|
$table->head[6] = '<span title="'.__('Options').'">'.__('Op.').'</span>';
|
||||||
if ($report_w || $report_m) {
|
if ($report_w || $report_m) {
|
||||||
|
@ -15,7 +15,7 @@ global $config;
|
|||||||
|
|
||||||
check_login();
|
check_login();
|
||||||
|
|
||||||
// Visual console required
|
// Visual console required.
|
||||||
if (empty($visualConsole)) {
|
if (empty($visualConsole)) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'ACL Violation',
|
'ACL Violation',
|
||||||
@ -425,7 +425,7 @@ $table->data['all_one_item_per_agent'][1] .= html_print_input_hidden(
|
|||||||
|
|
||||||
|
|
||||||
$table->rowstyle['all_4'] = 'display: none;';
|
$table->rowstyle['all_4'] = 'display: none;';
|
||||||
$table->data['all_4'][0] = __('Agents');
|
$table->data['all_4'][0] = __('Agents').ui_print_help_tip(__('If you select several agents, only the common modules will be displayed'), true);
|
||||||
|
|
||||||
$agents_list = [];
|
$agents_list = [];
|
||||||
if (!is_metaconsole()) {
|
if (!is_metaconsole()) {
|
||||||
@ -506,7 +506,7 @@ $table->data['all_8'][1] = html_print_select(
|
|||||||
VISUAL_MAP_WIZARD_PARENTS_NONE,
|
VISUAL_MAP_WIZARD_PARENTS_NONE,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$table->data['all_8'][2] = '<span id="parent_column_2_item_in_visual_map">'.__('Item in the map').'</span>'.'<span id="parent_column_2_relationship">'.ui_print_help_tip(
|
$table->data['all_8'][2] = '<span id="parent_column_2_item_in_visual_map">'.__('Item in the map').'</span><span id="parent_column_2_relationship">'.ui_print_help_tip(
|
||||||
__('The parenting relationships in %s will be drawn on the map.', get_product_name()),
|
__('The parenting relationships in %s will be drawn on the map.', get_product_name()),
|
||||||
true
|
true
|
||||||
).'</span>';
|
).'</span>';
|
||||||
|
@ -398,7 +398,7 @@ if (($create != '') || ($view != '')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$data[1] .= ' <a href="index.php?sec=gservers&sec2=godmode/servers/plugin&filemanager=1&id_plugin='.$form_id.'" style="vertical-align: bottom;">';
|
$data[1] .= ' <a href="index.php?sec=gservers&sec2=godmode/servers/plugin&filemanager=1&id_plugin='.$form_id.'" style="vertical-align: bottom;">';
|
||||||
$data[1] .= html_print_image('images/file.png', true);
|
$data[1] .= html_print_image('images/file.png', true, false, false, true);
|
||||||
$data[1] .= '</a>';
|
$data[1] .= '</a>';
|
||||||
$table->data['plugin_command'] = $data;
|
$table->data['plugin_command'] = $data;
|
||||||
|
|
||||||
|
@ -1038,8 +1038,13 @@ $row++;
|
|||||||
|
|
||||||
$row++;
|
$row++;
|
||||||
|
|
||||||
$table_report->data[$row][0] = __('PDF font size');
|
$table_report->data[$row][0] = __('PDF font size (px)');
|
||||||
$table_report->data[$row][1] = "<input type ='number' value=".$config['font_size_item_report']." size='1' name='font_size_item_report' min='1' max='9' step='0.1'>";
|
$table_report->data[$row][1] = "<input type ='number' value=".$config['global_font_size_report']." name='global_font_size_report' min='1' max='50' step='1'>";
|
||||||
|
|
||||||
|
$row++;
|
||||||
|
|
||||||
|
$table_report->data[$row][0] = __('HTML font size for SLA (em)');
|
||||||
|
$table_report->data[$row][1] = "<input type ='number' value=".$config['font_size_item_report']." name='font_size_item_report' min='1' max='9' step='0.1'>";
|
||||||
|
|
||||||
$row++;
|
$row++;
|
||||||
|
|
||||||
@ -1049,6 +1054,7 @@ $row++;
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
$table_report->data[$row][1] = html_print_input_text('graph_image_height', $config['graph_image_height'], '', 20, 20, true);
|
$table_report->data[$row][1] = html_print_input_text('graph_image_height', $config['graph_image_height'], '', 20, 20, true);
|
||||||
|
|
||||||
$row++;
|
$row++;
|
||||||
|
|
||||||
$interval_description = [
|
$interval_description = [
|
||||||
|
@ -101,7 +101,7 @@
|
|||||||
width: 15px;
|
width: 15px;
|
||||||
}
|
}
|
||||||
.fileupload_form ul li div {
|
.fileupload_form ul li div {
|
||||||
display: block;
|
display: block !important;
|
||||||
}
|
}
|
||||||
.fileupload_form ul li.working span {
|
.fileupload_form ul li.working span {
|
||||||
background-position: 0 -12px;
|
background-position: 0 -12px;
|
||||||
|
BIN
pandora_console/images/default_docs.png
Executable file
After Width: | Height: | Size: 280 B |
0
pandora_console/images/default_list.png
Normal file → Executable file
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 402 B |
BIN
pandora_console/images/default_support.png
Executable file
After Width: | Height: | Size: 485 B |
BIN
pandora_console/images/demo_background.jpg
Normal file
After Width: | Height: | Size: 268 KiB |
BIN
pandora_console/images/demo_background_left.jpg
Normal file
After Width: | Height: | Size: 178 KiB |
BIN
pandora_console/images/demo_background_left.png
Normal file
After Width: | Height: | Size: 354 KiB |
BIN
pandora_console/images/demo_background_right.jpg
Normal file
After Width: | Height: | Size: 389 KiB |
BIN
pandora_console/images/demo_background_right.png
Normal file
After Width: | Height: | Size: 872 KiB |
BIN
pandora_console/images/demo_logo_spinner.gif
Normal file
After Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.8 KiB |
@ -171,8 +171,9 @@ if ($get_graphs) {
|
|||||||
'',
|
'',
|
||||||
false,
|
false,
|
||||||
$periods,
|
$periods,
|
||||||
'vertical-align: middle;'
|
'vertical-align: middle; margin-bottom:0;'
|
||||||
);
|
);
|
||||||
|
$single_table .= html_print_image('images/refresh_mc.png', true, ['id' => 'refresh_custom_time', 'title' => 'Refresh graph', 'style' => 'cursor:pointer; vertical-align: middle; display:none;']);
|
||||||
$single_table .= '</td>';
|
$single_table .= '</td>';
|
||||||
$single_table .= '</tr>';
|
$single_table .= '</tr>';
|
||||||
$single_table .= '</table>';
|
$single_table .= '</table>';
|
||||||
|
62
pandora_console/include/ajax/order_interpreter.php
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Order interpreter ajax controller.
|
||||||
|
*
|
||||||
|
* @category OrderInterpreter
|
||||||
|
* @package Pandora FMS
|
||||||
|
* @subpackage New Installation Welcome Window
|
||||||
|
* @version 1.0.0
|
||||||
|
* @license See below
|
||||||
|
*
|
||||||
|
* ______ ___ _______ _______ ________
|
||||||
|
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||||
|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||||
|
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||||
|
*
|
||||||
|
* ============================================================================
|
||||||
|
* Copyright (c) 2005-2019 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/class/OrderInterpreter.class.php';
|
||||||
|
|
||||||
|
if (is_ajax() === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ajaxPage = 'include/ajax/order_interpreter';
|
||||||
|
|
||||||
|
// Control call flow.
|
||||||
|
try {
|
||||||
|
// User access and validation is being processed on class constructor.
|
||||||
|
$order_interpreter = new OrderInterpreter(true, $ajaxPage);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ajax controller.
|
||||||
|
$method = get_parameter('method', '');
|
||||||
|
|
||||||
|
if (method_exists($order_interpreter, $method) === true) {
|
||||||
|
if ($order_interpreter->ajaxMethod($method) === true) {
|
||||||
|
$order_interpreter->{$method}();
|
||||||
|
} else {
|
||||||
|
$order_interpreter->error('Unavailable method.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$order_interpreter->error('Method not found. ['.$method.']');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Stop any execution.
|
||||||
|
exit;
|
@ -266,9 +266,10 @@ if ($install_package) {
|
|||||||
[$version]
|
[$version]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$product_name = io_safe_output(get_product_name());
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
'Update '.get_product_name(),
|
'Update '.$product_name,
|
||||||
"Update version: $version of ".get_product_name().' by '.$config['id_user']
|
"Update version: $version of ".$product_name.' by '.$config['id_user']
|
||||||
);
|
);
|
||||||
|
|
||||||
$return['status'] = 'success';
|
$return['status'] = 'success';
|
||||||
|
@ -1283,7 +1283,7 @@ switch ($action) {
|
|||||||
[
|
[
|
||||||
'disabled' => 0,
|
'disabled' => 0,
|
||||||
'id_agente' => $elementFields['id_agent'],
|
'id_agente' => $elementFields['id_agent'],
|
||||||
'tagente_modulo.id_tipo_modulo IN' => '(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,17,23,3,10,33)',
|
'tagente_modulo.id_tipo_modulo IN' => '(17,23,3,10,33)',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -391,13 +391,6 @@ class ConsoleSupervisor
|
|||||||
|
|
||||||
$this->checkDefaultPassword();
|
$this->checkDefaultPassword();
|
||||||
|
|
||||||
/*
|
|
||||||
* Check if there's an active subscription.
|
|
||||||
* NOTIF.NEWSLETTER.SUBSCRIPTION
|
|
||||||
*/
|
|
||||||
|
|
||||||
$this->checkNewsletterSubscription();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if there're new updates.
|
* Check if there're new updates.
|
||||||
* NOTIF.UPDATEMANAGER.OPENSETUP
|
* NOTIF.UPDATEMANAGER.OPENSETUP
|
||||||
@ -608,7 +601,6 @@ class ConsoleSupervisor
|
|||||||
case 'NOTIF.MISC.DEVELOPBYPASS':
|
case 'NOTIF.MISC.DEVELOPBYPASS':
|
||||||
case 'NOTIF.MISC.FONTPATH':
|
case 'NOTIF.MISC.FONTPATH':
|
||||||
case 'NOTIF.SECURITY.DEFAULT_PASSWORD':
|
case 'NOTIF.SECURITY.DEFAULT_PASSWORD':
|
||||||
case 'NOTIF.NEWSLETTER.SUBSCRIPTION':
|
|
||||||
case 'NOTIF.UPDATEMANAGER.OPENSETUP':
|
case 'NOTIF.UPDATEMANAGER.OPENSETUP':
|
||||||
case 'NOTIF.UPDATEMANAGER.UPDATE':
|
case 'NOTIF.UPDATEMANAGER.UPDATE':
|
||||||
case 'NOTIF.UPDATEMANAGER.MINOR':
|
case 'NOTIF.UPDATEMANAGER.MINOR':
|
||||||
@ -2000,41 +1992,6 @@ class ConsoleSupervisor
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if instance is subscribed to newsletter.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function checkNewsletterSubscription()
|
|
||||||
{
|
|
||||||
global $config;
|
|
||||||
$login = get_parameter('login', false);
|
|
||||||
|
|
||||||
// Newsletter advice.
|
|
||||||
$newsletter = db_get_value(
|
|
||||||
'middlename',
|
|
||||||
'tusuario',
|
|
||||||
'id_user',
|
|
||||||
$config['id_user']
|
|
||||||
);
|
|
||||||
if (!$config['disabled_newsletter']
|
|
||||||
&& $newsletter != 1
|
|
||||||
&& $login === false
|
|
||||||
) {
|
|
||||||
$this->notify(
|
|
||||||
[
|
|
||||||
'type' => 'NOTIF.NEWSLETTER.SUBSCRIPTION',
|
|
||||||
'title' => __('Not subscribed to the newsletter'),
|
|
||||||
'message' => __('Click <a style="font-weight:bold; text-decoration:underline" href="javascript: force_run_newsletter();"> here</a> to subscribe to the newsletter'),
|
|
||||||
'url' => 'javascript: force_run_newsletter();',
|
|
||||||
]
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$this->cleanNotifications('NOTIF.NEWSLETTER.SUBSCRIPTION');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if user 'admin' is enabled and using default password.
|
* Check if user 'admin' is enabled and using default password.
|
||||||
*
|
*
|
||||||
|
@ -1341,6 +1341,9 @@ class NetworkMap
|
|||||||
&& $rel['child_type'] == NODE_MODULE
|
&& $rel['child_type'] == NODE_MODULE
|
||||||
) {
|
) {
|
||||||
// Module information available.
|
// Module information available.
|
||||||
|
$id_parent = $rel['id_parent_source_data'];
|
||||||
|
$id_child = $rel['id_child_source_data'];
|
||||||
|
|
||||||
$priority = 1;
|
$priority = 1;
|
||||||
$valid = 1;
|
$valid = 1;
|
||||||
|
|
||||||
@ -1655,7 +1658,6 @@ class NetworkMap
|
|||||||
$node['style']['label'] = $node['name'];
|
$node['style']['label'] = $node['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$node['style']['shape'] = 'circle';
|
|
||||||
if (isset($source_data['color'])) {
|
if (isset($source_data['color'])) {
|
||||||
$item['color'] = $source_data['color'];
|
$item['color'] = $source_data['color'];
|
||||||
} else {
|
} else {
|
||||||
@ -2957,7 +2959,7 @@ class NetworkMap
|
|||||||
'',
|
'',
|
||||||
0,
|
0,
|
||||||
true
|
true
|
||||||
).' <span id="shape_icon_in_progress" style="display: none;">'.html_print_image('images/spinner.gif', true).'</span><span id="shape_icon_correct" style="display: none;">'.html_print_image('images/dot_green.png', true).'</span><span id="shape_icon_fail" style="display: none;">'.html_print_image('images/dot_red.png', true).'</span>';
|
).' <span id="shape_icon_in_progress" style="display: none;">'.html_print_image('images/spinner.gif', true).'</span><span id="shape_icon_correct" style="display: none;">'.html_print_image('images/success.png', true, ['width' => '18px']).'</span><span id="shape_icon_fail" style="display: none;">'.html_print_image('images/icono-bad.png', true, ['width' => '18px']).'</span>';
|
||||||
$table->data['node_name'][0] = __('Name');
|
$table->data['node_name'][0] = __('Name');
|
||||||
$table->data['node_name'][1] = html_print_input_text(
|
$table->data['node_name'][1] = html_print_input_text(
|
||||||
'edit_name_node',
|
'edit_name_node',
|
||||||
|
453
pandora_console/include/class/OrderInterpreter.class.php
Normal file
@ -0,0 +1,453 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Welcome to Pandora FMS feature.
|
||||||
|
*
|
||||||
|
* @category Class
|
||||||
|
* @package Pandora FMS
|
||||||
|
* @subpackage Order Interpreter
|
||||||
|
* @version 1.0.0
|
||||||
|
* @license See below
|
||||||
|
*
|
||||||
|
* ______ ___ _______ _______ ________
|
||||||
|
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
|
||||||
|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
|
||||||
|
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
||||||
|
*
|
||||||
|
* ============================================================================
|
||||||
|
* Copyright (c) 2005-2019 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'].'/godmode/wizards/Wizard.main.php';
|
||||||
|
ui_require_css_file('order_interpreter');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OrderInterpreter.
|
||||||
|
*/
|
||||||
|
class OrderInterpreter extends Wizard
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allowed methods to be called using AJAX request.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
public $AJAXMethods = ['getResult'];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Url of controller.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $ajaxController;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates a JSON error.
|
||||||
|
*
|
||||||
|
* @param string $msg Error message.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function error($msg)
|
||||||
|
{
|
||||||
|
echo json_encode(
|
||||||
|
['error' => $msg]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if target method is available to be called using AJAX.
|
||||||
|
*
|
||||||
|
* @param string $method Target method.
|
||||||
|
*
|
||||||
|
* @return boolean True allowed, false not.
|
||||||
|
*/
|
||||||
|
public function ajaxMethod($method)
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
// Check access.
|
||||||
|
check_login();
|
||||||
|
|
||||||
|
return in_array($method, $this->AJAXMethods);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param string $ajax_controller Controller.
|
||||||
|
*
|
||||||
|
* @return object
|
||||||
|
* @throws Exception On error.
|
||||||
|
*/
|
||||||
|
public function __construct(
|
||||||
|
$ajax_controller='include/ajax/order_interpreter'
|
||||||
|
) {
|
||||||
|
global $config;
|
||||||
|
$this->ajaxController = $ajax_controller;
|
||||||
|
|
||||||
|
$this->pages_menu = [
|
||||||
|
[
|
||||||
|
'name' => __('Tactical View'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/op_monitoring.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=view&sec2=operation/agentes/tactical'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AR'
|
||||||
|
) || check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AW'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Agent Management'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_resources.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=gagente&sec2=godmode/agentes/modificar_agente'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AW'
|
||||||
|
) && check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AD'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('General Setup'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_setup.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=general&sec2=godmode/setup/setup§ion=general'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'PM'
|
||||||
|
) || is_user_admin(
|
||||||
|
$config['id_user']
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Manage Policies'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_configuration.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=gmodules&sec2=enterprise/godmode/policies/policies'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AW'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('List Alerts'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_alerts.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=galertas&sec2=godmode/alerts/alert_list'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'LW'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AD'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'LM'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('View Events'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/op_events.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=eventos&sec2=operation/events/events'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'ER'
|
||||||
|
) ||
|
||||||
|
check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'EW'
|
||||||
|
) ||
|
||||||
|
check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'EM'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Dashboard'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/op_reporting.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=reporting&sec2=enterprise/dashboard/dashboards'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'RR'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Visual Console'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/op_network.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=network&sec2=godmode/reporting/map_builder'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'VR'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Manage Servers'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_servers.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=gservers&sec2=godmode/servers/modificar_server'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AW'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Edit User'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_users.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=workspace&sec2=operation/users/user_edit'
|
||||||
|
),
|
||||||
|
'acl' => true,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Tree View'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/op_monitoring.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=view&sec2=operation/tree'
|
||||||
|
),
|
||||||
|
'acl' => true,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Network Component'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_configuration.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=gmodules&sec2=godmode/modules/manage_network_components'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'PM'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Task List'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_discovery.menu.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=discovery&sec2=godmode/servers/discovery&wiz=tasklist'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AR'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AW'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'AM'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'RR'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'RW'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'RM'
|
||||||
|
)
|
||||||
|
|| check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'PM'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Update Manager'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/um_messages.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=setup'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'PM'
|
||||||
|
) && is_user_admin($config['id_user']),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => __('Manage Agent Groups'),
|
||||||
|
'icon' => ui_get_full_url(
|
||||||
|
'images/gm_users.menu_gray.png'
|
||||||
|
),
|
||||||
|
'url' => ui_get_full_url(
|
||||||
|
'index.php?sec=gagente&sec2=godmode/groups/group_list&tab=groups'
|
||||||
|
),
|
||||||
|
'acl' => check_acl(
|
||||||
|
$config['id_user'],
|
||||||
|
0,
|
||||||
|
'PM'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to print order interpreted on header search input.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function getResult()
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
// Take value from input search.
|
||||||
|
$text = get_parameter('text', '');
|
||||||
|
$array_found = [];
|
||||||
|
$iterator = 0;
|
||||||
|
$more_results = 0;
|
||||||
|
|
||||||
|
if ($text !== '') {
|
||||||
|
echo '<div class="show_result_interpreter">';
|
||||||
|
echo '<ul id="result_items">';
|
||||||
|
|
||||||
|
foreach ($this->pages_menu as $key => $value) {
|
||||||
|
if (preg_match(
|
||||||
|
'/.*'.io_safe_output($text).'.*/i',
|
||||||
|
__('GO TO '.$value['name'])
|
||||||
|
) && $value['acl']
|
||||||
|
) {
|
||||||
|
if ($iterator <= 9) {
|
||||||
|
echo '<li class="list_found" name="'.$iterator.'" id="'.$iterator.'">';
|
||||||
|
echo '
|
||||||
|
Go to
|
||||||
|
<img src="'.$this->pages_menu[$key]['icon'].'">';
|
||||||
|
echo '
|
||||||
|
<a href="'.$this->pages_menu[$key]['url'].'">
|
||||||
|
'.$value['name'].'</a><br>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$iterator ++;
|
||||||
|
|
||||||
|
if ($iterator > 10) {
|
||||||
|
$more_results ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($iterator > 9) {
|
||||||
|
echo '</li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $this->loadJS();
|
||||||
|
echo '</ul>';
|
||||||
|
if ($iterator > 10) {
|
||||||
|
echo '<div class="more_results">
|
||||||
|
+ '.$more_results.' '.__('results found').'</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($iterator === 0) {
|
||||||
|
echo __('No results found');
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load JS content.
|
||||||
|
* function to create JS actions.
|
||||||
|
*
|
||||||
|
* @return string HTML code for javascript functionality.
|
||||||
|
*/
|
||||||
|
public function loadJS()
|
||||||
|
{
|
||||||
|
ob_start();
|
||||||
|
?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
return ob_get_clean();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -396,7 +396,11 @@ class WelcomeWindow extends Wizard
|
|||||||
$logo_url = ENTERPRISE_DIR.'/';
|
$logo_url = ENTERPRISE_DIR.'/';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (empty($config['custom_logo_white_bg']) === false) {
|
||||||
$logo_url .= 'images/custom_logo/'.$config['custom_logo_white_bg'];
|
$logo_url .= 'images/custom_logo/'.$config['custom_logo_white_bg'];
|
||||||
|
} else {
|
||||||
|
$logo_url .= 'images/custom_logo/pandora_logo_head_white_bg.png';
|
||||||
|
}
|
||||||
|
|
||||||
$inputs = [
|
$inputs = [
|
||||||
[
|
[
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC191218';
|
$build_version = 'PC200109';
|
||||||
$pandora_version = 'v7.0NG.742';
|
$pandora_version = 'v7.0NG.742';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
|
@ -3070,21 +3070,20 @@ function api_get_policy_modules($thrash1, $thrash2, $other, $thrash3)
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a network module in agent. And return the id_agent_module of new module.
|
* Create a network module in agent.
|
||||||
|
* And return the id_agent_module of new module.
|
||||||
*
|
*
|
||||||
* @param string $id Name of agent to add the module.
|
* @param string $id Name of agent to add the module.
|
||||||
* @param $thrash1 Don't use.
|
* @param string $thrash1 Don't use.
|
||||||
* @param array $other it's array, $other as param is <name_module>;<disabled>;<id_module_type>;
|
* @param array $other It's array, $other as param is <name_module>;<disabled>;<id_module_type>;
|
||||||
* <id_module_group>;<min_warning>;<max_warning>;<str_warning>;<min_critical>;<max_critical>;<str_critical>;<ff_threshold>;
|
* <id_module_group>;<min_warning>;<max_warning>;<str_warning>;<min_critical>;<max_critical>;<str_critical>;<ff_threshold>;
|
||||||
* <history_data>;<ip_target>;<module_port>;<snmp_community>;<snmp_oid>;<module_interval>;<post_process>;
|
* <history_data>;<ip_target>;<module_port>;<snmp_community>;<snmp_oid>;<module_interval>;<post_process>;
|
||||||
* <min>;<max>;<custom_id>;<description>;<disabled_types_event>;<module_macros>;
|
* <min>;<max>;<custom_id>;<description>;<disabled_types_event>;<module_macros>;
|
||||||
* <each_ff>;<ff_threshold_normal>;<ff_threshold_warning>;<ff_threshold_critical>; in this order
|
* <each_ff>;<ff_threshold_normal>;<ff_threshold_warning>;<ff_threshold_critical>; in this order
|
||||||
* and separator char (after text ; ) and separator (pass in param othermode as othermode=url_encode_separator_<separator>)
|
* and separator char (after text ; ) and separator (pass in param othermode as othermode=url_encode_separator_<separator>).
|
||||||
* example:
|
* @param string $thrash3 Don't use.
|
||||||
*
|
* @example: api.php?op=set&op2=create_network_module&id=pepito&other=prueba|0|7|1|10|15|0|16|18|0|15|0|www.google.es|0||0|180|0|0|0|0|latency%20ping&other_mode=url_encode_separator_|*
|
||||||
* api.php?op=set&op2=create_network_module&id=pepito&other=prueba|0|7|1|10|15|0|16|18|0|15|0|www.google.es|0||0|180|0|0|0|0|latency%20ping&other_mode=url_encode_separator_|
|
* @return mixed Return.
|
||||||
*
|
|
||||||
* @param $thrash3 Don't use
|
|
||||||
*/
|
*/
|
||||||
function api_set_create_network_module($id, $thrash1, $other, $thrash3)
|
function api_set_create_network_module($id, $thrash1, $other, $thrash3)
|
||||||
{
|
{
|
||||||
@ -3155,16 +3154,17 @@ function api_set_create_network_module($id, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_critical' => $other['data'][27],
|
'min_ff_event_critical' => $other['data'][27],
|
||||||
'critical_inverse' => $other['data'][28],
|
'critical_inverse' => $other['data'][28],
|
||||||
'warning_inverse' => $other['data'][29],
|
'warning_inverse' => $other['data'][29],
|
||||||
|
'ff_type' => $other['data'][30],
|
||||||
];
|
];
|
||||||
|
|
||||||
if (! $values['descripcion']) {
|
if (! $values['descripcion']) {
|
||||||
$values['descripcion'] = '';
|
$values['descripcion'] = '';
|
||||||
// Column 'descripcion' cannot be null
|
// Column 'descripcion' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $values['module_macros']) {
|
if (! $values['module_macros']) {
|
||||||
$values['module_macros'] = '';
|
$values['module_macros'] = '';
|
||||||
// Column 'module_macros' cannot be null
|
// Column 'module_macros' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($agent_by_alias) {
|
if ($agent_by_alias) {
|
||||||
@ -3190,7 +3190,7 @@ function api_set_create_network_module($id, $thrash1, $other, $thrash3)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_error($idModule)) {
|
if (is_error($idModule)) {
|
||||||
// TODO: Improve the error returning more info
|
// TODO: Improve the error returning more info.
|
||||||
returnError('error_create_network_module', __('Error in creation network module.'));
|
returnError('error_create_network_module', __('Error in creation network module.'));
|
||||||
} else {
|
} else {
|
||||||
returnData('string', ['type' => 'string', 'data' => $idModule]);
|
returnData('string', ['type' => 'string', 'data' => $idModule]);
|
||||||
@ -3307,6 +3307,7 @@ function api_set_update_network_module($id_module, $thrash1, $other, $thrash3)
|
|||||||
'critical_inverse',
|
'critical_inverse',
|
||||||
'warning_inverse',
|
'warning_inverse',
|
||||||
'policy_linked',
|
'policy_linked',
|
||||||
|
'ff_type',
|
||||||
];
|
];
|
||||||
|
|
||||||
$values = [];
|
$values = [];
|
||||||
@ -3420,16 +3421,17 @@ function api_set_create_plugin_module($id, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_critical' => $other['data'][32],
|
'min_ff_event_critical' => $other['data'][32],
|
||||||
'critical_inverse' => $other['data'][33],
|
'critical_inverse' => $other['data'][33],
|
||||||
'warning_inverse' => $other['data'][34],
|
'warning_inverse' => $other['data'][34],
|
||||||
|
'ff_type' => $other['data'][35],
|
||||||
];
|
];
|
||||||
|
|
||||||
if (! $values['descripcion']) {
|
if (! $values['descripcion']) {
|
||||||
$values['descripcion'] = '';
|
$values['descripcion'] = '';
|
||||||
// Column 'descripcion' cannot be null
|
// Column 'descripcion' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $values['module_macros']) {
|
if (! $values['module_macros']) {
|
||||||
$values['module_macros'] = '';
|
$values['module_macros'] = '';
|
||||||
// Column 'module_macros' cannot be null
|
// Column 'module_macros' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($agent_by_alias) {
|
if ($agent_by_alias) {
|
||||||
@ -3455,7 +3457,7 @@ function api_set_create_plugin_module($id, $thrash1, $other, $thrash3)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_error($idModule)) {
|
if (is_error($idModule)) {
|
||||||
// TODO: Improve the error returning more info
|
// TODO: Improve the error returning more info.
|
||||||
returnError('error_create_plugin_module', __('Error in creation plugin module.'));
|
returnError('error_create_plugin_module', __('Error in creation plugin module.'));
|
||||||
} else {
|
} else {
|
||||||
returnData('string', ['type' => 'string', 'data' => $idModule]);
|
returnData('string', ['type' => 'string', 'data' => $idModule]);
|
||||||
@ -3562,6 +3564,7 @@ function api_set_update_plugin_module($id_module, $thrash1, $other, $thrash3)
|
|||||||
'critical_inverse',
|
'critical_inverse',
|
||||||
'warning_inverse',
|
'warning_inverse',
|
||||||
'policy_linked',
|
'policy_linked',
|
||||||
|
'ff_type',
|
||||||
];
|
];
|
||||||
|
|
||||||
$values = [];
|
$values = [];
|
||||||
@ -3669,16 +3672,17 @@ function api_set_create_data_module($id, $thrash1, $other, $thrash3)
|
|||||||
'ff_timeout' => $other['data'][23],
|
'ff_timeout' => $other['data'][23],
|
||||||
'critical_inverse' => $other['data'][24],
|
'critical_inverse' => $other['data'][24],
|
||||||
'warning_inverse' => $other['data'][25],
|
'warning_inverse' => $other['data'][25],
|
||||||
|
'ff_type' => $other['data'][26],
|
||||||
];
|
];
|
||||||
|
|
||||||
if (! $values['descripcion']) {
|
if (! $values['descripcion']) {
|
||||||
$values['descripcion'] = '';
|
$values['descripcion'] = '';
|
||||||
// Column 'descripcion' cannot be null
|
// Column 'descripcion' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $values['module_macros']) {
|
if (! $values['module_macros']) {
|
||||||
$values['module_macros'] = '';
|
$values['module_macros'] = '';
|
||||||
// Column 'module_macros' cannot be null
|
// Column 'module_macros' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($agent_by_alias) {
|
if ($agent_by_alias) {
|
||||||
@ -3704,7 +3708,7 @@ function api_set_create_data_module($id, $thrash1, $other, $thrash3)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_error($idModule)) {
|
if (is_error($idModule)) {
|
||||||
// TODO: Improve the error returning more info
|
// TODO: Improve the error returning more info.
|
||||||
returnError('error_create_data_module', __('Error in creation data module.'));
|
returnError('error_create_data_module', __('Error in creation data module.'));
|
||||||
} else {
|
} else {
|
||||||
returnData('string', ['type' => 'string', 'data' => $idModule]);
|
returnData('string', ['type' => 'string', 'data' => $idModule]);
|
||||||
@ -3785,7 +3789,7 @@ function api_set_create_synthetic_module($id, $agent_by_alias, $other, $thrash3)
|
|||||||
|
|
||||||
if (! $values['descripcion']) {
|
if (! $values['descripcion']) {
|
||||||
$values['descripcion'] = '';
|
$values['descripcion'] = '';
|
||||||
// Column 'descripcion' cannot be null
|
// Column 'descripcion' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($agent_by_alias) {
|
if ($agent_by_alias) {
|
||||||
@ -3795,7 +3799,7 @@ function api_set_create_synthetic_module($id, $agent_by_alias, $other, $thrash3)
|
|||||||
$idModule = modules_create_agent_module($idAgent, $name, $values, true);
|
$idModule = modules_create_agent_module($idAgent, $name, $values, true);
|
||||||
|
|
||||||
if (is_error($idModule)) {
|
if (is_error($idModule)) {
|
||||||
// TODO: Improve the error returning more info
|
// TODO: Improve the error returning more info.
|
||||||
returnError('error_create_data_module', __('Error in creation data module.'));
|
returnError('error_create_data_module', __('Error in creation data module.'));
|
||||||
} else {
|
} else {
|
||||||
$synthetic_type = $other['data'][1];
|
$synthetic_type = $other['data'][1];
|
||||||
@ -4190,6 +4194,7 @@ function api_set_update_data_module($id_module, $thrash1, $other, $thrash3)
|
|||||||
'critical_inverse',
|
'critical_inverse',
|
||||||
'warning_inverse',
|
'warning_inverse',
|
||||||
'policy_linked',
|
'policy_linked',
|
||||||
|
'ff_type',
|
||||||
];
|
];
|
||||||
|
|
||||||
$values = [];
|
$values = [];
|
||||||
@ -4277,7 +4282,7 @@ function api_set_create_snmp_module($id, $thrash1, $other, $thrash3)
|
|||||||
$disabled_types_event[EVENTS_GOING_UNKNOWN] = (int) !$other['data'][27];
|
$disabled_types_event[EVENTS_GOING_UNKNOWN] = (int) !$other['data'][27];
|
||||||
$disabled_types_event = json_encode($disabled_types_event);
|
$disabled_types_event = json_encode($disabled_types_event);
|
||||||
|
|
||||||
// SNMP version 3
|
// SNMP version 3.
|
||||||
if ($other['data'][14] == '3') {
|
if ($other['data'][14] == '3') {
|
||||||
if ($other['data'][23] != 'AES' and $other['data'][23] != 'DES') {
|
if ($other['data'][23] != 'AES' and $other['data'][23] != 'DES') {
|
||||||
returnError('error_create_snmp_module', __('Error in creation SNMP module. snmp3_priv_method doesn\'t exist. Set it to \'AES\' or \'DES\'. '));
|
returnError('error_create_snmp_module', __('Error in creation SNMP module. snmp3_priv_method doesn\'t exist. Set it to \'AES\' or \'DES\'. '));
|
||||||
@ -4329,6 +4334,7 @@ function api_set_create_snmp_module($id, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_normal' => $other['data'][31],
|
'min_ff_event_normal' => $other['data'][31],
|
||||||
'min_ff_event_warning' => $other['data'][32],
|
'min_ff_event_warning' => $other['data'][32],
|
||||||
'min_ff_event_critical' => $other['data'][33],
|
'min_ff_event_critical' => $other['data'][33],
|
||||||
|
'ff_type' => $other['data'][34],
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
$values = [
|
$values = [
|
||||||
@ -4360,12 +4366,13 @@ function api_set_create_snmp_module($id, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_normal' => $other['data'][25],
|
'min_ff_event_normal' => $other['data'][25],
|
||||||
'min_ff_event_warning' => $other['data'][26],
|
'min_ff_event_warning' => $other['data'][26],
|
||||||
'min_ff_event_critical' => $other['data'][27],
|
'min_ff_event_critical' => $other['data'][27],
|
||||||
|
'ff_type' => $other['data'][28],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $values['descripcion']) {
|
if (! $values['descripcion']) {
|
||||||
$values['descripcion'] = '';
|
$values['descripcion'] = '';
|
||||||
// Column 'descripcion' cannot be null
|
// Column 'descripcion' cannot be null.
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($agent_by_alias) {
|
if ($agent_by_alias) {
|
||||||
@ -4528,6 +4535,7 @@ function api_set_update_snmp_module($id_module, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_warning',
|
'min_ff_event_warning',
|
||||||
'min_ff_event_critical',
|
'min_ff_event_critical',
|
||||||
'policy_linked',
|
'policy_linked',
|
||||||
|
'ff_type',
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
$snmp_module_fields = [
|
$snmp_module_fields = [
|
||||||
@ -4559,6 +4567,7 @@ function api_set_update_snmp_module($id_module, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_warning',
|
'min_ff_event_warning',
|
||||||
'min_ff_event_critical',
|
'min_ff_event_critical',
|
||||||
'policy_linked',
|
'policy_linked',
|
||||||
|
'ff_type',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4656,6 +4665,7 @@ function api_set_new_network_component($id, $thrash1, $other, $thrash2)
|
|||||||
'min_ff_event_normal' => $other['data'][20],
|
'min_ff_event_normal' => $other['data'][20],
|
||||||
'min_ff_event_warning' => $other['data'][21],
|
'min_ff_event_warning' => $other['data'][21],
|
||||||
'min_ff_event_critical' => $other['data'][22],
|
'min_ff_event_critical' => $other['data'][22],
|
||||||
|
'ff_type' => $other['data'][23],
|
||||||
];
|
];
|
||||||
|
|
||||||
$name_check = db_get_value('name', 'tnetwork_component', 'name', $id);
|
$name_check = db_get_value('name', 'tnetwork_component', 'name', $id);
|
||||||
@ -4756,6 +4766,7 @@ function api_set_new_plugin_component($id, $thrash1, $other, $thrash2)
|
|||||||
'min_ff_event_normal' => $other['data'][24],
|
'min_ff_event_normal' => $other['data'][24],
|
||||||
'min_ff_event_warning' => $other['data'][25],
|
'min_ff_event_warning' => $other['data'][25],
|
||||||
'min_ff_event_critical' => $other['data'][26],
|
'min_ff_event_critical' => $other['data'][26],
|
||||||
|
'ff_type' => $other['data'][27],
|
||||||
];
|
];
|
||||||
|
|
||||||
$name_check = db_get_value('name', 'tnetwork_component', 'name', $id);
|
$name_check = db_get_value('name', 'tnetwork_component', 'name', $id);
|
||||||
@ -4891,6 +4902,7 @@ function api_set_new_snmp_component($id, $thrash1, $other, $thrash2)
|
|||||||
'min_ff_event_normal' => $other['data'][29],
|
'min_ff_event_normal' => $other['data'][29],
|
||||||
'min_ff_event_warning' => $other['data'][30],
|
'min_ff_event_warning' => $other['data'][30],
|
||||||
'min_ff_event_critical' => $other['data'][31],
|
'min_ff_event_critical' => $other['data'][31],
|
||||||
|
'ff_type' => $other['data'][32],
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
$values = [
|
$values = [
|
||||||
@ -4922,6 +4934,7 @@ function api_set_new_snmp_component($id, $thrash1, $other, $thrash2)
|
|||||||
'min_ff_event_normal' => $other['data'][25],
|
'min_ff_event_normal' => $other['data'][25],
|
||||||
'min_ff_event_warning' => $other['data'][26],
|
'min_ff_event_warning' => $other['data'][26],
|
||||||
'min_ff_event_critical' => $other['data'][27],
|
'min_ff_event_critical' => $other['data'][27],
|
||||||
|
'ff_type' => $other['data'][28],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5002,6 +5015,7 @@ function api_set_new_local_component($id, $thrash1, $other, $thrash2)
|
|||||||
'min_ff_event_warning' => $other['data'][8],
|
'min_ff_event_warning' => $other['data'][8],
|
||||||
'min_ff_event_critical' => $other['data'][9],
|
'min_ff_event_critical' => $other['data'][9],
|
||||||
'ff_timeout' => $other['data'][10],
|
'ff_timeout' => $other['data'][10],
|
||||||
|
'ff_type' => $other['data'][11],
|
||||||
];
|
];
|
||||||
|
|
||||||
$name_check = enterprise_hook(
|
$name_check = enterprise_hook(
|
||||||
@ -6835,6 +6849,7 @@ function api_set_add_data_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
$values['min_ff_event_warning'] = $other['data'][21];
|
$values['min_ff_event_warning'] = $other['data'][21];
|
||||||
$values['min_ff_event_critical'] = $other['data'][22];
|
$values['min_ff_event_critical'] = $other['data'][22];
|
||||||
$values['ff_timeout'] = $other['data'][23];
|
$values['ff_timeout'] = $other['data'][23];
|
||||||
|
$values['ff_type'] = $other['data'][24];
|
||||||
|
|
||||||
if ($name_module_policy !== false) {
|
if ($name_module_policy !== false) {
|
||||||
if ($name_module_policy[0]['name'] == $other['data'][0]) {
|
if ($name_module_policy[0]['name'] == $other['data'][0]) {
|
||||||
@ -7076,6 +7091,7 @@ function api_set_add_network_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
$values['min_ff_event_normal'] = $other['data'][24];
|
$values['min_ff_event_normal'] = $other['data'][24];
|
||||||
$values['min_ff_event_warning'] = $other['data'][25];
|
$values['min_ff_event_warning'] = $other['data'][25];
|
||||||
$values['min_ff_event_critical'] = $other['data'][26];
|
$values['min_ff_event_critical'] = $other['data'][26];
|
||||||
|
$values['ff_type'] = $other['data'][27];
|
||||||
|
|
||||||
if ($name_module_policy !== false) {
|
if ($name_module_policy !== false) {
|
||||||
if ($name_module_policy[0]['name'] == $other['data'][0]) {
|
if ($name_module_policy[0]['name'] == $other['data'][0]) {
|
||||||
@ -7134,7 +7150,7 @@ function api_set_update_network_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the module exists
|
// Check if the module exists.
|
||||||
$module_policy = enterprise_hook('policies_get_modules', [$id, ['id' => $other['data'][0]], 'id_module']);
|
$module_policy = enterprise_hook('policies_get_modules', [$id, ['id' => $other['data'][0]], 'id_module']);
|
||||||
|
|
||||||
if ($module_policy === false) {
|
if ($module_policy === false) {
|
||||||
@ -7241,7 +7257,7 @@ function api_set_add_plugin_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the module is already in the policy
|
// Check if the module is already in the policy.
|
||||||
$name_module_policy = enterprise_hook('policies_get_modules', [$id, ['name' => $other['data'][0]], 'name']);
|
$name_module_policy = enterprise_hook('policies_get_modules', [$id, ['name' => $other['data'][0]], 'name']);
|
||||||
|
|
||||||
if ($name_module_policy === ENTERPRISE_NOT_HOOK) {
|
if ($name_module_policy === ENTERPRISE_NOT_HOOK) {
|
||||||
@ -7285,6 +7301,7 @@ function api_set_add_plugin_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
$values['min_ff_event_normal'] = $other['data'][29];
|
$values['min_ff_event_normal'] = $other['data'][29];
|
||||||
$values['min_ff_event_warning'] = $other['data'][30];
|
$values['min_ff_event_warning'] = $other['data'][30];
|
||||||
$values['min_ff_event_critical'] = $other['data'][31];
|
$values['min_ff_event_critical'] = $other['data'][31];
|
||||||
|
$values['ff_type'] = $other['data'][32];
|
||||||
|
|
||||||
if ($name_module_policy !== false) {
|
if ($name_module_policy !== false) {
|
||||||
if ($name_module_policy[0]['name'] == $other['data'][0]) {
|
if ($name_module_policy[0]['name'] == $other['data'][0]) {
|
||||||
@ -7344,7 +7361,7 @@ function api_set_update_plugin_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the module exists
|
// Check if the module exists.
|
||||||
$module_policy = enterprise_hook('policies_get_modules', [$id, ['id' => $other['data'][0]], 'id_module']);
|
$module_policy = enterprise_hook('policies_get_modules', [$id, ['id' => $other['data'][0]], 'id_module']);
|
||||||
|
|
||||||
if ($module_policy === false) {
|
if ($module_policy === false) {
|
||||||
@ -7449,10 +7466,10 @@ function api_set_add_module_in_conf($id_agent, $module_name, $configuration_data
|
|||||||
|
|
||||||
$new_configuration_data = io_safe_output(urldecode($configuration_data['data']));
|
$new_configuration_data = io_safe_output(urldecode($configuration_data['data']));
|
||||||
|
|
||||||
// Check if exist a current module with the same name in the conf file
|
// Check if exist a current module with the same name in the conf file.
|
||||||
$old_configuration_data = config_agents_get_module_from_conf($id_agent, io_safe_output($module_name));
|
$old_configuration_data = config_agents_get_module_from_conf($id_agent, io_safe_output($module_name));
|
||||||
|
|
||||||
// If exists a module with same name, abort
|
// If exists a module with same name, abort.
|
||||||
if (!empty($old_configuration_data)) {
|
if (!empty($old_configuration_data)) {
|
||||||
returnError('error_adding_module_conf', '-2');
|
returnError('error_adding_module_conf', '-2');
|
||||||
exit;
|
exit;
|
||||||
@ -7571,7 +7588,7 @@ function api_set_update_module_in_conf($id_agent, $module_name, $configuration_d
|
|||||||
|
|
||||||
$new_configuration_data = io_safe_output(urldecode($configuration_data_serialized['data']));
|
$new_configuration_data = io_safe_output(urldecode($configuration_data_serialized['data']));
|
||||||
|
|
||||||
// Get current configuration
|
// Get current configuration.
|
||||||
$old_configuration_data = config_agents_get_module_from_conf($id_agent, io_safe_output($module_name));
|
$old_configuration_data = config_agents_get_module_from_conf($id_agent, io_safe_output($module_name));
|
||||||
|
|
||||||
// If not exists
|
// If not exists
|
||||||
@ -7580,7 +7597,7 @@ function api_set_update_module_in_conf($id_agent, $module_name, $configuration_d
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If current configuration and new configuration are equal, abort
|
// If current configuration and new configuration are equal, abort.
|
||||||
if ($new_configuration_data == $old_configuration_data) {
|
if ($new_configuration_data == $old_configuration_data) {
|
||||||
returnData('string', ['type' => 'string', 'data' => '1']);
|
returnData('string', ['type' => 'string', 'data' => '1']);
|
||||||
exit;
|
exit;
|
||||||
@ -7702,6 +7719,7 @@ function api_set_add_snmp_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_normal' => $other['data'][30],
|
'min_ff_event_normal' => $other['data'][30],
|
||||||
'min_ff_event_warning' => $other['data'][31],
|
'min_ff_event_warning' => $other['data'][31],
|
||||||
'min_ff_event_critical' => $other['data'][32],
|
'min_ff_event_critical' => $other['data'][32],
|
||||||
|
'ff_type' => $other['data'][33],
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
$values = [
|
$values = [
|
||||||
@ -7731,6 +7749,7 @@ function api_set_add_snmp_module_policy($id, $thrash1, $other, $thrash3)
|
|||||||
'min_ff_event_normal' => $other['data'][24],
|
'min_ff_event_normal' => $other['data'][24],
|
||||||
'min_ff_event_warning' => $other['data'][25],
|
'min_ff_event_warning' => $other['data'][25],
|
||||||
'min_ff_event_critical' => $other['data'][26],
|
'min_ff_event_critical' => $other['data'][26],
|
||||||
|
'ff_type' => $other['data'][27],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -13508,7 +13527,7 @@ function api_get_module_graph($id_module, $thrash2, $other, $thrash4)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$graph_seconds = (!empty($other) && isset($other['data'][0])) ? $other['data'][0] : SECONDS_1HOUR;
|
$graph_seconds = (!empty($other) && isset($other['data'][0])) ? $other['data'][0] : SECONDS_1HOUR;
|
||||||
// 1 hour by default
|
// 1 hour by default.
|
||||||
$graph_threshold = (!empty($other) && isset($other['data'][2]) && $other['data'][2]) ? $other['data'][2] : 0;
|
$graph_threshold = (!empty($other) && isset($other['data'][2]) && $other['data'][2]) ? $other['data'][2] : 0;
|
||||||
|
|
||||||
if (is_nan($graph_seconds) || $graph_seconds <= 0) {
|
if (is_nan($graph_seconds) || $graph_seconds <= 0) {
|
||||||
@ -13624,7 +13643,7 @@ function api_set_new_cluster($thrash1, $thrash2, $other, $thrash3)
|
|||||||
];
|
];
|
||||||
|
|
||||||
if (!isset($name)) {
|
if (!isset($name)) {
|
||||||
// avoid warnings
|
// avoid warnings.
|
||||||
$name = '';
|
$name = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -13632,7 +13651,7 @@ function api_set_new_cluster($thrash1, $thrash2, $other, $thrash3)
|
|||||||
$id_agent = agents_create_agent($values_agent['nombre'], $values_agent['id_grupo'], 300, '', $values_agent);
|
$id_agent = agents_create_agent($values_agent['nombre'], $values_agent['id_grupo'], 300, '', $values_agent);
|
||||||
|
|
||||||
if ($id_agent !== false) {
|
if ($id_agent !== false) {
|
||||||
// Create cluster
|
// Create cluster.
|
||||||
$values_cluster = [
|
$values_cluster = [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
'cluster_type' => $cluster_type,
|
'cluster_type' => $cluster_type,
|
||||||
@ -13644,7 +13663,7 @@ function api_set_new_cluster($thrash1, $thrash2, $other, $thrash3)
|
|||||||
$id_cluster = db_process_sql_insert('tcluster', $values_cluster);
|
$id_cluster = db_process_sql_insert('tcluster', $values_cluster);
|
||||||
|
|
||||||
if ($id_cluster === false) {
|
if ($id_cluster === false) {
|
||||||
// failed to create cluster, rollback previously created agent
|
// failed to create cluster, rollback previously created agent.
|
||||||
agents_delete_agent($id_agent, true);
|
agents_delete_agent($id_agent, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -13989,7 +14008,7 @@ function api_set_apply_module_template($id_template, $id_agent, $thrash3, $thras
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Take agent data
|
// Take agent data.
|
||||||
$row = db_get_row('tagente', 'id_agente', $id_agent);
|
$row = db_get_row('tagente', 'id_agente', $id_agent);
|
||||||
|
|
||||||
$intervalo = $row['intervalo'];
|
$intervalo = $row['intervalo'];
|
||||||
@ -14023,7 +14042,7 @@ function api_set_apply_module_template($id_template, $id_agent, $thrash3, $thras
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($nc as $row2) {
|
foreach ($nc as $row2) {
|
||||||
// Insert each module from tnetwork_component into agent
|
// Insert each module from tnetwork_component into agent.
|
||||||
$values = [
|
$values = [
|
||||||
'id_agente' => $id_agent,
|
'id_agente' => $id_agent,
|
||||||
'id_tipo_modulo' => $row2['type'],
|
'id_tipo_modulo' => $row2['type'],
|
||||||
@ -14069,18 +14088,19 @@ function api_set_apply_module_template($id_template, $id_agent, $thrash3, $thras
|
|||||||
'min_ff_event_normal' => $row2['min_ff_event_normal'],
|
'min_ff_event_normal' => $row2['min_ff_event_normal'],
|
||||||
'min_ff_event_warning' => $row2['min_ff_event_warning'],
|
'min_ff_event_warning' => $row2['min_ff_event_warning'],
|
||||||
'min_ff_event_critical' => $row2['min_ff_event_critical'],
|
'min_ff_event_critical' => $row2['min_ff_event_critical'],
|
||||||
|
'ff_type' => $row2['ff_type'],
|
||||||
];
|
];
|
||||||
|
|
||||||
$name = $row2['name'];
|
$name = $row2['name'];
|
||||||
|
|
||||||
// Put tags in array if the component has to add them later
|
// Put tags in array if the component has to add them later.
|
||||||
if (!empty($row2['tags'])) {
|
if (!empty($row2['tags'])) {
|
||||||
$tags = explode(',', $row2['tags']);
|
$tags = explode(',', $row2['tags']);
|
||||||
} else {
|
} else {
|
||||||
$tags = [];
|
$tags = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if this module exists in the agent
|
// Check if this module exists in the agent.
|
||||||
$module_name_check = db_get_value_filter('id_agente_modulo', 'tagente_modulo', ['delete_pending' => 0, 'nombre' => $name, 'id_agente' => $id_agent]);
|
$module_name_check = db_get_value_filter('id_agente_modulo', 'tagente_modulo', ['delete_pending' => 0, 'nombre' => $name, 'id_agente' => $id_agent]);
|
||||||
|
|
||||||
if ($module_name_check !== false) {
|
if ($module_name_check !== false) {
|
||||||
|
@ -1286,7 +1286,11 @@ function config_update_config()
|
|||||||
|
|
||||||
// Juanma (06/05/2014) New feature: Custom front page for reports.
|
// Juanma (06/05/2014) New feature: Custom front page for reports.
|
||||||
if (!config_update_value('font_size_item_report', get_parameter('font_size_item_report', 2))) {
|
if (!config_update_value('font_size_item_report', get_parameter('font_size_item_report', 2))) {
|
||||||
$error_update[] = __('Font size for items reports');
|
$error_update[] = __('HTML font size for SLA (em)');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!config_update_value('global_font_size_report', get_parameter('global_font_size_report', 14))) {
|
||||||
|
$error_update[] = __('PDF font size (px)');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!config_update_value('interval_description', (string) get_parameter('interval_description', 'large'))) {
|
if (!config_update_value('interval_description', (string) get_parameter('interval_description', 'large'))) {
|
||||||
@ -1407,19 +1411,35 @@ function config_update_config()
|
|||||||
$error_update[] = __('Database password');
|
$error_update[] = __('Database password');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!config_update_value('history_db_days', get_parameter('history_db_days'))) {
|
$history_db_days = get_parameter('history_db_days');
|
||||||
|
if (!is_numeric($history_db_days)
|
||||||
|
|| $history_db_days <= 0
|
||||||
|
|| !config_update_value('history_db_days', $history_db_days)
|
||||||
|
) {
|
||||||
$error_update[] = __('Days');
|
$error_update[] = __('Days');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!config_update_value('history_event_days', get_parameter('history_event_days'))) {
|
$history_event_days = get_parameter('history_event_days');
|
||||||
|
if (!is_numeric($history_event_days)
|
||||||
|
|| $history_event_days <= 0
|
||||||
|
|| !config_update_value('history_event_days', $history_event_days)
|
||||||
|
) {
|
||||||
$error_update[] = __('Event Days');
|
$error_update[] = __('Event Days');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!config_update_value('history_db_step', get_parameter('history_db_step'))) {
|
$history_db_step = get_parameter('history_db_step');
|
||||||
|
if (!is_numeric($history_db_step)
|
||||||
|
|| $history_db_step <= 0
|
||||||
|
|| !config_update_value('history_db_step', $history_db_step)
|
||||||
|
) {
|
||||||
$error_update[] = __('Step');
|
$error_update[] = __('Step');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!config_update_value('history_db_delay', get_parameter('history_db_delay'))) {
|
$history_db_delay = get_parameter('history_db_delay');
|
||||||
|
if (!is_numeric($history_db_delay)
|
||||||
|
|| $history_db_delay <= 0
|
||||||
|
|| !config_update_value('history_db_delay', $history_db_delay)
|
||||||
|
) {
|
||||||
$error_update[] = __('Delay');
|
$error_update[] = __('Delay');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -2817,6 +2837,10 @@ function config_process_config()
|
|||||||
config_update_value('font_size_item_report', 2);
|
config_update_value('font_size_item_report', 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isset($config['global_font_size_report'])) {
|
||||||
|
config_update_value('global_font_size_report', 14);
|
||||||
|
}
|
||||||
|
|
||||||
if (!isset($config['interval_description'])) {
|
if (!isset($config['interval_description'])) {
|
||||||
config_update_value('interval_description', 'large');
|
config_update_value('interval_description', 'large');
|
||||||
}
|
}
|
||||||
|
@ -4009,7 +4009,7 @@ function events_page_details($event, $server='')
|
|||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
$data[0] = '<div style="font-weight:normal; margin-left: 20px;">'.__('Last contact').'</div>';
|
$data[0] = '<div style="font-weight:normal; margin-left: 20px;">'.__('Last contact').'</div>';
|
||||||
$data[1] = ($agent['ultimo_contacto'] == '1970-01-01 00:00:00') ? '<i>'.__('N/A').'</i>' : date_w_fixed_tz($agent['ultimo_contacto']);
|
$data[1] = ($agent['ultimo_contacto'] == '1970-01-01 00:00:00') ? '<i>'.__('N/A').'</i>' : ui_print_timestamp($agent['ultimo_contacto'], true);
|
||||||
$table_details->data[] = $data;
|
$table_details->data[] = $data;
|
||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
|
@ -1446,9 +1446,20 @@ function graphic_combined_module(
|
|||||||
$data_module_graph['agent_name'] = modules_get_agentmodule_agent_name(
|
$data_module_graph['agent_name'] = modules_get_agentmodule_agent_name(
|
||||||
$agent_module_id
|
$agent_module_id
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (is_metaconsole()) {
|
||||||
|
$data_module_graph['agent_alias'] = db_get_value(
|
||||||
|
'alias',
|
||||||
|
'tagente',
|
||||||
|
'id_agente',
|
||||||
|
(int) $module_data['id_agente']
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$data_module_graph['agent_alias'] = modules_get_agentmodule_agent_alias(
|
$data_module_graph['agent_alias'] = modules_get_agentmodule_agent_alias(
|
||||||
$agent_module_id
|
$agent_module_id
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$data_module_graph['agent_id'] = $module_data['id_agente'];
|
$data_module_graph['agent_id'] = $module_data['id_agente'];
|
||||||
$data_module_graph['module_name'] = $module_data['nombre'];
|
$data_module_graph['module_name'] = $module_data['nombre'];
|
||||||
$data_module_graph['id_module_type'] = $module_data['id_tipo_modulo'];
|
$data_module_graph['id_module_type'] = $module_data['id_tipo_modulo'];
|
||||||
|
@ -1183,7 +1183,7 @@ function html_print_extended_select_for_cron($hour='*', $minute='*', $mday='*',
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Month days
|
// Month days
|
||||||
for ($i = 0; $i < 31; $i++) {
|
for ($i = 1; $i <= 31; $i++) {
|
||||||
$mdays[$i] = $i;
|
$mdays[$i] = $i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3071,9 +3071,12 @@ function html_print_autocomplete_modules(
|
|||||||
['style' => 'background: url(images/search_module.png) no-repeat right;']
|
['style' => 'background: url(images/search_module.png) no-repeat right;']
|
||||||
);
|
);
|
||||||
html_print_input_hidden($name.'_hidden', $id_agent_module);
|
html_print_input_hidden($name.'_hidden', $id_agent_module);
|
||||||
ui_print_help_tip(__('Type at least two characters to search the module.'), false);
|
|
||||||
|
|
||||||
$javascript_ajax_page = ui_get_full_url('ajax.php', false, false, false, false);
|
if (!is_metaconsole()) {
|
||||||
|
ui_print_help_tip(__('Type at least two characters to search the module.'), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
$javascript_ajax_page = ui_get_full_url('ajax.php', false, false, false);
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function escapeHTML (str)
|
function escapeHTML (str)
|
||||||
|
@ -314,7 +314,7 @@ function profile_print_profile_table($id)
|
|||||||
$tags = tags_get_all_tags();
|
$tags = tags_get_all_tags();
|
||||||
$data['tags'] = html_print_select($tags, 'assign_tags[]', '', '', __('Any'), '', true, true);
|
$data['tags'] = html_print_select($tags, 'assign_tags[]', '', '', __('Any'), '', true, true);
|
||||||
|
|
||||||
$data['hierarchy'] = html_print_checkbox('no_hierarchy', 1, false, true).ui_print_help_icon('no_hierarchy', true);
|
$data['hierarchy'] = html_print_checkbox('no_hierarchy', 1, false, true);
|
||||||
|
|
||||||
$data['actions'] = html_print_input_image('add', 'images/add.png', 1, '', true);
|
$data['actions'] = html_print_input_image('add', 'images/add.png', 1, '', true);
|
||||||
$data['actions'] .= html_print_input_hidden('id', $id, true);
|
$data['actions'] .= html_print_input_hidden('id', $id, true);
|
||||||
|
@ -325,6 +325,17 @@ function reporting_make_reporting_data(
|
|||||||
$content['id_agent']
|
$content['id_agent']
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// This is for metaconsole. It is an array with modules and server (id node).
|
||||||
|
if (is_array($content['id_agent_module'])) {
|
||||||
|
$modules_server_array = $content['id_agent_module'];
|
||||||
|
$modules_array = [];
|
||||||
|
foreach ($modules_server_array as $value) {
|
||||||
|
$modules_array[] = $value['module'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$content['id_agent_module'] = $modules_array;
|
||||||
|
}
|
||||||
|
|
||||||
$modules = agents_get_modules(
|
$modules = agents_get_modules(
|
||||||
$agent_value,
|
$agent_value,
|
||||||
[
|
[
|
||||||
@ -1775,6 +1786,27 @@ function reporting_event_report_group(
|
|||||||
$event_graph_by_criticity = $event_filter['event_graph_by_criticity'];
|
$event_graph_by_criticity = $event_filter['event_graph_by_criticity'];
|
||||||
$event_graph_validated_vs_unvalidated = $event_filter['event_graph_validated_vs_unvalidated'];
|
$event_graph_validated_vs_unvalidated = $event_filter['event_graph_validated_vs_unvalidated'];
|
||||||
|
|
||||||
|
if (isset($content['recursion']) && $content['recursion'] == 1 && $content['id_group'] != 0) {
|
||||||
|
$propagate = db_get_value(
|
||||||
|
'propagate',
|
||||||
|
'tgrupo',
|
||||||
|
'id_grupo',
|
||||||
|
$content['id_group']
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($propagate) {
|
||||||
|
$children = groups_get_children($content['id_group']);
|
||||||
|
$_groups = [ $content['id_group'] ];
|
||||||
|
if (!empty($children)) {
|
||||||
|
foreach ($children as $child) {
|
||||||
|
$_groups[] = (int) $child['id_grupo'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$content['id_group'] = $_groups;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$data = events_get_agent(
|
$data = events_get_agent(
|
||||||
false,
|
false,
|
||||||
$content['period'],
|
$content['period'],
|
||||||
@ -7578,6 +7610,7 @@ function reporting_custom_graph(
|
|||||||
$content['name'] = __('Simple graph');
|
$content['name'] = __('Simple graph');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($type_report != 'automatic_graph') {
|
||||||
$module_source = db_get_all_rows_sql(
|
$module_source = db_get_all_rows_sql(
|
||||||
'SELECT id_agent_module
|
'SELECT id_agent_module
|
||||||
FROM tgraph_source
|
FROM tgraph_source
|
||||||
@ -7590,6 +7623,7 @@ function reporting_custom_graph(
|
|||||||
$modules[$key] = $value['id_agent_module'];
|
$modules[$key] = $value['id_agent_module'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$agent_description = agents_get_description($id_agent);
|
$agent_description = agents_get_description($id_agent);
|
||||||
$agent_group = agents_get_agent_group($id_agent);
|
$agent_group = agents_get_agent_group($id_agent);
|
||||||
|
@ -447,9 +447,9 @@ function reporting_html_SLA($table, $item, $mini, $pdf=0)
|
|||||||
$interval_description = $config['interval_description'];
|
$interval_description = $config['interval_description'];
|
||||||
|
|
||||||
if ($mini) {
|
if ($mini) {
|
||||||
$font_size = '1.5';
|
$font_size = '1.5em';
|
||||||
} else {
|
} else {
|
||||||
$font_size = $config['font_size_item_report'];
|
$font_size = $config['font_size_item_report'].'em';
|
||||||
}
|
}
|
||||||
|
|
||||||
$metaconsole_on = is_metaconsole();
|
$metaconsole_on = is_metaconsole();
|
||||||
@ -588,18 +588,18 @@ function reporting_html_SLA($table, $item, $mini, $pdf=0)
|
|||||||
$row[] = round($sla['sla_limit'], 2).'%';
|
$row[] = round($sla['sla_limit'], 2).'%';
|
||||||
|
|
||||||
if (reporting_sla_is_not_init_from_array($sla)) {
|
if (reporting_sla_is_not_init_from_array($sla)) {
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_NOTINIT.';">'.__('N/A').'</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_NOTINIT.';">'.__('N/A').'</span>';
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_NOTINIT.';">'.__('Not init').'</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_NOTINIT.';">'.__('Not init').'</span>';
|
||||||
} else if (reporting_sla_is_ignored_from_array($sla)) {
|
} else if (reporting_sla_is_ignored_from_array($sla)) {
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_IGNORED.';">'.__('N/A').'</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_IGNORED.';">'.__('N/A').'</span>';
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_IGNORED.';">'.__('No data').'</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_IGNORED.';">'.__('No data').'</span>';
|
||||||
// Normal calculation.
|
// Normal calculation.
|
||||||
} else if ($sla['sla_status']) {
|
} else if ($sla['sla_status']) {
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_NORMAL.';">'.sla_truncate($sla['sla_value'], $config['graph_precision']).'%</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_NORMAL.';">'.sla_truncate($sla['sla_value'], $config['graph_precision']).'%</span>';
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_NORMAL.';">'.__('OK').'</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_NORMAL.';">'.__('OK').'</span>';
|
||||||
} else {
|
} else {
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_CRITICAL.';">'.sla_truncate($sla['sla_value'], $config['graph_precision']).'%</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_CRITICAL.';">'.sla_truncate($sla['sla_value'], $config['graph_precision']).'%</span>';
|
||||||
$row[] = '<span style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_CRITICAL.';">'.__('Fail').'</span>';
|
$row[] = '<span style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_CRITICAL.';">'.__('Fail').'</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Second table for time globals.
|
// Second table for time globals.
|
||||||
@ -2310,7 +2310,6 @@ function reporting_html_network_interfaces_report($table, $item, $pdf=0)
|
|||||||
$table_agent->head = [];
|
$table_agent->head = [];
|
||||||
$table_agent->head[0] = __('Agent').' '.$agent['agent'];
|
$table_agent->head[0] = __('Agent').' '.$agent['agent'];
|
||||||
$table_agent->headstyle = [];
|
$table_agent->headstyle = [];
|
||||||
$table_agent->headstyle[0] = 'font-size: 16px;';
|
|
||||||
$table_agent->style[0] = 'text-align: center';
|
$table_agent->style[0] = 'text-align: center';
|
||||||
|
|
||||||
$table_agent->data['interfaces'] = '';
|
$table_agent->data['interfaces'] = '';
|
||||||
@ -2399,7 +2398,6 @@ function reporting_html_alert_report($table, $item, $pdf=0)
|
|||||||
'',
|
'',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$table1->head['agent'] = __('Agent');
|
$table1->head['agent'] = __('Agent');
|
||||||
@ -2503,9 +2501,9 @@ function reporting_html_monitor_report($table, $item, $mini, $pdf=0)
|
|||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
if ($mini) {
|
if ($mini) {
|
||||||
$font_size = '1.5';
|
$font_size = '1.5em';
|
||||||
} else {
|
} else {
|
||||||
$font_size = $config['font_size_item_report'];
|
$font_size = $config['font_size_item_report'].'em';
|
||||||
}
|
}
|
||||||
|
|
||||||
$table->colspan['module']['cell'] = 3;
|
$table->colspan['module']['cell'] = 3;
|
||||||
@ -2516,10 +2514,10 @@ function reporting_html_monitor_report($table, $item, $mini, $pdf=0)
|
|||||||
$table1->head = [];
|
$table1->head = [];
|
||||||
$table1->data = [];
|
$table1->data = [];
|
||||||
if ($item['data']['unknown'] == 1) {
|
if ($item['data']['unknown'] == 1) {
|
||||||
$table1->data['data']['unknown'] = '<p style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_UNKNOWN.';">';
|
$table1->data['data']['unknown'] = '<p style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_UNKNOWN.';">';
|
||||||
$table1->data['data']['unknown'] .= __('Unknown').'</p>';
|
$table1->data['data']['unknown'] .= __('Unknown').'</p>';
|
||||||
} else {
|
} else {
|
||||||
$table1->data['data']['ok'] = '<p style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_NORMAL.';">';
|
$table1->data['data']['ok'] = '<p style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_NORMAL.';">';
|
||||||
$table1->data['data']['ok'] .= html_print_image(
|
$table1->data['data']['ok'] .= html_print_image(
|
||||||
'images/module_ok.png',
|
'images/module_ok.png',
|
||||||
true
|
true
|
||||||
@ -2530,7 +2528,7 @@ function reporting_html_monitor_report($table, $item, $mini, $pdf=0)
|
|||||||
)
|
)
|
||||||
).' %</p>';
|
).' %</p>';
|
||||||
|
|
||||||
$table1->data['data']['fail'] = '<p style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_CRITICAL.';">';
|
$table1->data['data']['fail'] = '<p style="font-weight: bold; font-size: '.$font_size.' !important; color: '.COL_CRITICAL.';">';
|
||||||
$table1->data['data']['fail'] .= html_print_image(
|
$table1->data['data']['fail'] .= html_print_image(
|
||||||
'images/module_critical.png',
|
'images/module_critical.png',
|
||||||
true
|
true
|
||||||
@ -2750,9 +2748,9 @@ function reporting_html_value(&$table, $item, $mini, $only_value=false, $check_e
|
|||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
if ($mini) {
|
if ($mini) {
|
||||||
$font_size = '1.5';
|
$font_size = '1.5em';
|
||||||
} else {
|
} else {
|
||||||
$font_size = $config['font_size_item_report'];
|
$font_size = $config['font_size_item_report'].'em';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($item['visual_format']) && $item['visual_format'] != 0
|
if (isset($item['visual_format']) && $item['visual_format'] != 0
|
||||||
@ -2867,7 +2865,7 @@ function reporting_html_value(&$table, $item, $mini, $only_value=false, $check_e
|
|||||||
$table->colspan['data']['cell'] = 3;
|
$table->colspan['data']['cell'] = 3;
|
||||||
$table->cellstyle['data']['cell'] = 'text-align: left;';
|
$table->cellstyle['data']['cell'] = 'text-align: left;';
|
||||||
|
|
||||||
$table->data['data']['cell'] = '<p style="font: bold '.$font_size.'em Arial, Sans-serif; color: #000000;">';
|
$table->data['data']['cell'] = '<p style="font-weight: bold; font-size: '.$font_size.'; color: #000000;">';
|
||||||
|
|
||||||
if ($check_empty && empty($item['data']['value'])) {
|
if ($check_empty && empty($item['data']['value'])) {
|
||||||
$table->data['data']['cell'] .= __('Unknown');
|
$table->data['data']['cell'] .= __('Unknown');
|
||||||
@ -3021,6 +3019,7 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||||||
|
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
$font_size = $config['font_size_item_report'].'em';
|
||||||
$interval_description = $config['interval_description'];
|
$interval_description = $config['interval_description'];
|
||||||
|
|
||||||
if (!empty($item['data'])) {
|
if (!empty($item['data'])) {
|
||||||
@ -3227,7 +3226,7 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||||||
$table_row[] = '';
|
$table_row[] = '';
|
||||||
};
|
};
|
||||||
|
|
||||||
$table_row[] = '<span style="font-size: 1.2em; font-weight:bold;">'.sla_truncate($row['SLA'], $config['graph_precision']).'%</span>';
|
$table_row[] = '<span style="font-size: '.$font_size.'; font-weight:bold;">'.sla_truncate($row['SLA'], $config['graph_precision']).'%</span>';
|
||||||
|
|
||||||
$table_row2 = [];
|
$table_row2 = [];
|
||||||
$table_row2[] = $row['agent'];
|
$table_row2[] = $row['agent'];
|
||||||
@ -3323,7 +3322,7 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||||||
$item['resume']['min'],
|
$item['resume']['min'],
|
||||||
$config['graph_precision']
|
$config['graph_precision']
|
||||||
).'%',
|
).'%',
|
||||||
'avg' => '<span style="font-size: 1.2em; font-weight:bold;">'.sla_truncate($item['resume']['avg'], $config['graph_precision']).'%</span>',
|
'avg' => '<span style="font-size: '.$font_size.'; font-weight:bold;">'.sla_truncate($item['resume']['avg'], $config['graph_precision']).'%</span>',
|
||||||
];
|
];
|
||||||
if ($item['fields']['agent_max_value'] == false) {
|
if ($item['fields']['agent_max_value'] == false) {
|
||||||
$table1->head['max_text'] = '';
|
$table1->head['max_text'] = '';
|
||||||
@ -3380,6 +3379,14 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
|
|||||||
global $config;
|
global $config;
|
||||||
$metaconsole_on = is_metaconsole();
|
$metaconsole_on = is_metaconsole();
|
||||||
|
|
||||||
|
$font_size = $config['font_size_item_report'].'em';
|
||||||
|
|
||||||
|
if ($pdf) {
|
||||||
|
$font_mini = '9px';
|
||||||
|
} else {
|
||||||
|
$font_mini = 'inherit';
|
||||||
|
}
|
||||||
|
|
||||||
if ($metaconsole_on !== false) {
|
if ($metaconsole_on !== false) {
|
||||||
$hack_metaconsole = '../../';
|
$hack_metaconsole = '../../';
|
||||||
} else {
|
} else {
|
||||||
@ -3443,8 +3450,9 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
|
|||||||
|
|
||||||
$table1->data[0][0] = $chart['agent'].'<br />'.$chart['module'];
|
$table1->data[0][0] = $chart['agent'].'<br />'.$chart['module'];
|
||||||
$table1->data[0][1] = $chart['chart'];
|
$table1->data[0][1] = $chart['chart'];
|
||||||
$table1->data[0][2] = "<span style = 'font: bold 2em Arial, Sans-serif; color: ".$color."'>".$sla_value.'</span>';
|
$table1->data[0][2] = "<span style = 'font-weight: bold; font-size: ".$font_size.'; color: '.$color."'>".$sla_value.'</span>';
|
||||||
$table1->data[0][3] = $checks_resume;
|
$table1->data[0][3] = "<span style = 'font-size: ".$font_mini.";'>".$checks_resume.'</span>';
|
||||||
|
|
||||||
$tables_chart .= html_print_table(
|
$tables_chart .= html_print_table(
|
||||||
$table1,
|
$table1,
|
||||||
true
|
true
|
||||||
@ -3464,8 +3472,10 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$title = '';
|
$title = '';
|
||||||
$checks_resume_text = $checks_resume;
|
$checks_resume_text = '<span style = "font-size: '.$font_mini.';">';
|
||||||
$sla_value_text = "<span style = 'font: bold 2em Arial, Sans-serif; color: ".$color."'>".$sla_value.'</span>';
|
$checks_resume_text .= $checks_resume;
|
||||||
|
$checks_resume_text .= '</span>';
|
||||||
|
$sla_value_text = "<span style = 'font-weight: bold; font-size: ".$font_size.' !important; color: '.$color."'>".$sla_value.'</span>';
|
||||||
switch ($item['data'][$k_chart]['failover']) {
|
switch ($item['data'][$k_chart]['failover']) {
|
||||||
case 'primary':
|
case 'primary':
|
||||||
$title = '<b>'.__('Primary').'</b>';
|
$title = '<b>'.__('Primary').'</b>';
|
||||||
@ -3482,8 +3492,8 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
|
|||||||
case 'result':
|
case 'result':
|
||||||
default:
|
default:
|
||||||
$title = '<b>'.__('Result').'</b>';
|
$title = '<b>'.__('Result').'</b>';
|
||||||
$sla_value_text = "<span style = 'font: bold 3em Arial, Sans-serif; color: ".$color."'>".$sla_value.'</span>';
|
$sla_value_text = "<span style = 'font-weight: bold; font-size: ".$font_size.' !important; color: '.$color."'>".$sla_value.'</span>';
|
||||||
$checks_resume_text = '<span style = "font-size: 12pt;">';
|
$checks_resume_text = '<span style = "font-size: '.$font_mini.';">';
|
||||||
$checks_resume_text .= $checks_resume;
|
$checks_resume_text .= $checks_resume;
|
||||||
$checks_resume_text .= '</span>';
|
$checks_resume_text .= '</span>';
|
||||||
break;
|
break;
|
||||||
@ -5123,19 +5133,6 @@ function reporting_html_planned_downtimes_table($planned_downtimes)
|
|||||||
$table->style = [];
|
$table->style = [];
|
||||||
$table->data = [];
|
$table->data = [];
|
||||||
|
|
||||||
if ($for_pdf) {
|
|
||||||
$table->titlestyle = 'background: #373737; color: #FFF; display: table-cell; font-size: 12px; border: 1px solid grey';
|
|
||||||
$table->class = 'table_sla';
|
|
||||||
|
|
||||||
for ($i = 0; $i < count($table->head); $i++) {
|
|
||||||
$table->headstyle[$i] = 'background: #666; color: #FFF; display: table-cell; font-size: 11px; border: 1px solid grey';
|
|
||||||
}
|
|
||||||
|
|
||||||
for ($i = 0; $i < count($table->head); $i++) {
|
|
||||||
$table->style[$i] = 'display: table-cell; font-size: 10px;';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($planned_downtimes as $planned_downtime) {
|
foreach ($planned_downtimes as $planned_downtime) {
|
||||||
$data = [];
|
$data = [];
|
||||||
$data[0] = $planned_downtime['name'];
|
$data[0] = $planned_downtime['name'];
|
||||||
|
@ -39,6 +39,9 @@ function reporting_xml_get_report($report, $filename, $return=false)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove entities.
|
||||||
|
$report = io_safe_output($report);
|
||||||
|
|
||||||
$xml = null;
|
$xml = null;
|
||||||
$xml = array2XML($report, 'report', $xml);
|
$xml = array2XML($report, 'report', $xml);
|
||||||
$xml = preg_replace('/(<[^>]+>)(<[^>]+>)(<[^>]+>)/', "$1\n$2\n$3", $xml);
|
$xml = preg_replace('/(<[^>]+>)(<[^>]+>)(<[^>]+>)/', "$1\n$2\n$3", $xml);
|
||||||
|
@ -47,8 +47,6 @@ function tactical_get_data($id_user=false, $user_strict=false, $acltags, $return
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($user_groups_ids)) {
|
if (!empty($user_groups_ids)) {
|
||||||
switch ($config['dbtype']) {
|
|
||||||
case 'mysql':
|
|
||||||
$list_groups = db_get_all_rows_sql(
|
$list_groups = db_get_all_rows_sql(
|
||||||
'
|
'
|
||||||
SELECT *
|
SELECT *
|
||||||
@ -56,28 +54,6 @@ function tactical_get_data($id_user=false, $user_strict=false, $acltags, $return
|
|||||||
WHERE id_grupo IN ('.$user_groups_ids.')
|
WHERE id_grupo IN ('.$user_groups_ids.')
|
||||||
ORDER BY nombre COLLATE utf8_general_ci ASC'
|
ORDER BY nombre COLLATE utf8_general_ci ASC'
|
||||||
);
|
);
|
||||||
break;
|
|
||||||
|
|
||||||
case 'postgresql':
|
|
||||||
$list_groups = db_get_all_rows_sql(
|
|
||||||
'
|
|
||||||
SELECT *
|
|
||||||
FROM tgrupo
|
|
||||||
WHERE id_grupo IN ('.$user_groups_ids.')
|
|
||||||
ORDER BY nombre ASC'
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'oracle':
|
|
||||||
$list_groups = db_get_all_rows_sql(
|
|
||||||
'
|
|
||||||
SELECT *
|
|
||||||
FROM tgrupo
|
|
||||||
WHERE id_grupo IN ('.$user_groups_ids.')
|
|
||||||
ORDER BY nombre ASC'
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$list = [];
|
$list = [];
|
||||||
@ -242,14 +218,36 @@ function tactical_get_data($id_user=false, $user_strict=false, $acltags, $return
|
|||||||
|
|
||||||
$list['_server_sanity_'] = format_numeric((100 - $list['_module_sanity_']), 1);
|
$list['_server_sanity_'] = format_numeric((100 - $list['_module_sanity_']), 1);
|
||||||
} else if (($config['realtimestats'] == 0)) {
|
} else if (($config['realtimestats'] == 0)) {
|
||||||
|
if (users_is_admin()) {
|
||||||
$group_stat = db_get_all_rows_sql(
|
$group_stat = db_get_all_rows_sql(
|
||||||
"SELECT
|
sprintf(
|
||||||
|
'SELECT
|
||||||
SUM(ta.normal_count) as normal, SUM(ta.critical_count) as critical,
|
SUM(ta.normal_count) as normal, SUM(ta.critical_count) as critical,
|
||||||
SUM(ta.warning_count) as warning,SUM(ta.unknown_count) as unknown,
|
SUM(ta.warning_count) as warning,SUM(ta.unknown_count) as unknown,
|
||||||
SUM(ta.notinit_count) as not_init, SUM(fired_count) as alerts_fired
|
SUM(ta.notinit_count) as not_init, SUM(ta.fired_count) as alerts_fired
|
||||||
FROM tagente ta
|
FROM tagente ta
|
||||||
WHERE disabled = 0 AND id_grupo IN ($user_groups_ids)"
|
WHERE ta.disabled = 0 AND ta.id_grupo IN (%s)
|
||||||
|
',
|
||||||
|
$user_groups_ids
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$group_stat = db_get_all_rows_sql(
|
||||||
|
sprintf(
|
||||||
|
'SELECT
|
||||||
|
SUM(ta.normal_count) as normal, SUM(ta.critical_count) as critical,
|
||||||
|
SUM(ta.warning_count) as warning,SUM(ta.unknown_count) as unknown,
|
||||||
|
SUM(ta.notinit_count) as not_init, SUM(ta.fired_count) as alerts_fired
|
||||||
|
FROM tagente ta
|
||||||
|
LEFT JOIN tagent_secondary_group tasg
|
||||||
|
ON ta.id_agente = tasg.id_agent
|
||||||
|
WHERE ta.disabled = 0 AND
|
||||||
|
(ta.id_grupo IN ( %s ) OR tasg.id_group IN ( %s ))',
|
||||||
|
$user_groups_ids,
|
||||||
|
$user_groups_ids
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$list['_agents_unknown_'] = $group_stat[0]['unknown'];
|
$list['_agents_unknown_'] = $group_stat[0]['unknown'];
|
||||||
$list['_monitors_alerts_fired_'] = $group_stat[0]['alerts_fired'];
|
$list['_monitors_alerts_fired_'] = $group_stat[0]['alerts_fired'];
|
||||||
@ -303,19 +301,41 @@ function tactical_get_data($id_user=false, $user_strict=false, $acltags, $return
|
|||||||
|
|
||||||
$list['_server_sanity_'] = format_numeric((100 - $list['_module_sanity_']), 1);
|
$list['_server_sanity_'] = format_numeric((100 - $list['_module_sanity_']), 1);
|
||||||
} else {
|
} else {
|
||||||
$_tag_condition = '';
|
if (users_is_admin()) {
|
||||||
$result_list = db_get_all_rows_sql(
|
$result_list = db_get_all_rows_sql(
|
||||||
"SELECT COUNT(*) as contado, estado
|
sprintf(
|
||||||
FROM tagente_estado tae INNER JOIN tagente ta
|
'SELECT COUNT(*) as contado, estado FROM tagente_estado tae
|
||||||
|
INNER JOIN tagente ta
|
||||||
ON tae.id_agente = ta.id_agente
|
ON tae.id_agente = ta.id_agente
|
||||||
AND ta.disabled = 0
|
AND ta.disabled = 0
|
||||||
AND ta.id_grupo IN ( $user_groups_ids )
|
AND ta.id_grupo IN ( %s )
|
||||||
INNER JOIN tagente_modulo tam
|
INNER JOIN tagente_modulo tam
|
||||||
ON tae.id_agente_modulo = tam.id_agente_modulo
|
ON tae.id_agente_modulo = tam.id_agente_modulo
|
||||||
AND tam.disabled = 0
|
AND tam.disabled = 0
|
||||||
$_tag_condition
|
GROUP BY estado',
|
||||||
GROUP BY estado"
|
$user_groups_ids
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$result_list = db_get_all_rows_sql(
|
||||||
|
sprintf(
|
||||||
|
'SELECT COUNT(*) as contado, estado
|
||||||
|
FROM tagente_estado tae
|
||||||
|
INNER JOIN tagente ta
|
||||||
|
ON tae.id_agente = ta.id_agente
|
||||||
|
AND ta.disabled = 0
|
||||||
|
INNER JOIN tagente_modulo tam
|
||||||
|
ON tae.id_agente_modulo = tam.id_agente_modulo
|
||||||
|
AND tam.disabled = 0
|
||||||
|
LEFT JOIN tagent_secondary_group tasg
|
||||||
|
ON ta.id_agente = tasg.id_agent
|
||||||
|
WHERE (ta.id_grupo IN ( %s ) OR tasg.id_group IN ( %s ))
|
||||||
|
GROUP BY estado',
|
||||||
|
$user_groups_ids,
|
||||||
|
$user_groups_ids
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($result_list)) {
|
if (empty($result_list)) {
|
||||||
$result_list = [];
|
$result_list = [];
|
||||||
|
@ -624,7 +624,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
|
|||||||
if ($agent['ultimo_contacto_remoto'] == '01-01-1970 00:00:00') {
|
if ($agent['ultimo_contacto_remoto'] == '01-01-1970 00:00:00') {
|
||||||
$last_remote_contact = __('Never');
|
$last_remote_contact = __('Never');
|
||||||
} else {
|
} else {
|
||||||
$last_remote_contact = ui_print_timestamp($agent['ultimo_contacto_remoto'], true);
|
$last_remote_contact = date_w_fixed_tz($agent['ultimo_contacto_remoto']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$row = [];
|
$row = [];
|
||||||
|
@ -776,9 +776,9 @@ function ui_print_os_icon(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_metaconsole()) {
|
if (is_metaconsole()) {
|
||||||
$no_in_meta = true;
|
|
||||||
} else {
|
|
||||||
$no_in_meta = false;
|
$no_in_meta = false;
|
||||||
|
} else {
|
||||||
|
$no_in_meta = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$icon = (string) db_get_value('icon_name', 'tconfig_os', 'id_os', (int) $id_os);
|
$icon = (string) db_get_value('icon_name', 'tconfig_os', 'id_os', (int) $id_os);
|
||||||
@ -1144,7 +1144,7 @@ function ui_format_alert_row(
|
|||||||
|
|
||||||
$data[$index['agent_name']] = $disabledHtmlStart;
|
$data[$index['agent_name']] = $disabledHtmlStart;
|
||||||
if ($agent == 0) {
|
if ($agent == 0) {
|
||||||
$data[$index['module_name']] .= ui_print_truncate_text(isset($alert['agent_module_name']) ? $alert['agent_module_name'] : modules_get_agentmodule_name($alert['id_agent_module']), 'module_small', false, true, true, '[…]', 'font-size: 7.2pt');
|
$data[$index['module_name']] .= ui_print_truncate_text(isset($alert['agent_module_name']) ? $alert['agent_module_name'] : modules_get_agentmodule_name($alert['id_agent_module']), 'module_small', false, true, true, '[…]', '');
|
||||||
} else {
|
} else {
|
||||||
if (defined('METACONSOLE')) {
|
if (defined('METACONSOLE')) {
|
||||||
$agent_name = $alert['agent_name'];
|
$agent_name = $alert['agent_name'];
|
||||||
@ -1155,16 +1155,16 @@ function ui_format_alert_row(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (defined('METACONSOLE') || !can_user_access_node()) {
|
if (defined('METACONSOLE') || !can_user_access_node()) {
|
||||||
$data[$index['agent_name']] = ui_print_truncate_text($agent_name, 'agent_small', false, true, false, '[…]', 'font-size:7.5pt;');
|
$data[$index['agent_name']] = ui_print_truncate_text($agent_name, 'agent_small', false, true, true, '[…]', '');
|
||||||
} else {
|
} else {
|
||||||
if ($agent_style !== false) {
|
if ($agent_style !== false) {
|
||||||
$data[$index['agent_name']] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent.'"> <span style="font-size: 7pt;font-weight:bold" title ="'.$agente['nombre'].'">'.$agente['alias'].'</span></a>';
|
$data[$index['agent_name']] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent.'"> <span style="font-weight:bold" title ="'.$agente['nombre'].'">'.$agente['alias'].'</span></a>';
|
||||||
} else {
|
} else {
|
||||||
$data[$index['agent_name']] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent.'"> <span style="font-size: 7pt;font-weight:bold" title ="'.$agente['nombre'].'">'.$agente['alias'].'</span></a>';
|
$data[$index['agent_name']] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent.'"> <span style="font-weight:bold" title ="'.$agente['nombre'].'">'.$agente['alias'].'</span></a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$data[$index['module_name']] = ui_print_truncate_text(isset($alert['agent_module_name']) ? $alert['agent_module_name'] : modules_get_agentmodule_name($alert['id_agent_module']), 'module_small', false, true, true, '[…]', 'font-size: 7.2pt');
|
$data[$index['module_name']] = ui_print_truncate_text(isset($alert['agent_module_name']) ? $alert['agent_module_name'] : modules_get_agentmodule_name($alert['id_agent_module']), 'module_small', false, true, true, '[…]', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
$data[$index['agent_name']] .= $disabledHtmlEnd;
|
$data[$index['agent_name']] .= $disabledHtmlEnd;
|
||||||
@ -1184,7 +1184,7 @@ function ui_format_alert_row(
|
|||||||
FROM talert_templates WHERE id = '.$alert['id_alert_template']
|
FROM talert_templates WHERE id = '.$alert['id_alert_template']
|
||||||
);
|
);
|
||||||
|
|
||||||
$data[$index['description']] .= $disabledHtmlStart.ui_print_truncate_text(io_safe_output($description), 'description', false, true, true, '[…]', 'font-size: 7.1pt').$disabledHtmlEnd;
|
$data[$index['description']] .= $disabledHtmlStart.ui_print_truncate_text(io_safe_output($description), 'description', false, true, true, '[…]', '').$disabledHtmlEnd;
|
||||||
|
|
||||||
$actions = alerts_get_alert_agent_module_actions($alert['id'], false, $alert['server_data']['id']);
|
$actions = alerts_get_alert_agent_module_actions($alert['id'], false, $alert['server_data']['id']);
|
||||||
|
|
||||||
@ -3333,6 +3333,7 @@ function ui_print_datatable(array $parameters)
|
|||||||
{
|
{
|
||||||
extend: "csv",
|
extend: "csv",
|
||||||
text : "'.__('Export current page to CSV').'",
|
text : "'.__('Export current page to CSV').'",
|
||||||
|
titleAttr: "'.__('Export current page to CSV').'",
|
||||||
title: "export_'.$parameters['id'].'_current_page_'.date('Y-m-d').'",
|
title: "export_'.$parameters['id'].'_current_page_'.date('Y-m-d').'",
|
||||||
fieldSeparator: "'.$config['csv_divider'].'",
|
fieldSeparator: "'.$config['csv_divider'].'",
|
||||||
exportOptions : {
|
exportOptions : {
|
||||||
|
@ -762,7 +762,7 @@ function newsletter_wiz_modal(
|
|||||||
__('Cancel'),
|
__('Cancel'),
|
||||||
'cancel_newsletter',
|
'cancel_newsletter',
|
||||||
false,
|
false,
|
||||||
'class="ui-widget ui-state-default ui-corner-all ui-button-text-only sub upd submit-cancel" style="color: red; width:100px;"',
|
'class="ui-widget ui-state-default ui-corner-all ui-button-text-only sub upd submit-cancel" style="width:100px;"',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$output .= '</div>';
|
$output .= '</div>';
|
||||||
@ -1166,7 +1166,7 @@ function update_manager_install_package_step2()
|
|||||||
}
|
}
|
||||||
|
|
||||||
update_manager_enterprise_set_version($version);
|
update_manager_enterprise_set_version($version);
|
||||||
$product_name = get_product_name();
|
$product_name = io_safe_output(get_product_name());
|
||||||
|
|
||||||
// Generate audit entry.
|
// Generate audit entry.
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
|
@ -1900,6 +1900,8 @@ function visual_map_print_item(
|
|||||||
echo '<img id="image_'.$id.'" src="images/console/signes/group_status.png" style="width:'.$width.'px;height:'.$height.'px;'.$imgpos.'">';
|
echo '<img id="image_'.$id.'" src="images/console/signes/group_status.png" style="width:'.$width.'px;height:'.$height.'px;'.$imgpos.'">';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
$is_meta = is_metaconsole();
|
||||||
|
|
||||||
$agents_critical = agents_get_agents(
|
$agents_critical = agents_get_agents(
|
||||||
[
|
[
|
||||||
'disabled' => 0,
|
'disabled' => 0,
|
||||||
@ -1908,7 +1910,10 @@ function visual_map_print_item(
|
|||||||
],
|
],
|
||||||
['COUNT(*) as total'],
|
['COUNT(*) as total'],
|
||||||
'AR',
|
'AR',
|
||||||
false
|
false,
|
||||||
|
false,
|
||||||
|
0,
|
||||||
|
$is_meta
|
||||||
);
|
);
|
||||||
$agents_warning = agents_get_agents(
|
$agents_warning = agents_get_agents(
|
||||||
[
|
[
|
||||||
@ -1918,7 +1923,10 @@ function visual_map_print_item(
|
|||||||
],
|
],
|
||||||
['COUNT(*) as total'],
|
['COUNT(*) as total'],
|
||||||
'AR',
|
'AR',
|
||||||
false
|
false,
|
||||||
|
false,
|
||||||
|
0,
|
||||||
|
$is_meta
|
||||||
);
|
);
|
||||||
$agents_unknown = agents_get_agents(
|
$agents_unknown = agents_get_agents(
|
||||||
[
|
[
|
||||||
@ -1928,7 +1936,10 @@ function visual_map_print_item(
|
|||||||
],
|
],
|
||||||
['COUNT(*) as total'],
|
['COUNT(*) as total'],
|
||||||
'AR',
|
'AR',
|
||||||
false
|
false,
|
||||||
|
false,
|
||||||
|
0,
|
||||||
|
$is_meta
|
||||||
);
|
);
|
||||||
$agents_ok = agents_get_agents(
|
$agents_ok = agents_get_agents(
|
||||||
[
|
[
|
||||||
@ -1938,7 +1949,10 @@ function visual_map_print_item(
|
|||||||
],
|
],
|
||||||
['COUNT(*) as total'],
|
['COUNT(*) as total'],
|
||||||
'AR',
|
'AR',
|
||||||
false
|
false,
|
||||||
|
false,
|
||||||
|
0,
|
||||||
|
$is_meta
|
||||||
);
|
);
|
||||||
$total_agents = ($agents_critical[0]['total'] + $agents_warning[0]['total'] + $agents_unknown[0]['total'] + $agents_ok[0]['total']);
|
$total_agents = ($agents_critical[0]['total'] + $agents_warning[0]['total'] + $agents_unknown[0]['total'] + $agents_ok[0]['total']);
|
||||||
$stat_agent_ok = ($agents_ok[0]['total'] / $total_agents * 100);
|
$stat_agent_ok = ($agents_ok[0]['total'] / $total_agents * 100);
|
||||||
|
@ -1447,9 +1447,6 @@ function visual_map_editor_print_hack_translate_strings()
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready (function () {
|
$(document).ready (function () {
|
||||||
$("#map_linked").change(function () {
|
$("#map_linked").change(function () {
|
||||||
$("option[value=" + this.value + "]", this)
|
|
||||||
.attr("selected", true).siblings()
|
|
||||||
.removeAttr("selected")
|
|
||||||
$("#text-agent").val("");
|
$("#text-agent").val("");
|
||||||
$("input[name=id_agent]").val(0);
|
$("input[name=id_agent]").val(0);
|
||||||
$("#module").empty();
|
$("#module").empty();
|
||||||
|
@ -86,6 +86,7 @@
|
|||||||
}
|
}
|
||||||
.defaultSkin table.mceLayout tr.mceLast td {
|
.defaultSkin table.mceLayout tr.mceLast td {
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
|
padding-bottom: 20px;
|
||||||
}
|
}
|
||||||
.defaultSkin table.mceToolbar,
|
.defaultSkin table.mceToolbar,
|
||||||
.defaultSkin tr.mceFirst .mceToolbar tr td,
|
.defaultSkin tr.mceFirst .mceToolbar tr td,
|
||||||
|
@ -737,7 +737,7 @@ var TreeController = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$graphImage.addClass("module-graph").click(function(e) {
|
$graphImage.addClass("module-graph").click(function(e) {
|
||||||
e.preventDefault();
|
e.stopPropagation();
|
||||||
if (element.statusImageHTML.indexOf("data:image") != -1) {
|
if (element.statusImageHTML.indexOf("data:image") != -1) {
|
||||||
try {
|
try {
|
||||||
winopeng_var(
|
winopeng_var(
|
||||||
@ -776,7 +776,7 @@ var TreeController = {
|
|||||||
'images/binary.png" /> '
|
'images/binary.png" /> '
|
||||||
);
|
);
|
||||||
$dataImage.addClass("module-data").click(function(e) {
|
$dataImage.addClass("module-data").click(function(e) {
|
||||||
e.preventDefault();
|
e.stopPropagation();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var serverName =
|
var serverName =
|
||||||
|
103
pandora_console/include/styles/demos.css
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
/*
|
||||||
|
* ---------------------------------------------------------------------
|
||||||
|
* - INSTALLING DB FOR DEMOS -
|
||||||
|
* ---------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
.textBanner,
|
||||||
|
h1,
|
||||||
|
p {
|
||||||
|
font-family: "Open Sans", "lato-bolder", sans-serif;
|
||||||
|
font-size: 1vw;
|
||||||
|
color: #3f3f3f;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2vw;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 1vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
#demo_side_left {
|
||||||
|
position: absolute;
|
||||||
|
width: 342px;
|
||||||
|
height: 1000px;
|
||||||
|
background-image: url(/pandora_console/images/demo_background_left.png);
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#demo_side_right {
|
||||||
|
position: absolute;
|
||||||
|
width: 640px;
|
||||||
|
height: 1000px;
|
||||||
|
right: 0;
|
||||||
|
background-image: url(/pandora_console/images/demo_background_right.png);
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#demo_side_center {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinner_logo_demo {
|
||||||
|
background: url(/pandora_console/images/demo_logo_spinner.gif) no-repeat;
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 350px;
|
||||||
|
height: 350px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text_message_demo {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#header_demo {
|
||||||
|
width: 100%;
|
||||||
|
height: 65px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.text_banner_demo {
|
||||||
|
width: 100%;
|
||||||
|
margin: 20px 0 60px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.textBanner {
|
||||||
|
font-size: 3vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.textProduct {
|
||||||
|
color: #82b92e;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#container_demo {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#list_icon_docs_support {
|
||||||
|
float: left;
|
||||||
|
margin-top: 25px;
|
||||||
|
margin-left: 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#list_icon_docs_support ul {
|
||||||
|
margin-top: 5px;
|
||||||
|
line-height: 36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#list_icon_docs_support ul li {
|
||||||
|
display: inline-block;
|
||||||
|
color: #979797;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: 5px;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#list_icon_docs_support ul li a {
|
||||||
|
color: #979797;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
@ -289,7 +289,7 @@ li.ui-tabs-tab.ui-corner-top.ui-state-default.ui-tab {
|
|||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
}
|
}
|
||||||
li.ui-tabs-tab.ui-corner-top.ui-state-default.ui-tab.ui-tabs-active.ui-state-active {
|
li.ui-tabs-tab.ui-corner-top.ui-state-default.ui-tab.ui-tabs-active.ui-state-active {
|
||||||
border-bottom: 1px solid #fff;
|
border-bottom: 2px solid #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
tr.group {
|
tr.group {
|
||||||
|
@ -33,6 +33,10 @@ div#error_buttons a {
|
|||||||
background-repeat: repeat;
|
background-repeat: repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.login_body_trident {
|
||||||
|
background: url("../../images/backgrounds/background_pandora_console_keys.jpg") !important;
|
||||||
|
}
|
||||||
|
|
||||||
p.log_in {
|
p.log_in {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 0px 10px;
|
padding: 0px 10px;
|
||||||
|
54
pandora_console/include/styles/order_interpreter.css
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
div.show_result_interpreter {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #000;
|
||||||
|
border: 1px solid #e2e2e2;
|
||||||
|
border-bottom-left-radius: 10px;
|
||||||
|
border-bottom-right-radius: 10px;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
box-shadow: 0px 0px 15px -4px #dadada;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.more_results {
|
||||||
|
text-align: right;
|
||||||
|
margin-right: 20px;
|
||||||
|
display: grid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.results-found {
|
||||||
|
background-image: url("../../images/input_zoom_gray.png");
|
||||||
|
background-position: center right 10px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 17px;
|
||||||
|
background-color: #f2f6f7;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0;
|
||||||
|
width: 300px;
|
||||||
|
height: 30px;
|
||||||
|
margin-left: 2px;
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 40px;
|
||||||
|
color: #777;
|
||||||
|
font-family: "Open Sans", sans-serif;
|
||||||
|
font-size: 8.5pt;
|
||||||
|
border-top-left-radius: 10px;
|
||||||
|
border-top-right-radius: 10px;
|
||||||
|
border-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list_found {
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
background: #f2f6f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result_order {
|
||||||
|
margin-left: 2px;
|
||||||
|
display: grid;
|
||||||
|
}
|
@ -27,6 +27,7 @@ div#page,
|
|||||||
#menu_tab_frame,
|
#menu_tab_frame,
|
||||||
#menu_tab_frame_view,
|
#menu_tab_frame_view,
|
||||||
#menu_tab_frame_view_bc,
|
#menu_tab_frame_view_bc,
|
||||||
|
ul.subsubmenu li,
|
||||||
input.search_input,
|
input.search_input,
|
||||||
.filters input,
|
.filters input,
|
||||||
input#text-id_parent.ac_input,
|
input#text-id_parent.ac_input,
|
||||||
@ -100,6 +101,18 @@ table.widget_list td.datos2 {
|
|||||||
background-color: inherit;
|
background-color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Change inputs with autocomplete */
|
||||||
|
input:-webkit-autofill,
|
||||||
|
input:-webkit-autofill:hover,
|
||||||
|
input:-webkit-autofill:focus,
|
||||||
|
input:-webkit-autofill:active {
|
||||||
|
-webkit-box-shadow: 0 0 0 30px #111 inset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:-webkit-autofill {
|
||||||
|
-webkit-text-fill-color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* messages */
|
/* messages */
|
||||||
.container {
|
.container {
|
||||||
background-color: #222;
|
background-color: #222;
|
||||||
@ -251,6 +264,10 @@ table.table_modal_alternate tr:nth-child(even) td {
|
|||||||
filter: brightness(2.5) contrast(50%);
|
filter: brightness(2.5) contrast(50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a.pandora_pagination {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
/* firts_task.css */
|
/* firts_task.css */
|
||||||
.new_task,
|
.new_task,
|
||||||
div.new_task_cluster,
|
div.new_task_cluster,
|
||||||
@ -337,11 +354,16 @@ table#diagnostic_info tbody td div {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ui-widget-content.ui-autocomplete,
|
||||||
|
.ui-widget-content.ui-autocomplete a {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
.ui-state-default,
|
.ui-state-default,
|
||||||
.ui-widget-content .ui-state-default,
|
.ui-widget-content .ui-state-default,
|
||||||
.ui-widget-header .ui-state-default {
|
.ui-widget-header .ui-state-default {
|
||||||
background-color: #222;
|
background-color: #222 !important;
|
||||||
color: #fff;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-active,
|
.ui-state-active,
|
||||||
@ -366,6 +388,11 @@ ul.ui-tabs-nav.ui-corner-all.ui-helper-reset.ui-helper-clearfix.ui-widget-header
|
|||||||
filter: brightness(2);
|
filter: brightness(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ui-dialog .ui-dialog-buttonpane button {
|
||||||
|
background-color: transparent;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
/* notifications */
|
/* notifications */
|
||||||
#notification-wrapper::before {
|
#notification-wrapper::before {
|
||||||
border-bottom-color: #111;
|
border-bottom-color: #111;
|
||||||
@ -393,6 +420,17 @@ div#box_online * {
|
|||||||
color: #555;
|
color: #555;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* news dialog */
|
||||||
|
#news_dialog #new_text {
|
||||||
|
background: #222 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ipam */
|
||||||
|
.tooltipster-content {
|
||||||
|
background: #222 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* licence */
|
||||||
div#code_license_dialog div#code,
|
div#code_license_dialog div#code,
|
||||||
div#form_activate_licence #code {
|
div#form_activate_licence #code {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
@ -129,7 +129,7 @@
|
|||||||
<div style='height: 10px'>
|
<div style='height: 10px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.742';
|
$version = '7.0NG.742';
|
||||||
$build = '191218';
|
$build = '200109';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
|
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
@ -1485,7 +1485,8 @@ if (!empty($result)) {
|
|||||||
|
|
||||||
// Avoid the check on the metaconsole. Too slow to show/hide an icon depending on the permissions
|
// Avoid the check on the metaconsole. Too slow to show/hide an icon depending on the permissions
|
||||||
if (!is_metaconsole()) {
|
if (!is_metaconsole()) {
|
||||||
$acl_graphs = check_acl($config['id_user'], $row['id_group'], 'RR');
|
$agent_groups = agents_get_all_groups_agent($row['id_agent'], $row['id_group']);
|
||||||
|
$acl_graphs = check_acl_one_of_groups($config['id_user'], $agent_groups, 'RR');
|
||||||
} else {
|
} else {
|
||||||
$acl_graphs = true;
|
$acl_graphs = true;
|
||||||
}
|
}
|
||||||
@ -1709,7 +1710,9 @@ if (!empty($result)) {
|
|||||||
|
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
|
|
||||||
ui_pagination($count, false, $offset, 0, false, 'offset', true, 'pagination-bottom');
|
if ($count_modules > $config['block_size']) {
|
||||||
|
ui_pagination($count_modules, false, $offset, 0, false, 'offset', true, 'pagination-bottom');
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($first_interaction) {
|
if ($first_interaction) {
|
||||||
ui_print_info_message(['no_close' => true, 'message' => __('This group doesn\'t have any monitor')]);
|
ui_print_info_message(['no_close' => true, 'message' => __('This group doesn\'t have any monitor')]);
|
||||||
|
@ -302,7 +302,11 @@ switch ($opt) {
|
|||||||
$osversion_offset = 0;
|
$osversion_offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$row[] = ui_print_os_icon($agent['id_os'], true, true).' (<i><span title="'.$agent['os_version'].'">'.substr($agent['os_version'], $osversion_offset, 15).'</span></i>)';
|
if ($agent['os_version'] != '') {
|
||||||
|
$agent_os_version = ' (<i><span title="'.$agent['os_version'].'">'.substr($agent['os_version'], $osversion_offset, 15).'</span></i>)';
|
||||||
|
}
|
||||||
|
|
||||||
|
$row[] = ui_print_os_icon($agent['id_os'], true, true).$agent_os_version;
|
||||||
$table->data[] = $row;
|
$table->data[] = $row;
|
||||||
|
|
||||||
// URL
|
// URL
|
||||||
@ -331,7 +335,12 @@ switch ($opt) {
|
|||||||
|
|
||||||
// Agent version
|
// Agent version
|
||||||
$row = [];
|
$row = [];
|
||||||
|
if (strtolower(get_os_name($agent['id_os'])) == 'satellite') {
|
||||||
|
$row[] = __('Satellite Version');
|
||||||
|
} else {
|
||||||
$row[] = __('Agent Version');
|
$row[] = __('Agent Version');
|
||||||
|
}
|
||||||
|
|
||||||
$row[] = $agent['agent_version'];
|
$row[] = $agent['agent_version'];
|
||||||
$table->data[] = $row;
|
$table->data[] = $row;
|
||||||
|
|
||||||
|
@ -165,9 +165,13 @@ echo "<div style='width:100%'>".html_print_button(
|
|||||||
check_users();
|
check_users();
|
||||||
|
|
||||||
if (first_time) {
|
if (first_time) {
|
||||||
|
var date_first_message = unix_timestamp(data['log'][0]['timestamp']);
|
||||||
|
if(!date_first_message){
|
||||||
|
date_first_message = unix_timestamp(new Date()/1000);
|
||||||
|
}
|
||||||
print_messages({
|
print_messages({
|
||||||
0: {'type' : 'notification',
|
0: {'type' : 'notification',
|
||||||
'text': '<?php echo __('Connection established...get last 24h messages...'); ?>'}
|
'text': '<?php echo __('Connection established - Retrieving messages since '); ?>'+date_first_message}
|
||||||
}, true);
|
}, true);
|
||||||
first_time = false;
|
first_time = false;
|
||||||
}
|
}
|
||||||
@ -308,4 +312,24 @@ echo "<div style='width:100%'>".html_print_button(
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Function to convert a timestamp to human date.
|
||||||
|
function unix_timestamp(timestamp){
|
||||||
|
var date = new Date(timestamp*1000);
|
||||||
|
|
||||||
|
const monthNames = [
|
||||||
|
"January", "February", "March", "April",
|
||||||
|
"May", "June", "July", "August",
|
||||||
|
"September", "October", "November", "December"
|
||||||
|
];
|
||||||
|
var month = monthNames[date.getMonth()];
|
||||||
|
|
||||||
|
var day = date.getDate();
|
||||||
|
var year = date.getFullYear();
|
||||||
|
|
||||||
|
var hour = date.getHours();
|
||||||
|
var min = date.getMinutes();
|
||||||
|
|
||||||
|
return month + ' ' + day + ', '+ year + ', ' + hour+ ':' + min;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.742
|
%define version 7.0NG.742
|
||||||
%define release 191218
|
%define release 200109
|
||||||
|
|
||||||
# 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.742
|
%define version 7.0NG.742
|
||||||
%define release 191218
|
%define release 200109
|
||||||
|
|
||||||
# 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.742
|
%define version 7.0NG.742
|
||||||
%define release 191218
|
%define release 200109
|
||||||
%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
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.742-191218
|
Version: 7.0NG.742-200109
|
||||||
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.742-191218"
|
pandora_version="7.0NG.742-200109"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -163,9 +163,11 @@ wmiserver 1
|
|||||||
network_timeout 4
|
network_timeout 4
|
||||||
|
|
||||||
# Network timeout (in seconds) for timeout in remote execution commands (PANDORA FMS ENTERPRISE ONLY).
|
# Network timeout (in seconds) for timeout in remote execution commands (PANDORA FMS ENTERPRISE ONLY).
|
||||||
|
|
||||||
rcmd_timeout 30
|
rcmd_timeout 30
|
||||||
|
|
||||||
|
# Remote execution modules, ssh_launcher extra option (PANDORA FMS ENTERPRISE ONLY).
|
||||||
|
ssh_launcher /usr/share/pandora_server/util/ssh_launcher.sh
|
||||||
|
|
||||||
# Server keepalive (in seconds)
|
# Server keepalive (in seconds)
|
||||||
|
|
||||||
server_keepalive 45
|
server_keepalive 45
|
||||||
|
@ -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.742";
|
my $pandora_version = "7.0NG.742";
|
||||||
my $pandora_build = "191218";
|
my $pandora_build = "200109";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
@ -360,6 +360,9 @@ sub pandora_load_config {
|
|||||||
# Discovery SAP Artica environment
|
# Discovery SAP Artica environment
|
||||||
$pa_config->{"sap_artica_test"} = 0;
|
$pa_config->{"sap_artica_test"} = 0;
|
||||||
|
|
||||||
|
# Remote execution modules, option ssh_launcher
|
||||||
|
$pa_config->{"ssh_launcher"} = "/usr/bin/ssh_launcher";
|
||||||
|
|
||||||
# braa for enterprise snmp server
|
# braa for enterprise snmp server
|
||||||
$pa_config->{"braa"} = "/usr/bin/braa";
|
$pa_config->{"braa"} = "/usr/bin/braa";
|
||||||
|
|
||||||
@ -861,6 +864,9 @@ sub pandora_load_config {
|
|||||||
elsif ($parametro =~ m/^sap_artica_test\s(.*)/i) {
|
elsif ($parametro =~ m/^sap_artica_test\s(.*)/i) {
|
||||||
$pa_config->{'sap_artica_test'}= clean_blank($1);
|
$pa_config->{'sap_artica_test'}= clean_blank($1);
|
||||||
}
|
}
|
||||||
|
elsif ($parametro =~ m/^ssh_launcher\s(.*)/i) {
|
||||||
|
$pa_config->{'ssh_launcher'}= clean_blank($1);
|
||||||
|
}
|
||||||
elsif ($parametro =~ m/^nmap_timing_template\s+([0-9]*)/i) {
|
elsif ($parametro =~ m/^nmap_timing_template\s+([0-9]*)/i) {
|
||||||
$pa_config->{'nmap_timing_template'}= clean_blank($1);
|
$pa_config->{'nmap_timing_template'}= clean_blank($1);
|
||||||
}
|
}
|
||||||
|
@ -1660,7 +1660,9 @@ sub pandora_process_module ($$$$$$$$$;$) {
|
|||||||
pandora_update_module_on_error ($pa_config, $module, $dbh);
|
pandora_update_module_on_error ($pa_config, $module, $dbh);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
my $last_try = ($1 == 0) ? 0 : timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);
|
|
||||||
|
my $last_try = ($1 == 0) ? 0 : strftime("%s", $6, $5, $4, $3, $2 - 1, $1 - 1900);
|
||||||
|
|
||||||
my $save = ($module->{'history_data'} == 1 && ($agent_status->{'datos'} ne $processed_data || $last_try < ($utimestamp - 86400))) ? 1 : 0;
|
my $save = ($module->{'history_data'} == 1 && ($agent_status->{'datos'} ne $processed_data || $last_try < ($utimestamp - 86400))) ? 1 : 0;
|
||||||
|
|
||||||
# Received stale data. Save module data if needed and return.
|
# Received stale data. Save module data if needed and return.
|
||||||
@ -3823,7 +3825,7 @@ sub pandora_evaluate_snmp_alerts ($$$$$$$$$) {
|
|||||||
# Check time threshold
|
# Check time threshold
|
||||||
$alert->{'last_fired'} = '1970-01-01 00:00:00' unless defined ($alert->{'last_fired'});
|
$alert->{'last_fired'} = '1970-01-01 00:00:00' unless defined ($alert->{'last_fired'});
|
||||||
return unless ($alert->{'last_fired'} =~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/);
|
return unless ($alert->{'last_fired'} =~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/);
|
||||||
my $last_fired = ($1 > 0) ? timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900) : 0;
|
my $last_fired = ($1 > 0) ? strftime("%s", $6, $5, $4, $3, $2 - 1, $1 - 1900) : 0;
|
||||||
|
|
||||||
my $utimestamp = time ();
|
my $utimestamp = time ();
|
||||||
my $timestamp = strftime ("%Y-%m-%d %H:%M:%S", localtime($utimestamp));
|
my $timestamp = strftime ("%Y-%m-%d %H:%M:%S", localtime($utimestamp));
|
||||||
|
@ -309,7 +309,7 @@ sub process_xml_data ($$$$$) {
|
|||||||
my $utimestamp = 0;
|
my $utimestamp = 0;
|
||||||
eval {
|
eval {
|
||||||
if ($timestamp =~ /(\d+)[\/|\-](\d+)[\/|\-](\d+) +(\d+):(\d+):(\d+)/) {
|
if ($timestamp =~ /(\d+)[\/|\-](\d+)[\/|\-](\d+) +(\d+):(\d+):(\d+)/) {
|
||||||
$utimestamp = timelocal($6, $5, $4, $3, $2 -1 , $1 - 1900);
|
$utimestamp = strftime("%s", $6, $5, $4, $3, $2 -1 , $1 - 1900);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -837,7 +837,7 @@ sub process_module_data ($$$$$$$$$$) {
|
|||||||
}
|
}
|
||||||
my $utimestamp;
|
my $utimestamp;
|
||||||
eval {
|
eval {
|
||||||
$utimestamp = timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);
|
$utimestamp = strftime("%s", $6, $5, $4, $3, $2 - 1, $1 - 1900);
|
||||||
};
|
};
|
||||||
if ($@) {
|
if ($@) {
|
||||||
logger($pa_config, "Invalid timestamp '$timestamp' from module '$module_name' agent '$agent_name'.", 3);
|
logger($pa_config, "Invalid timestamp '$timestamp' from module '$module_name' agent '$agent_name'.", 3);
|
||||||
|
@ -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.742";
|
my $pandora_version = "7.0NG.742";
|
||||||
my $pandora_build = "191218";
|
my $pandora_build = "200109";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
@ -2382,7 +2382,7 @@ sub get_unix_time {
|
|||||||
eval {
|
eval {
|
||||||
use Time::Local;
|
use Time::Local;
|
||||||
my ($mday,$mon,$year,$hour,$min,$sec) = split(/[\s$separator_dates$separator_hours]+/, $str_time);
|
my ($mday,$mon,$year,$hour,$min,$sec) = split(/[\s$separator_dates$separator_hours]+/, $str_time);
|
||||||
$time = timelocal($sec,$min,$hour,$mday,$mon-1,$year);
|
$time = strftime("%s", $sec,$min,$hour,$mday,$mon-1,$year);
|
||||||
};
|
};
|
||||||
if ($@) {
|
if ($@) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1734,7 +1734,7 @@ sub cron_valid_date {
|
|||||||
my $utime;
|
my $utime;
|
||||||
eval {
|
eval {
|
||||||
local $SIG{__DIE__} = sub {};
|
local $SIG{__DIE__} = sub {};
|
||||||
$utime = timelocal(0, $min, $hour, $mday, $month, $year);
|
$utime = strftime("%s", 0, $min, $hour, $mday, $month, $year);
|
||||||
};
|
};
|
||||||
if ($@) {
|
if ($@) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.742
|
%define version 7.0NG.742
|
||||||
%define release 191218
|
%define release 200109
|
||||||
|
|
||||||
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.742
|
%define version 7.0NG.742
|
||||||
%define release 191218
|
%define release 200109
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.742"
|
PI_VERSION="7.0NG.742"
|
||||||
PI_BUILD="191218"
|
PI_BUILD="200109"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
@ -216,7 +216,7 @@ sub process_module_data ($$$$$$$$$) {
|
|||||||
$timestamp !~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/) {
|
$timestamp !~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/) {
|
||||||
}
|
}
|
||||||
my $utimestamp;
|
my $utimestamp;
|
||||||
$utimestamp = timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);
|
$utimestamp = strftime("%s", $6, $5, $4, $3, $2 - 1, $1 - 1900);
|
||||||
|
|
||||||
my %data_object;
|
my %data_object;
|
||||||
|
|
||||||
|
@ -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.742 PS191218";
|
my $version = "7.0NG.742 PS200109";
|
||||||
|
|
||||||
# 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.742 PS191218";
|
my $version = "7.0NG.742 PS200109";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
@ -640,9 +640,9 @@ sub pandora_delete_module_data ($$) {
|
|||||||
my $buffer = 1000;
|
my $buffer = 1000;
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
my $nd = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos_string WHERE id_agente_modulo=?', $id_module);
|
my $nd = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos WHERE id_agente_modulo=?', $id_module);
|
||||||
my $ndinc = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos_string WHERE id_agente_modulo=?', $id_module);
|
my $ndinc = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos_inc WHERE id_agente_modulo=?', $id_module);
|
||||||
my $ndlog4x = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos_string WHERE id_agente_modulo=?', $id_module);
|
my $ndlog4x = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos_log4x WHERE id_agente_modulo=?', $id_module);
|
||||||
my $ndstring = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos_string WHERE id_agente_modulo=?', $id_module);
|
my $ndstring = get_db_value ($dbh, 'SELECT count(id_agente_modulo) FROM tagente_datos_string WHERE id_agente_modulo=?', $id_module);
|
||||||
|
|
||||||
my $ntot = $nd + $ndinc + $ndlog4x + $ndstring;
|
my $ntot = $nd + $ndinc + $ndlog4x + $ndstring;
|
||||||
@ -652,19 +652,19 @@ sub pandora_delete_module_data ($$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($nd > 0) {
|
if($nd > 0) {
|
||||||
db_do ($dbh, 'DELETE FROM tagente_datos WHERE id_agente_modulo=? LIMIT ?', $id_module, $buffer);
|
db_delete_limit($dbh, 'tagente_datos', 'id_agente_modulo='.$id_module, $buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($ndinc > 0) {
|
if($ndinc > 0) {
|
||||||
db_do ($dbh, 'DELETE FROM tagente_datos_inc WHERE id_agente_modulo=? LIMIT ?', $id_module, $buffer);
|
db_delete_limit($dbh, 'tagente_datos_inc', 'id_agente_modulo='.$id_module, $buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($ndlog4x > 0) {
|
if($ndlog4x > 0) {
|
||||||
db_do ($dbh, 'DELETE FROM tagente_datos_log4x WHERE id_agente_modulo=? LIMIT ?', $id_module, $buffer);
|
db_delete_limit($dbh, 'tagente_datos_log4x', 'id_agente_modulo='.$id_module, $buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($ndstring > 0) {
|
if($ndstring > 0) {
|
||||||
db_do ($dbh, 'DELETE FROM tagente_datos_string WHERE id_agente_modulo=? LIMIT ?', $id_module, $buffer);
|
db_delete_limit($dbh, 'tagente_datos_string', 'id_agente_modulo='.$id_module, $buffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4416,7 +4416,7 @@ sub cli_delete_data($) {
|
|||||||
|
|
||||||
print_log "DELETING THE DATA OF THE AGENT $name\n\n";
|
print_log "DELETING THE DATA OF THE AGENT $name\n\n";
|
||||||
|
|
||||||
pandora_delete_data($dbh, 'module', $id_agent);
|
pandora_delete_data($dbh, 'agent', $id_agent);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
my $id_agent = get_agent_id($dbh,$name);
|
my $id_agent = get_agent_id($dbh,$name);
|
||||||
@ -4424,7 +4424,7 @@ sub cli_delete_data($) {
|
|||||||
|
|
||||||
print_log "DELETING THE DATA OF THE AGENT $name\n\n";
|
print_log "DELETING THE DATA OF THE AGENT $name\n\n";
|
||||||
|
|
||||||
pandora_delete_data($dbh, 'module', $id_agent);
|
pandora_delete_data($dbh, 'agent', $id_agent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif($opt eq '-g' || $opt eq '--g') {
|
elsif($opt eq '-g' || $opt eq '--g') {
|
||||||
|
@ -112,13 +112,13 @@ sub generate_xml_files ($$$$$$) {
|
|||||||
my $time_from = get_conf_token ($conf, 'time_from', $time_now);
|
my $time_from = get_conf_token ($conf, 'time_from', $time_now);
|
||||||
die ("[error] Invalid time_from: $time_from\n\n")
|
die ("[error] Invalid time_from: $time_from\n\n")
|
||||||
unless ($time_from =~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/);
|
unless ($time_from =~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/);
|
||||||
my $utimestamp_from = timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);
|
my $utimestamp_from = strftime("%s", $6, $5, $4, $3, $2 - 1, $1 - 1900);
|
||||||
|
|
||||||
# Get time_to
|
# Get time_to
|
||||||
my $time_to = get_conf_token ($conf, 'time_to', $time_now);
|
my $time_to = get_conf_token ($conf, 'time_to', $time_now);
|
||||||
die ("[error] Invalid time_to: $time_to\n\n")
|
die ("[error] Invalid time_to: $time_to\n\n")
|
||||||
unless ($time_to =~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/);
|
unless ($time_to =~ /(\d+)\-(\d+)\-(\d+) +(\d+):(\d+):(\d+)/);
|
||||||
my $utimestamp_to = timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);
|
my $utimestamp_to = strftime("%s", $6, $5, $4, $3, $2 - 1, $1 - 1900);
|
||||||
|
|
||||||
my %modules_src_pointers = init_src_pointers($modules);
|
my %modules_src_pointers = init_src_pointers($modules);
|
||||||
|
|
||||||
|