Merge branch 'pandora_6.0' into '41-error-500-en-consola-falta-enterprise_hook-integria-4406-6'
# Conflicts: # pandora_console/godmode/agentes/module_manager_editor.php
6
.gitlab-ci.yml
Normal file
@ -0,0 +1,6 @@
|
||||
variables:
|
||||
GIT_STRATEGY: clone
|
||||
|
||||
test:
|
||||
script:
|
||||
- docker run --rm -h pandorafms -t -v "$CI_PROJECT_DIR:/tmp/pandorafms" pandorafms/pandorafms-base /tmp/pandorafms/tests/test.sh
|
10
README.md
@ -1,6 +1,6 @@
|
||||
[](https://travis-ci.org/pandorafms/pandorafms)
|
||||
|
||||
[](http://pandorafms.org)
|
||||
[](http://pandorafms.org)
|
||||
|
||||
Pandora FMS is a monitoring software for IT infrastructure management which includes network equipment, Windows and Unix servers, virtual infrastructure and all different kind of applications. It has a large amount of features, making it a new generation software which discovers all the monitoring issues that an organization may need.
|
||||
|
||||
@ -33,13 +33,13 @@ Pandora FMS is a monitoring tool that not only measures if a parameter is right
|
||||
* Multiuser, several levels of ACL management.
|
||||
|
||||
### Screenshots
|
||||

|
||||

|
||||
<br />
|
||||
<br />
|
||||

|
||||

|
||||
<br />
|
||||
<br />
|
||||

|
||||

|
||||
<br />
|
||||
<br />
|
||||

|
||||

|
||||
|
@ -1,5 +1,5 @@
|
||||
package: pandorafms-agent-unix
|
||||
Version: 6.0SP5-170202
|
||||
Version: 6.0SP5-170220
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
@ -14,7 +14,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="6.0SP5-170202"
|
||||
pandora_version="6.0SP5-170220"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
@ -41,7 +41,7 @@ my $Sem = undef;
|
||||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '6.0SP5';
|
||||
use constant AGENT_BUILD => '170202';
|
||||
use constant AGENT_BUILD => '170220';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 6.0SP5
|
||||
%define release 170202
|
||||
%define release 170220
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 6.0SP5
|
||||
%define release 170202
|
||||
%define release 170220
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
@ -10,7 +10,7 @@
|
||||
# **********************************************************************
|
||||
|
||||
PI_VERSION="6.0SP5"
|
||||
PI_BUILD="170202"
|
||||
PI_BUILD="170220"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
@ -33,7 +33,7 @@ my $freemem=`cat /proc/meminfo | grep 'MemFree' | awk '{ print \$2 } '`;
|
||||
my $cached=`cat /proc/meminfo | grep '^Cached:' | awk '{ print \$2 } '`;
|
||||
my $cachedswap=`cat /proc/meminfo | grep '^SwapCached:' | awk '{ print \$2 }'`;
|
||||
my $total_meminfo=`cat /proc/meminfo | grep 'MemTotal:' | awk '{ print \$2 }'`;
|
||||
my $available=$freemem+$cached+$cachedwap;
|
||||
my $available=$freemem+$cached+$cachedswap;
|
||||
my $available_percent = floor(($available / $total_meminfo)*100);
|
||||
|
||||
|
||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
||||
{}
|
||||
|
||||
Version
|
||||
{170202}
|
||||
{170220}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
||||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("6.0SP5(Build 170202)")
|
||||
#define PANDORA_VERSION ("6.0SP5(Build 170220)")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
@ -11,7 +11,7 @@ BEGIN
|
||||
VALUE "LegalCopyright", "Artica ST"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(6.0SP5(Build 170202))"
|
||||
VALUE "ProductVersion", "(6.0SP5(Build 170220))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
@ -1,5 +1,5 @@
|
||||
package: pandorafms-console
|
||||
Version: 6.0SP5-170202
|
||||
Version: 6.0SP5-170220
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
@ -14,7 +14,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="6.0SP5-170202"
|
||||
pandora_version="6.0SP5-170220"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
@ -1,410 +0,0 @@
|
||||
<?php
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2011 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; 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.
|
||||
|
||||
global $config;
|
||||
|
||||
// Login check
|
||||
check_login ();
|
||||
|
||||
require_once("include/functions_reporting.php");
|
||||
require_once("include/functions_events.php");
|
||||
|
||||
if (is_ajax()) {
|
||||
|
||||
$save_item_shorcut = (bool) get_parameter("save_item_shorcut");
|
||||
$update_shortcut_state = (bool) get_parameter('update_shortcut_state');
|
||||
$get_alerts_fired = (bool) get_parameter('get_alerts_fired');
|
||||
$get_critical_events = (bool) get_parameter('get_critical_events');
|
||||
$get_opened_incidents = (bool) get_parameter('get_opened_incidents');
|
||||
|
||||
if ($save_item_shorcut) {
|
||||
$result = false;
|
||||
$data = get_parameter("data", '');
|
||||
$id_user = get_parameter('id_user', 0);
|
||||
|
||||
if ($config['id_user'] != $id_user) return;
|
||||
|
||||
$shortcut_data = db_get_value('shortcut_data', 'tusuario', 'id_user', $id_user);
|
||||
if ($shortcut_data !== false) {
|
||||
$serialize = $shortcut_data;
|
||||
$unserialize = json_decode($serialize, true);
|
||||
|
||||
$unserialize['item_shorcut'][] = $data;
|
||||
$shortcut_data = array();
|
||||
$shortcut_data['shortcut_data'] = json_encode($unserialize);
|
||||
|
||||
db_process_sql_update('tusuario', $shortcut_data, array('id_user' => $id_user));
|
||||
}
|
||||
|
||||
echo json_encode($result);
|
||||
return;
|
||||
}
|
||||
|
||||
// Update if shortcut is visible or hidden
|
||||
if ($update_shortcut_state) {
|
||||
$value = (int) get_parameter('value');
|
||||
$result = db_process_sql_update('tusuario', array('shortcut' => $value), array('id_user' => $config['id_user']));
|
||||
|
||||
echo json_encode($result);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get critical events (realtime update)
|
||||
if ($get_alerts_fired) {
|
||||
echo sc_get_alerts_fired();
|
||||
return;
|
||||
}
|
||||
|
||||
// Get critical events (realtime update)
|
||||
if ($get_critical_events) {
|
||||
echo sc_get_critical_events();
|
||||
return;
|
||||
}
|
||||
|
||||
// Select only opened incidents
|
||||
if ($get_opened_incidents) {
|
||||
echo sc_get_opened_incidents();
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function sc_get_alerts_fired () {
|
||||
global $config;
|
||||
|
||||
$data_reporting = reporting_get_group_stats();
|
||||
|
||||
return $data_reporting['monitor_alerts_fired'];
|
||||
}
|
||||
|
||||
function sc_get_critical_events () {
|
||||
global $config;
|
||||
|
||||
$own_info = get_user_info ($config['id_user']);
|
||||
|
||||
if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM"))
|
||||
$own_groups = array_keys(users_get_groups($config['id_user'], "IR"));
|
||||
else
|
||||
$own_groups = array_keys(users_get_groups($config['id_user'], "IR", false));
|
||||
|
||||
// Get events in the last 8 hours
|
||||
$shortcut_events_update = events_get_agent (false, 28800, time(), false, false, false, false,
|
||||
false, false, $own_groups, true);
|
||||
if ($shortcut_events_update == false)
|
||||
$shortcut_events_update = array();
|
||||
|
||||
$critical_events_update = 0;
|
||||
foreach ($shortcut_events_update as $event_update) {
|
||||
if ($event_update['criticity'] == 4 and $event_update['estado'] == 0) {
|
||||
$critical_events_update++;
|
||||
}
|
||||
}
|
||||
|
||||
return $critical_events_update;
|
||||
}
|
||||
|
||||
function sc_get_opened_incidents () {
|
||||
global $config;
|
||||
|
||||
$own_info = get_user_info ($config['id_user']);
|
||||
|
||||
if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM")) {
|
||||
$sql = "SELECT count(*) total_incidents
|
||||
FROM tincidencia
|
||||
WHERE estado = 0
|
||||
ORDER BY actualizacion";
|
||||
$result_incidents_update = db_get_all_rows_sql ($sql);
|
||||
}
|
||||
else {
|
||||
$own_groups = array_keys(users_get_groups($config['id_user'], "IR", false));
|
||||
$sql = "SELECT count(*) total_incidents
|
||||
FROM tincidencia
|
||||
WHERE id_grupo IN (".implode (",",array_keys ($own_groups)).")
|
||||
AND estado = 0
|
||||
ORDER BY actualizacion";
|
||||
if (!empty($own_groups)) {
|
||||
$result_incidents_update = db_get_all_rows_sql($sql);
|
||||
}
|
||||
else {
|
||||
$result_incidents_update = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($result_incidents_update === false)
|
||||
$shortcut_incidents = 0;
|
||||
else
|
||||
$shortcut_incidents = $result_incidents_update[0]['total_incidents'];
|
||||
|
||||
return $shortcut_incidents;
|
||||
}
|
||||
|
||||
|
||||
$shortcut_state = db_get_value_filter('shortcut', 'tusuario', array('id_user' => $config['id_user']));
|
||||
|
||||
// If shortcut bar is disabled return to index.php
|
||||
if ($shortcut_state == 0)
|
||||
return;
|
||||
|
||||
$own_info = get_user_info ($config['id_user']);
|
||||
|
||||
$shortcut_html = "<div id='shortcut_container'>";
|
||||
$shortcut_html .= "<div id='shortcut_button'>";
|
||||
$shortcut_html .= html_print_image("images/control_play.png", true, array("title" => __("Press here to activate shortcut bar")));
|
||||
$shortcut_html .= "</div>";
|
||||
$shortcut_html .= "<div id='shortcut_bar'>";
|
||||
|
||||
$num_shortcut_items = 0;
|
||||
|
||||
// Alerts item
|
||||
if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM") || check_acl ($config['id_user'], 0, "AR")) {
|
||||
$alerts_fired = sc_get_alerts_fired();
|
||||
|
||||
$shortcut_html .= "<a class='shortcut_item' href='index.php?sec=estado&sec2=operation/agentes/alerts_status&refr=120&filter=fired&filter_button=Filter'>";
|
||||
$shortcut_html .= html_print_image("images/op_alerts.png", true, array("title" => __("Alerts fired"), "style" => "margin-bottom: 0px;"));
|
||||
$shortcut_html .= " ";
|
||||
$shortcut_html .= "<span id='shortcut_alerts_fired' title='" . __('Alerts fired') . "'>" . $alerts_fired . "</span>";
|
||||
$shortcut_html .= "</a>";
|
||||
|
||||
$num_shortcut_items++;
|
||||
}
|
||||
|
||||
// Events item
|
||||
if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM") || check_acl ($config['id_user'], 0, "IR")) {
|
||||
$critical_events = sc_get_critical_events();
|
||||
|
||||
$shortcut_html .= "<a class='shortcut_item' href='index.php?sec=eventos&sec2=operation/events/events&status=3&severity=4&event_view_hr=8&id_group=0&group_rep=1&filter_only_alert=-1'>";
|
||||
$shortcut_html .= html_print_image("images/op_events.png", true, array("title" => __("Critical events"), "style" => "margin-bottom: 0px;"));
|
||||
$shortcut_html .= " ";
|
||||
$shortcut_html .= "<span id='shortcut_critical_events' title='" . __('Critical events') . "'>" . $critical_events . "</span>";
|
||||
$shortcut_html .= "</a>";
|
||||
|
||||
$num_shortcut_items++;
|
||||
}
|
||||
|
||||
// Calculate opened incidents (id integria incidents are not enabled)
|
||||
if ($config['integria_enabled'] == 0) {
|
||||
$shortcut_incidents = sc_get_opened_incidents();
|
||||
|
||||
$shortcut_html .= "<a class='shortcut_item' href='index.php?sec=incidencias&sec2=operation/incidents/incident&estado=0'>";
|
||||
$shortcut_html .= html_print_image("images/incidents.png", true, array("title" => __("Incidents opened"), "style" => "margin-bottom: 0px;"));
|
||||
$shortcut_html .= " ";
|
||||
$shortcut_html .= "<span id='shortcut_incidents_opened' title='" . __('Incidents opened') . "'>" . $shortcut_incidents . "</span>";
|
||||
$shortcut_html .= "</a>";
|
||||
|
||||
$num_shortcut_items++;
|
||||
}
|
||||
|
||||
if ($num_shortcut_items > 0) {
|
||||
$shortcut_html .= "<span class='shortcut_item' href='javascript:;'>";
|
||||
$shortcut_html .= "<span>|</span>";
|
||||
$shortcut_html .= "</span>";
|
||||
}
|
||||
|
||||
$shortcut_html .= "<a class='shortcut_item' href='index.php?sec=reporting&sec2=operation/reporting/custom_reporting'>";
|
||||
$shortcut_html .= html_print_image("images/op_reporting.png", true, array("title" => __("View reports"), "style" => "margin-bottom: 0px;"));
|
||||
$shortcut_html .= "</a>";
|
||||
$num_shortcut_items++;
|
||||
|
||||
$shortcut_html .= "<a class='shortcut_item' href='index.php?sec=workspace&sec2=operation/messages/message_list'>";
|
||||
$shortcut_html .= html_print_image("images/email_mc.png", true, array("title" => __("Create new message"), "style" => "margin-bottom: 0px;"));
|
||||
$shortcut_html .= "</a>";
|
||||
$num_shortcut_items++;
|
||||
|
||||
//Quick access
|
||||
// $shortcut_data = db_get_value('shortcut_data', 'tusuario', 'id_user', $config['id_user']);
|
||||
// if (!empty($shortcut_data)) {
|
||||
// $serialize = $shortcut_data;
|
||||
// $unserialize = json_decode($serialize, true);
|
||||
|
||||
// $items = $unserialize['item_shorcut'];
|
||||
// }
|
||||
// else {
|
||||
// $items = array();
|
||||
// }
|
||||
// $shortcut_html .= "<div id='shortcut_icons_box' style='font-size: 9pt; color:#696969; font-weight: bold; display: inline; float: right; padding-right: 20px;'>" .
|
||||
// __("Shortcut: ");
|
||||
// $shortcut_html .= "<ul style='display: inline; font-size: 9pt; color:#000;'>";
|
||||
// foreach ($items as $item) {
|
||||
// $shortcut_html .= "<li style='display: inline; padding-right: 10px;'>" . io_safe_output($item) . "</li>";
|
||||
// }
|
||||
// $shortcut_html .= "</ul>";
|
||||
|
||||
$shortcut_html .= "</div>";
|
||||
$shortcut_html .= "</div>";
|
||||
|
||||
echo $shortcut_html;
|
||||
|
||||
// Login in Console and shortcut bar is disabled
|
||||
// This will show and hide the shortcut value in Javascript code
|
||||
if (isset($_POST['nick']) and $shortcut_state != 2) {
|
||||
html_print_input_hidden("login_console", 1);
|
||||
}
|
||||
else {
|
||||
html_print_input_hidden("login_console", 0);
|
||||
}
|
||||
|
||||
html_print_input_hidden("shortcut_id_user", $config['id_user']);
|
||||
|
||||
?>
|
||||
|
||||
<script type='text/javascript'>
|
||||
$(function() {
|
||||
|
||||
if (<?php echo json_encode((int) $shortcut_state); ?> < 2) {
|
||||
$('#shortcut_bar').hide();
|
||||
|
||||
$('#shortcut_button>img')
|
||||
.css('transform', 'rotate(-90deg)')
|
||||
.css('-o-transform', 'rotate(-90deg)')
|
||||
.css('-ms-transform', 'rotate(-90deg)')
|
||||
.css('-moz-transform', 'rotate(-90deg)')
|
||||
.css('-webkit-transform', 'rotate(-90deg)');
|
||||
}
|
||||
else {
|
||||
$('#shortcut_button>img')
|
||||
.css('transform', 'rotate(90deg)')
|
||||
.css('-o-transform', 'rotate(90deg)')
|
||||
.css('-ms-transform', 'rotate(90deg)')
|
||||
.css('-moz-transform', 'rotate(90deg)')
|
||||
.css('-webkit-transform', 'rotate(90deg)');
|
||||
}
|
||||
|
||||
|
||||
$('#shortcut_button').click (function () {
|
||||
if ($('#shortcut_bar').is(":visible")) {
|
||||
$('#shortcut_bar').slideUp();
|
||||
|
||||
$('#shortcut_button>img')
|
||||
.css('transform', 'rotate(-90deg)')
|
||||
.css('-o-transform', 'rotate(-90deg)')
|
||||
.css('-ms-transform', 'rotate(-90deg)')
|
||||
.css('-moz-transform', 'rotate(-90deg)')
|
||||
.css('-webkit-transform', 'rotate(-90deg)');
|
||||
|
||||
jQuery.post (
|
||||
"ajax.php",
|
||||
{
|
||||
"page" : "general/shortcut_bar",
|
||||
"update_shortcut_state" : 1,
|
||||
"value" : 1
|
||||
},
|
||||
function (data) {}
|
||||
);
|
||||
}
|
||||
else {
|
||||
$('#shortcut_bar').slideDown();
|
||||
|
||||
$('#shortcut_button>img')
|
||||
.css('transform', 'rotate(90deg)')
|
||||
.css('-o-transform', 'rotate(90deg)')
|
||||
.css('-ms-transform', 'rotate(90deg)')
|
||||
.css('-moz-transform', 'rotate(90deg)')
|
||||
.css('-webkit-transform', 'rotate(90deg)');
|
||||
|
||||
jQuery.post (
|
||||
"ajax.php",
|
||||
{
|
||||
"page" : "general/shortcut_bar",
|
||||
"update_shortcut_state" : 1,
|
||||
"value" : 2
|
||||
},
|
||||
function (data) {}
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var id_user = $('#hidden-shortcut_id_user').val();
|
||||
|
||||
function shortcut_check_alerts() {
|
||||
jQuery.post (
|
||||
"ajax.php",
|
||||
{
|
||||
"page" : "general/shortcut_bar",
|
||||
"get_alerts_fired": 1
|
||||
},
|
||||
function (data) {
|
||||
$('#shortcut_alerts_fired').html(data);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function shortcut_check_events() {
|
||||
jQuery.post (
|
||||
"ajax.php",
|
||||
{
|
||||
"page" : "general/shortcut_bar",
|
||||
"get_critical_events": 1
|
||||
},
|
||||
function (data) {
|
||||
$('#shortcut_critical_events').html(data);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function shortcut_check_incidents() {
|
||||
jQuery.post (
|
||||
"ajax.php",
|
||||
{
|
||||
"page" : "general/shortcut_bar",
|
||||
"get_opened_incidents": 1
|
||||
},
|
||||
function (data) {
|
||||
$('#shortcut_incidents_opened').html(data);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
$(document).ready (function () {
|
||||
setInterval("shortcut_check_alerts()", (10 * 1000)); //10 seconds between ajax request
|
||||
setInterval("shortcut_check_events()", (10 * 1000)); //10 seconds between ajax request
|
||||
setInterval("shortcut_check_incidents()", (10 * 1000)); //10 seconds between ajax request
|
||||
|
||||
//To make a link as item for drag only put "item_drag_shortcut" as class.
|
||||
|
||||
//TODO: In the future show better as icons and the handle some icon.
|
||||
//TODO: Remove the class "item_drag_shortcut" for avoid drag.
|
||||
//TODO: Method for remove items.
|
||||
|
||||
$("#shortcut_icons_box").droppable({
|
||||
drop: function( event, ui ) {
|
||||
var item = ui.draggable.clone();
|
||||
//unescape for avoid change returns
|
||||
var content_item = unescape($('<div id="content_item"></div>').html(item).html()); //hack
|
||||
|
||||
//Add the element
|
||||
$("<li style='display: inline; padding-right: 10px;'></li>").html(item).appendTo($("#shortcut_icons_box > ul"));
|
||||
|
||||
jQuery.post ('ajax.php',
|
||||
{"page": "general/shortcut_bar",
|
||||
"save_item_shorcut": 1,
|
||||
"id_user": "<?php echo $config['id_user'];?>",
|
||||
"data": content_item
|
||||
},
|
||||
function (data) {
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
$(".item_drag_shortcut").draggable({
|
||||
appendTo: 'body',
|
||||
helper: "clone",
|
||||
scroll: false
|
||||
});
|
||||
});
|
||||
</script>
|
@ -386,7 +386,7 @@ switch ($moduletype) {
|
||||
$remote_conf = false;
|
||||
if (enterprise_installed()) {
|
||||
enterprise_include_once('include/functions_config_agents.php');
|
||||
$remote_conf = enterprise_hook('config_agents_has_remote_configuration',$id_agente);
|
||||
$remote_conf = enterprise_hook('config_agents_has_remote_configuration',array($id_agente));
|
||||
}
|
||||
|
||||
/* Categories is an array containing the allowed module types
|
||||
@ -571,4 +571,4 @@ $(document).ready (function () {
|
||||
});
|
||||
});
|
||||
/* ]]> */
|
||||
</script>
|
||||
</script>
|
@ -251,7 +251,7 @@ if (!modules_is_string_type($id_module_type) || $edit) {
|
||||
}
|
||||
if (modules_is_string_type($id_module_type) || $edit) {
|
||||
$table_simple->data[2][1] .= '<span id="string_warning"><em>'.__('Str.').'</em>';
|
||||
$table_simple->data[2][1] .= html_print_input_text ('str_warning', $str_warning,
|
||||
$table_simple->data[2][1] .= html_print_input_text ('str_warning', str_replace("\"","",$str_warning),
|
||||
'', 10, 255, true, $disabledBecauseInPolicy, false, '', $classdisabledBecauseInPolicy).'</span>';
|
||||
}
|
||||
|
||||
@ -270,7 +270,7 @@ if (!modules_is_string_type($id_module_type) || $edit) {
|
||||
}
|
||||
if (modules_is_string_type($id_module_type) || $edit) {
|
||||
$table_simple->data[2][3] .= '<span id="string_critical"><em>'.__('Str.').'</em>';
|
||||
$table_simple->data[2][3] .= html_print_input_text ('str_critical', $str_critical,
|
||||
$table_simple->data[2][3] .= html_print_input_text ('str_critical', str_replace("\"","",$str_critical),
|
||||
'', 10, 255, true, $disabledBecauseInPolicy, false, '', $classdisabledBecauseInPolicy).'</span>';
|
||||
}
|
||||
|
||||
|
@ -193,7 +193,7 @@ $table_styles->data[$row][0] = __('Custom logo in login') . ui_print_help_icon("
|
||||
$row++;
|
||||
|
||||
|
||||
$table_styles->data[$row][0] = __('Disable Pandora FMS on graphs');
|
||||
$table_styles->data[$row][0] = __('Disable logo in graphs');
|
||||
$table_styles->data[$row][1] = __('Yes') . ' ' .
|
||||
html_print_radio_button_extended ('fixed_graph', 1, '', $config["fixed_graph"], $open, '','',true) .
|
||||
' ';
|
||||
@ -745,23 +745,23 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
|
||||
<script language="javascript" type="text/javascript">
|
||||
|
||||
// Juanma (07/05/2014) New feature: Custom front page for reports
|
||||
function display_custom_report_front (show) {
|
||||
function display_custom_report_front (show,table) {
|
||||
|
||||
if (show == true) {
|
||||
$('tr#table2-custom_report_front-font').show();
|
||||
$('tr#table2-custom_report_front-logo').show();
|
||||
$('tr#table2-custom_report_front-preview').show();
|
||||
$('tr#table2-custom_report_front-header').show();
|
||||
$('tr#table2-custom_report_front-first_page').show();
|
||||
$('tr#table2-custom_report_front-footer').show();
|
||||
$('tr#'+table+'-custom_report_front-font').show();
|
||||
$('tr#'+table+'-custom_report_front-logo').show();
|
||||
$('tr#'+table+'-custom_report_front-preview').show();
|
||||
$('tr#'+table+'-custom_report_front-header').show();
|
||||
$('tr#'+table+'-custom_report_front-first_page').show();
|
||||
$('tr#'+table+'-custom_report_front-footer').show();
|
||||
}
|
||||
else {
|
||||
$('tr#table2-custom_report_front-font').hide();
|
||||
$('tr#table2-custom_report_front-logo').hide();
|
||||
$('tr#table2-custom_report_front-preview').hide();
|
||||
$('tr#table2-custom_report_front-header').hide();
|
||||
$('tr#table2-custom_report_front-first_page').hide();
|
||||
$('tr#table2-custom_report_front-footer').hide();
|
||||
$('tr#'+table+'-custom_report_front-font').hide();
|
||||
$('tr#'+table+'-custom_report_front-logo').hide();
|
||||
$('tr#'+table+'-custom_report_front-preview').hide();
|
||||
$('tr#'+table+'-custom_report_front-header').hide();
|
||||
$('tr#'+table+'-custom_report_front-first_page').hide();
|
||||
$('tr#'+table+'-custom_report_front-footer').hide();
|
||||
}
|
||||
|
||||
}
|
||||
@ -870,12 +870,12 @@ $(document).ready (function () {
|
||||
// Juanma (06/05/2014) New feature: Custom front page for reports
|
||||
var custom_report = $('#checkbox-custom_report_front')
|
||||
.prop('checked');
|
||||
display_custom_report_front(custom_report);
|
||||
display_custom_report_front(custom_report,$('#checkbox-custom_report_front').parent().parent().parent().parent().attr('id'));
|
||||
|
||||
$("#checkbox-custom_report_front").click( function() {
|
||||
var custom_report = $('#checkbox-custom_report_front')
|
||||
.prop('checked');
|
||||
display_custom_report_front(custom_report);
|
||||
display_custom_report_front(custom_report,$(this).parent().parent().parent().parent().attr('id'));
|
||||
});
|
||||
});
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
pandora_console/images/logo_vertical_water_2.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/android.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/embedded.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/network.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/satellite.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_aix.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_bsd.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_cisco.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_hpux.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_linux.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_mac.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_mainframe.png
Normal file
After Width: | Height: | Size: 900 B |
BIN
pandora_console/images/os_icons/so_big_icons/so_other.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_router.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_solaris.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_switch.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_vmware.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
pandora_console/images/os_icons/so_big_icons/so_win.png
Normal file
After Width: | Height: | Size: 1014 B |
@ -503,6 +503,9 @@ switch ($action) {
|
||||
break;
|
||||
case 'group_item':
|
||||
$values['id_group'] = $id_group;
|
||||
$values['height'] = $height;
|
||||
$values['width'] = $width;
|
||||
$values['image'] = $image;
|
||||
break;
|
||||
case 'module_graph':
|
||||
if ($height_module_graph !== null) {
|
||||
|
@ -22,7 +22,7 @@
|
||||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC170202';
|
||||
$build_version = 'PC170220';
|
||||
$pandora_version = 'v6.0SP5';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
|
@ -299,44 +299,49 @@ function reporting_make_reporting_data($report = null, $id_report,
|
||||
$force_height_chart);
|
||||
break;
|
||||
case 'netflow_area':
|
||||
$report['contents'][] = reporting_simple_baseline_graph(
|
||||
$report['contents'][] = reporting_netflow(
|
||||
$report,
|
||||
$content,
|
||||
$type,
|
||||
$force_width_chart,
|
||||
$force_height_chart);
|
||||
$force_height_chart,
|
||||
'netflow_area');
|
||||
break;
|
||||
case 'netflow_pie':
|
||||
$report['contents'][] = reporting_netflow_pie(
|
||||
$report['contents'][] = reporting_netflow(
|
||||
$report,
|
||||
$content,
|
||||
$type,
|
||||
$force_width_chart,
|
||||
$force_height_chart);
|
||||
$force_height_chart,
|
||||
'netflow_pie');
|
||||
break;
|
||||
case 'netflow_data':
|
||||
$report['contents'][] = reporting_netflow_data(
|
||||
$report['contents'][] = reporting_netflow(
|
||||
$report,
|
||||
$content,
|
||||
$type,
|
||||
$force_width_chart,
|
||||
$force_height_chart);
|
||||
$force_height_chart,
|
||||
'netflow_data');
|
||||
break;
|
||||
case 'netflow_statistics':
|
||||
$report['contents'][] = reporting_netflow_statistics(
|
||||
$report['contents'][] = reporting_netflow(
|
||||
$report,
|
||||
$content,
|
||||
$type,
|
||||
$force_width_chart,
|
||||
$force_height_chart);
|
||||
$force_height_chart,
|
||||
'netflow_statistics');
|
||||
break;
|
||||
case 'netflow_summary':
|
||||
$report['contents'][] = reporting_netflow_summary(
|
||||
$report['contents'][] = reporting_netflow(
|
||||
$report,
|
||||
$content,
|
||||
$type,
|
||||
$force_width_chart,
|
||||
$force_height_chart);
|
||||
$force_height_chart,
|
||||
'netflow_summary');
|
||||
break;
|
||||
case 'monitor_report':
|
||||
$report['contents'][] = reporting_monitor_report(
|
||||
@ -6661,6 +6666,202 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
|
||||
return ($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get general statistical info on a group
|
||||
*
|
||||
* @param int Group Id to get info from. 0 = all
|
||||
*
|
||||
* @return array Group statistics
|
||||
*/
|
||||
function reporting_get_group_stats_resume ($id_group = 0, $access = 'AR') {
|
||||
global $config;
|
||||
|
||||
$data = array ();
|
||||
$data["monitor_checks"] = 0;
|
||||
$data["monitor_not_init"] = 0;
|
||||
$data["monitor_unknown"] = 0;
|
||||
$data["monitor_ok"] = 0;
|
||||
$data["monitor_bad"] = 0; // Critical + Unknown + Warning
|
||||
$data["monitor_warning"] = 0;
|
||||
$data["monitor_critical"] = 0;
|
||||
$data["monitor_not_normal"] = 0;
|
||||
$data["monitor_alerts"] = 0;
|
||||
$data["monitor_alerts_fired"] = 0;
|
||||
$data["monitor_alerts_fire_count"] = 0;
|
||||
$data["total_agents"] = 0;
|
||||
$data["total_alerts"] = 0;
|
||||
$data["total_checks"] = 0;
|
||||
$data["alerts"] = 0;
|
||||
$data["agents_unknown"] = 0;
|
||||
$data["monitor_health"] = 100;
|
||||
$data["alert_level"] = 100;
|
||||
$data["module_sanity"] = 100;
|
||||
$data["server_sanity"] = 100;
|
||||
$data["total_not_init"] = 0;
|
||||
$data["monitor_non_init"] = 0;
|
||||
$data["agent_ok"] = 0;
|
||||
$data["agent_warning"] = 0;
|
||||
$data["agent_critical"] = 0;
|
||||
$data["agent_unknown"] = 0;
|
||||
$data["agent_not_init"] = 0;
|
||||
|
||||
$cur_time = get_system_time ();
|
||||
|
||||
//Check for access credentials using check_acl. More overhead, much safer
|
||||
if (!check_acl ($config["id_user"], $id_group, $access)) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
if ($id_group == 0) {
|
||||
$id_group = array_keys(
|
||||
users_get_groups($config['id_user'], $access, false));
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------
|
||||
// Server processed stats. NOT realtime (taken from tgroup_stat)
|
||||
// -----------------------------------------------------------------
|
||||
if ($config["realtimestats"] == 0) {
|
||||
|
||||
if (!is_array($id_group)) {
|
||||
$my_group = $id_group;
|
||||
$id_group = array();
|
||||
$id_group[0] = $my_group;
|
||||
}
|
||||
|
||||
foreach ($id_group as $group) {
|
||||
$group_stat = db_get_all_rows_sql ("SELECT *
|
||||
FROM tgroup_stat, tgrupo
|
||||
WHERE tgrupo.id_grupo = tgroup_stat.id_group
|
||||
AND tgroup_stat.id_group = $group
|
||||
ORDER BY nombre");
|
||||
|
||||
$data["monitor_checks"] += $group_stat[0]["modules"];
|
||||
$data["agent_not_init"] += $group_stat[0]["non-init"];
|
||||
$data["agent_unknown"] += $group_stat[0]["unknown"];
|
||||
$data["agent_ok"] += $group_stat[0]["normal"];
|
||||
$data["agent_warning"] += $group_stat[0]["warning"];
|
||||
$data["agent_critical"] += $group_stat[0]["critical"];
|
||||
$data["monitor_alerts"] += $group_stat[0]["alerts"];
|
||||
$data["monitor_alerts_fired"] += $group_stat[0]["alerts_fired"];
|
||||
$data["monitor_alerts_fire_count"] += $group_stat[0]["alerts_fired"];
|
||||
$data["total_checks"] += $group_stat[0]["modules"];
|
||||
$data["total_alerts"] += $group_stat[0]["alerts"];
|
||||
$data["total_agents"] += $group_stat[0]["agents"];
|
||||
$data["agents_unknown"] += $group_stat[0]["agents_unknown"];
|
||||
$data["utimestamp"] = $group_stat[0]["utimestamp"];
|
||||
|
||||
// This fields are not in database
|
||||
$data["monitor_ok"] += (int) groups_get_normal_monitors($group);
|
||||
$data["monitor_warning"] += (int) groups_get_warning_monitors($group);
|
||||
$data["monitor_critical"] += (int) groups_get_critical_monitors($group);
|
||||
$data["monitor_unknown"] += (int) groups_get_unknown_monitors($group);
|
||||
$data["monitor_not_init"] += (int) groups_get_not_init_monitors($group);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Realtime stats, done by PHP Console
|
||||
// -------------------------------------------------------------------
|
||||
}
|
||||
else {
|
||||
|
||||
if (!empty($id_group)) {
|
||||
|
||||
$sql = "SELECT tg.id_grupo as id, tg.nombre as name,
|
||||
SUM(ta.normal_count) as monitor_ok,
|
||||
SUM(ta.warning_count) as monitor_warning,
|
||||
SUM(ta.critical_count) as monitor_critical,
|
||||
SUM(ta.unknown_count) as monitor_unknown,
|
||||
SUM(ta.notinit_count) as monitor_not_init,
|
||||
count(ta.nombre) as total_agents
|
||||
FROM tagente ta, tgrupo tg
|
||||
WHERE tg.id_grupo = ta.id_grupo
|
||||
AND ta.id_grupo = ". $id_group ."
|
||||
GROUP BY ta.id_grupo;";
|
||||
|
||||
$data_array = db_get_all_rows_sql($sql);
|
||||
$data = $data_array[0];
|
||||
|
||||
// Get total count of monitors for this group, except disabled.
|
||||
$data["monitor_checks"] = $data["monitor_not_init"] + $data["monitor_unknown"] + $data["monitor_warning"] + $data["monitor_critical"] + $data["monitor_ok"];
|
||||
|
||||
// Calculate not_normal monitors
|
||||
$data["monitor_not_normal"] += $data["monitor_checks"] - $data["monitor_ok"];
|
||||
}
|
||||
|
||||
// Get total count of monitors for this group, except disabled.
|
||||
|
||||
$data["monitor_checks"] = $data["monitor_not_init"] + $data["monitor_unknown"] + $data["monitor_warning"] + $data["monitor_critical"] + $data["monitor_ok"];
|
||||
|
||||
}
|
||||
|
||||
if ($data["monitor_unknown"] > 0 && $data["monitor_checks"] > 0) {
|
||||
$data["monitor_health"] = format_numeric (100 - ($data["monitor_not_normal"] / ($data["monitor_checks"] / 100)), 1);
|
||||
}
|
||||
else {
|
||||
$data["monitor_health"] = 100;
|
||||
}
|
||||
|
||||
if ($data["monitor_not_init"] > 0 && $data["monitor_checks"] > 0) {
|
||||
$data["module_sanity"] = format_numeric (100 - ($data["monitor_not_init"] / ($data["monitor_checks"] / 100)), 1);
|
||||
}
|
||||
else {
|
||||
$data["module_sanity"] = 100;
|
||||
}
|
||||
|
||||
if (isset($data["alerts"])) {
|
||||
if ($data["monitor_alerts_fired"] > 0 && $data["alerts"] > 0) {
|
||||
$data["alert_level"] = format_numeric (100 - ($data ["monitor_alerts_fired"] / ($data["alerts"] / 100)), 1);
|
||||
}
|
||||
else {
|
||||
$data["alert_level"] = 100;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$data["alert_level"] = 100;
|
||||
$data["alerts"] = 0;
|
||||
}
|
||||
|
||||
$data["monitor_bad"] = $data["monitor_critical"] + $data["monitor_warning"];
|
||||
|
||||
if ($data["monitor_bad"] > 0 && $data["monitor_checks"] > 0) {
|
||||
$data["global_health"] = format_numeric (100 - ($data["monitor_bad"] / ($data["monitor_checks"] / 100)), 1);
|
||||
}
|
||||
else {
|
||||
$data["global_health"] = 100;
|
||||
}
|
||||
|
||||
$data["server_sanity"] = format_numeric (100 - $data["module_sanity"], 1);
|
||||
|
||||
|
||||
$data['alert_fired'] = 0;
|
||||
if ($data["monitor_alerts_fired"] > 0) {
|
||||
$data['alert_fired'] = 1;
|
||||
}
|
||||
|
||||
|
||||
if ($data["monitor_critical"] > 0) {
|
||||
$data['status'] = 'critical';
|
||||
}
|
||||
elseif ($data["monitor_warning"] > 0) {
|
||||
$data['status'] = 'warning';
|
||||
}
|
||||
elseif (($data["monitor_unknown"] > 0) || ($data["agents_unknown"] > 0)) {
|
||||
$data['status'] = 'unknown';
|
||||
}
|
||||
elseif ($data["monitor_ok"] > 0) {
|
||||
$data['status'] = 'ok';
|
||||
}
|
||||
elseif ($data["agent_not_init"] > 0) {
|
||||
$data['status'] = 'not_init';
|
||||
}
|
||||
else {
|
||||
$data['status'] = 'none';
|
||||
}
|
||||
|
||||
return ($data);
|
||||
}
|
||||
|
||||
|
||||
function reporting_get_stats_indicators($data, $width = 280, $height = 20, $html = true) {
|
||||
$table_ind = html_get_predefined_table();
|
||||
|
||||
|
@ -615,20 +615,20 @@ function ui_print_group_icon_path ($id_group, $return = false, $path = "images/g
|
||||
*/
|
||||
function ui_print_os_icon ($id_os, $name = true, $return = false,
|
||||
$apply_skin = true, $networkmap = false, $only_src = false,
|
||||
$relative = false, $options = false) {
|
||||
$relative = false, $options = false, $big_icons = false) {
|
||||
|
||||
|
||||
|
||||
$subfolter = 'os_icons';
|
||||
$subfolder = 'os_icons';
|
||||
if ($networkmap) {
|
||||
$subfolter = 'networkmap';
|
||||
$subfolder = 'networkmap';
|
||||
}
|
||||
if ($big_icons)
|
||||
$subfolder .= '/so_big_icons';
|
||||
|
||||
$icon = (string) db_get_value ('icon_name', 'tconfig_os', 'id_os', (int) $id_os);
|
||||
$os_name = get_os_name ($id_os);
|
||||
if (empty ($icon)) {
|
||||
if ($only_src) {
|
||||
$output = html_print_image("images/" . $subfolter . "/unknown.png",
|
||||
$output = html_print_image("images/" . $subfolder . "/unknown.png",
|
||||
true, $options, true, $relative, false, true);
|
||||
}
|
||||
else {
|
||||
@ -637,18 +637,18 @@ function ui_print_os_icon ($id_os, $name = true, $return = false,
|
||||
}
|
||||
else if ($apply_skin) {
|
||||
if ($only_src) {
|
||||
$output = html_print_image("images/" . $subfolter . "/" . $icon, true, $options, true, $relative, false, true);
|
||||
$output = html_print_image("images/" . $subfolder . "/" . $icon, true, $options, true, $relative, false, true);
|
||||
}
|
||||
else {
|
||||
if (!isset($options['title'])) {
|
||||
$options['title'] = $os_name;
|
||||
}
|
||||
$output = html_print_image("images/" . $subfolter . "/" . $icon, true, $options, false, $relative, false, true);
|
||||
$output = html_print_image("images/" . $subfolder . "/" . $icon, true, $options, false, $relative, false, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
//$output = "<img src='images/os_icons/" . $icon . "' alt='" . $os_name . "' title='" . $os_name . "'>";
|
||||
$output = "images/" . $subfolter . "/" . $icon;
|
||||
$output = "images/" . $subfolder . "/" . $icon;
|
||||
|
||||
if ($name === true) {
|
||||
$output .= ' ' . $os_name;
|
||||
|
@ -2225,7 +2225,7 @@ function set_watermark(graph_id, plot, watermark_src) {
|
||||
down_ticks_height = $('#'+graph_id+' .yAxis .tickLabel').eq(0).css('height').split('px')[0];
|
||||
}
|
||||
var left_pos = parseInt(context.canvas.width - 3) - $('#watermark_image_'+graph_id)[0].width;
|
||||
var top_pos = parseInt(context.canvas.height - down_ticks_height - 20) - $('#watermark_image_'+graph_id)[0].height;
|
||||
var top_pos = parseInt(context.canvas.height - down_ticks_height - 10) - $('#watermark_image_'+graph_id)[0].height;
|
||||
|
||||
context.drawImage(this, left_pos, top_pos);
|
||||
|
||||
|
@ -213,6 +213,9 @@ $(document).ready (function () {
|
||||
$('#menu').css('top','80px');
|
||||
}
|
||||
});
|
||||
|
||||
$("#alert_messages").draggable();
|
||||
$("#alert_messages").css({'left':+parseInt(screen.width/2)-parseInt($("#alert_messages").css('width'))/2+'px'});
|
||||
|
||||
});
|
||||
|
||||
|
@ -1928,6 +1928,18 @@ div.warn {
|
||||
}
|
||||
|
||||
.submenu_not_selected {
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
@ -2277,16 +2289,79 @@ ul.operation li a:hover {
|
||||
#font-weight: bold;
|
||||
}
|
||||
|
||||
.menu_icon{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
}
|
||||
|
||||
.menu_icon:hover{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
.submenu_not_selected:hover{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
.submenu_selected:hover{
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
.sub_subMenu{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
}
|
||||
.sub_subMenu:hover{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
|
||||
@ -2817,43 +2892,6 @@ td.empty_field {
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
/* Shortcut bar */
|
||||
|
||||
#shortcut_container {
|
||||
position: fixed;
|
||||
margin: 0px !important;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
z-index: 9001;
|
||||
}
|
||||
|
||||
#shortcut_bar {
|
||||
background-color: #333;
|
||||
border-top: 1px solid #808080;
|
||||
border-right: 1px solid #808080;
|
||||
border-top-right-radius: 5px;
|
||||
}
|
||||
|
||||
#shortcut_button {
|
||||
display: inline-block;
|
||||
background-color: #333;
|
||||
border: 1px solid #808080;
|
||||
border-bottom: none;
|
||||
border-top-left-radius: 15px;
|
||||
border-top-right-radius: 15px;
|
||||
}
|
||||
|
||||
.shortcut_item {
|
||||
padding: 2px 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.shortcut_item>span {
|
||||
color: #eee;
|
||||
font-weight: bold;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
/* Policies styles */
|
||||
|
||||
table#policy_modules td * {
|
||||
@ -3486,13 +3524,10 @@ div.simple_value > a > span.text p
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
border-bottom-left-radius: 5px;
|
||||
z-index:2;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
z-index:3;
|
||||
position:fixed;
|
||||
width:650px;
|
||||
top: 30%;
|
||||
background:white;
|
||||
}
|
||||
.modalheader{
|
||||
@ -3516,6 +3551,13 @@ div.simple_value > a > span.text p
|
||||
margin-right:10px;
|
||||
margin-top:10px;
|
||||
}
|
||||
.modalclosex:hover{
|
||||
cursor:pointer;
|
||||
display:inline;
|
||||
float:right;
|
||||
margin-right:10px;
|
||||
margin-top:10px;
|
||||
}
|
||||
.modalcontent{
|
||||
color:black;
|
||||
background:white;
|
||||
@ -3537,6 +3579,13 @@ div.simple_value > a > span.text p
|
||||
margin-left:30px;
|
||||
}
|
||||
.modalokbutton{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
cursor:pointer;
|
||||
text-align:center;
|
||||
margin-right:45px;
|
||||
@ -3547,16 +3596,82 @@ div.simple_value > a > span.text p
|
||||
border-radius: 3px;width:90px;height:30px;background-color:white;border: 1px solid #82b92e;
|
||||
}
|
||||
.modalokbuttontext{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:#82b92e;font-family:Nunito;font-size:10pt;position:relative;top:6px;
|
||||
}
|
||||
|
||||
.modalokbutton:hover {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
background-color:#82b92e;
|
||||
}
|
||||
|
||||
.modalokbutton:hover .modalokbuttontext {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:white;
|
||||
}
|
||||
|
||||
.modalgobutton{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
cursor:pointer;text-align:center;margin-right:15px;margin-bottom:30px;float:right;-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;border-radius: 3px;width:240px;height:30px;background-color:white;border: 1px solid #82b92e;
|
||||
}
|
||||
.modalgobuttontext{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:#82b92e;font-family:Nunito;font-size:10pt;position:relative;top:6px;
|
||||
}
|
||||
|
||||
.modalgobutton:hover {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
background-color:#82b92e;
|
||||
}
|
||||
|
||||
.modalgobutton:hover .modalgobuttontext {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:white;
|
||||
}
|
||||
|
||||
|
||||
#opacidad{
|
||||
opacity:0.5;
|
||||
|
@ -1906,6 +1906,18 @@ div.warn {
|
||||
}
|
||||
|
||||
.submenu_not_selected {
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
@ -2254,16 +2266,81 @@ ul.operation li a:hover {
|
||||
#font-weight: bold;
|
||||
}
|
||||
|
||||
.menu_icon{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
}
|
||||
|
||||
.menu_icon:hover{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
.submenu_not_selected:hover{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
-o-transition-timing-function: ease-out;
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
|
||||
.submenu_selected:hover{
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
|
||||
.sub_subMenu{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
}
|
||||
.sub_subMenu:hover{
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color;
|
||||
-webkit-transition-duration: 0.5s;
|
||||
-webkit-transition-timing-function: ease-out;
|
||||
-moz-transition-property: background-color;
|
||||
-moz-transition-duration: 0.5s;
|
||||
-moz-transition-timing-function: ease-out;
|
||||
-o-transition-property: background-color;
|
||||
-o-transition-duration: 0.5s;
|
||||
background-color: #585858 !important;
|
||||
}
|
||||
|
||||
@ -2765,43 +2842,6 @@ td.empty_field {
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
/* Shortcut bar */
|
||||
|
||||
#shortcut_container {
|
||||
position: fixed;
|
||||
margin: 0px !important;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
z-index: 9001;
|
||||
}
|
||||
|
||||
#shortcut_bar {
|
||||
background-color: #333;
|
||||
border-top: 1px solid #808080;
|
||||
border-right: 1px solid #808080;
|
||||
border-top-right-radius: 5px;
|
||||
}
|
||||
|
||||
#shortcut_button {
|
||||
display: inline-block;
|
||||
background-color: #333;
|
||||
border: 1px solid #808080;
|
||||
border-bottom: none;
|
||||
border-top-left-radius: 15px;
|
||||
border-top-right-radius: 15px;
|
||||
}
|
||||
|
||||
.shortcut_item {
|
||||
padding: 2px 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.shortcut_item>span {
|
||||
color: #eee;
|
||||
font-weight: bold;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
/* Policies styles */
|
||||
|
||||
table#policy_modules td * {
|
||||
@ -3171,6 +3211,13 @@ table#policy_modules td * {
|
||||
}
|
||||
|
||||
.modalokbutton{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
cursor:pointer;
|
||||
text-align:center;
|
||||
margin-right:45px;
|
||||
@ -3181,16 +3228,80 @@ table#policy_modules td * {
|
||||
border-radius: 3px;width:90px;height:30px;background-color:white;border: 1px solid #82b92e;
|
||||
}
|
||||
.modalokbuttontext{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:#82b92e;font-family:Nunito;font-size:10pt;position:relative;top:6px;
|
||||
}
|
||||
|
||||
.modalokbutton:hover {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
background-color:#82b92e;
|
||||
}
|
||||
|
||||
.modalokbutton:hover .modalokbuttontext {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:white;
|
||||
}
|
||||
.modalgobutton{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
cursor:pointer;text-align:center;margin-right:15px;margin-bottom:30px;float:right;-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;border-radius: 3px;width:240px;height:30px;background-color:white;border: 1px solid #82b92e;
|
||||
}
|
||||
.modalgobuttontext{
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:#82b92e;font-family:Nunito;font-size:10pt;position:relative;top:6px;
|
||||
}
|
||||
|
||||
.modalgobutton:hover {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
background-color:#82b92e;
|
||||
}
|
||||
|
||||
.modalgobutton:hover .modalgobuttontext {
|
||||
transition-property: background-color, color;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: ease-out;
|
||||
-webkit-transition-property: background-color, color;
|
||||
-webkit-transition-duration: 1s;
|
||||
-o-transition-property: background-color, color;
|
||||
-o-transition-duration: 1s;
|
||||
color:white;
|
||||
}
|
||||
|
||||
#opacidad{
|
||||
opacity:0.5;
|
||||
|
@ -2846,43 +2846,6 @@ td.empty_field {
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
/* Shortcut bar */
|
||||
|
||||
#shortcut_container {
|
||||
position: fixed;
|
||||
margin: 0px !important;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
z-index: 9001;
|
||||
}
|
||||
|
||||
#shortcut_bar {
|
||||
background-color: #333;
|
||||
border-top: 1px solid #808080;
|
||||
border-right: 1px solid #808080;
|
||||
border-top-right-radius: 5px;
|
||||
}
|
||||
|
||||
#shortcut_button {
|
||||
display: inline-block;
|
||||
background-color: #333;
|
||||
border: 1px solid #808080;
|
||||
border-bottom: none;
|
||||
border-top-left-radius: 15px;
|
||||
border-top-right-radius: 15px;
|
||||
}
|
||||
|
||||
.shortcut_item {
|
||||
padding: 2px 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.shortcut_item>span {
|
||||
color: #eee;
|
||||
font-weight: bold;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
/* Policies styles */
|
||||
|
||||
table#policy_modules td * {
|
||||
|
@ -830,9 +830,6 @@ else {
|
||||
require("general/logon_ok.php");
|
||||
}
|
||||
}
|
||||
if ($config["pure"] == 0) {
|
||||
require("general/shortcut_bar.php");
|
||||
}
|
||||
}
|
||||
|
||||
if ($config["pure"] == 0) {
|
||||
|
@ -71,7 +71,7 @@
|
||||
<div style='height: 10px'>
|
||||
<?php
|
||||
$version = '6.0SP5';
|
||||
$build = '170202';
|
||||
$build = '170220';
|
||||
$banner = "v$version Build $build";
|
||||
|
||||
error_reporting(0);
|
||||
|
@ -708,19 +708,19 @@ a.ui-link-inherit {
|
||||
/* Active class used as the "on" state across all themes
|
||||
-----------------------------------------------------------------------------------------------------------*/
|
||||
.ui-btn-active {
|
||||
border: 1px solid #2373a5 /*{global-active-border}*/;
|
||||
border: 1px solid #82B92E /*{global-active-border}*/;
|
||||
background: #5393c5 /*{global-active-background-color}*/;
|
||||
font-weight: bold;
|
||||
color: #fff /*{global-active-color}*/;
|
||||
cursor: pointer;
|
||||
text-shadow: 0 /*{global-active-shadow-x}*/ 1px /*{global-active-shadow-y}*/ 0 /*{global-active-shadow-radius}*/ #3373a5 /*{global-active-shadow-color}*/;
|
||||
text-shadow: 0 /*{global-active-shadow-x}*/ 1px /*{global-active-shadow-y}*/ 0 /*{global-active-shadow-radius}*/ #82B92E /*{global-active-shadow-color}*/;
|
||||
text-decoration: none;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{global-active-background-start}*/), to( #6facd5 /*{global-active-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from( #82B92E /*{global-active-background-start}*/), to( #82B92E /*{global-active-background-end}*/)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* IE10 */
|
||||
background-image: -o-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* Opera 11.10+ */
|
||||
background-image: linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/);
|
||||
font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
|
||||
}
|
||||
.ui-btn-active:visited,
|
||||
@ -1042,9 +1042,9 @@ a.ui-link-inherit {
|
||||
}
|
||||
.ui-focus,
|
||||
.ui-btn:focus {
|
||||
-moz-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
|
||||
-webkit-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
|
||||
box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/;
|
||||
-moz-box-shadow: inset 0 0 3px #82B92E /*{global-active-background-color}*/, 0 0 9px #82B92E /*{global-active-background-color}*/;
|
||||
-webkit-box-shadow: inset 0 0 3px #82B92E /*{global-active-background-color}*/, 0 0 9px #82B92E /*{global-active-background-color}*/;
|
||||
box-shadow: inset 0 0 3px #82B92E /*{global-active-background-color}*/, 0 0 9px #82B92E /*{global-active-background-color}*/;
|
||||
}
|
||||
.ui-input-text.ui-focus,
|
||||
.ui-input-search.ui-focus {
|
||||
@ -1123,10 +1123,29 @@ div.ui-mobile-viewport { overflow-x: hidden; }
|
||||
.ui-header > .ui-btn-icon-notext,
|
||||
.ui-header-fixed.ui-fixed-hidden > .ui-btn-icon-notext { top: 6px; }
|
||||
.ui-header-fixed > .ui-btn-icon-notext { top: 7px;}
|
||||
.ui-header .ui-title, .ui-footer .ui-title { min-height: 1.1em; text-align: center; font-size: 16px; display: block; margin: .6em 30% .8em; padding: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; outline: 0 !important; }
|
||||
.ui-footer .ui-title { margin: .6em 15px .8em; }
|
||||
.ui-header .ui-title, .ui-footer .ui-title {
|
||||
min-height: 1.1em;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
display: block;
|
||||
margin: .6em 30% .8em;
|
||||
padding: 0;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
outline: 0 !important;
|
||||
}
|
||||
.ui-footer .ui-title {
|
||||
margin: .6em 15px .8em;
|
||||
}
|
||||
|
||||
/* content area*/
|
||||
.ui-content { border-width: 0; overflow: visible; overflow-x: hidden; padding: 15px; }
|
||||
.ui-content {
|
||||
border-width: 0;
|
||||
overflow: hidden;
|
||||
overflow-x: hidden;
|
||||
padding: 5px 5px 0px 5px;
|
||||
}
|
||||
/* corner styling for dialogs and popups */
|
||||
.ui-corner-all > .ui-header:first-child,
|
||||
.ui-corner-all > .ui-content:first-child,
|
||||
@ -2128,7 +2147,7 @@ label.ui-submit { font-size: 16px; line-height: 1.4; font-weight: normal; margin
|
||||
.ui-field-contain .ui-btn.ui-submit { width: 78%; display: inline-block; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
|
||||
.ui-hide-label .ui-btn.ui-submit { width: auto; display: block; }
|
||||
}
|
||||
.ui-collapsible-inset { margin: .5em 0; }
|
||||
.ui-collapsible-inset { margin: .5em 2px 1px; width:99%;}
|
||||
.ui-collapsible-heading { font-size: 16px; display: block; margin: 0 -15px; padding: 0; position: relative; }
|
||||
.ui-collapsible-inset .ui-collapsible-heading { margin: 0; }
|
||||
.ui-collapsible-heading .ui-btn { text-align: left; margin: 0; border-left-width: 0; border-right-width: 0; }
|
||||
@ -2294,7 +2313,7 @@ label.ui-submit { font-size: 16px; line-height: 1.4; font-weight: normal; margin
|
||||
padding: 0;
|
||||
}
|
||||
.ui-dialog-contain > .ui-content {
|
||||
padding: 15px;
|
||||
padding: 5px 5px 0px 5px;
|
||||
}
|
||||
.ui-dialog-contain > .ui-footer {
|
||||
z-index: 10;
|
||||
@ -3120,7 +3139,7 @@ div.ui-slider-switch.ui-mini {
|
||||
}
|
||||
}
|
||||
/* Breakpoint to show as a standard table at 560px (25em x 16px) or wider */
|
||||
@media ( min-width: 25em ) {
|
||||
@media ( min-width: 34.99em ) {
|
||||
/* Fixes table rendering when switching between breakpoints in Safari <= 5. See https://github.com/jquery/jquery-mobile/issues/5380 */
|
||||
.ui-table-reflow.ui-responsive {
|
||||
display: table-row-group;
|
||||
@ -3143,7 +3162,7 @@ div.ui-slider-switch.ui-mini {
|
||||
}
|
||||
/* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */
|
||||
/* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/
|
||||
@media ( max-width: 25em ) {
|
||||
@media ( max-width: 34.98em ) {
|
||||
.ui-table-reflow.ui-responsive td,
|
||||
.ui-table-reflow.ui-responsive th {
|
||||
width: 100%;
|
||||
@ -3153,6 +3172,15 @@ div.ui-slider-switch.ui-mini {
|
||||
float: left;
|
||||
clear: left;
|
||||
}
|
||||
#list_agent_Modules.ui-table-reflow.ui-responsive td.cell_0 {
|
||||
width: 52% !important;
|
||||
}
|
||||
#list_agent_Modules.ui-table-reflow.ui-responsive td.cell_1 {
|
||||
width: 15% !important;
|
||||
}
|
||||
#list_agent_Modules.ui-table-reflow.ui-responsive td.cell_4 {
|
||||
width: 33% !important;
|
||||
}
|
||||
}
|
||||
/* panel */
|
||||
.ui-panel {
|
||||
|
@ -34,6 +34,10 @@ body {
|
||||
|
||||
}
|
||||
|
||||
.agent_graphs, .events_bar {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
#tactical1 *, #tactical2 * {
|
||||
font-weight: bold;
|
||||
}
|
||||
@ -520,11 +524,32 @@ table.event_details td.cell_event_name {
|
||||
}
|
||||
|
||||
.agent_details {
|
||||
line-height: 35px;
|
||||
padding: 10px 0px 10px 0px;
|
||||
}
|
||||
.agent_details > img {
|
||||
vertical-align: middle;
|
||||
width: 20px;
|
||||
}
|
||||
.agent_os{
|
||||
float: right;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.agent_details img {
|
||||
float: left;
|
||||
.agent_list_ips {
|
||||
padding: 10px 0px 10px 0px;
|
||||
}
|
||||
.agent_list_ips > img {
|
||||
vertical-align: middle;
|
||||
width: 20px;
|
||||
}
|
||||
.agent_last_contact {
|
||||
padding: 10px 0px 10px 0px;
|
||||
}
|
||||
.agent_description {
|
||||
padding: 10px 0px 10px 0px;
|
||||
}
|
||||
|
||||
.agent_name {
|
||||
@ -544,8 +569,8 @@ table.event_details td.cell_event_name {
|
||||
}
|
||||
|
||||
#list_agents td {
|
||||
height: 35px;
|
||||
padding-top: 20px;
|
||||
height: 25px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.agents_tiny_stats_tactical {
|
||||
@ -554,7 +579,33 @@ table.event_details td.cell_event_name {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 25em) {
|
||||
@media screen and (max-width: 34.99em) {
|
||||
#list_agents td {
|
||||
height: 35px;
|
||||
padding-top: 7px;
|
||||
display: table-cell;
|
||||
clear: none;
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
#list_agents td.cell_0 {
|
||||
width: 45%;
|
||||
border-top: 0px none;
|
||||
}
|
||||
#list_agents td.cell_0>span.tiny>img {
|
||||
width: 5px;
|
||||
height: 30px;
|
||||
margin-top: -6px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
#list_agents td.cell_5 {
|
||||
width: 30%;
|
||||
}
|
||||
#list_agents td.cell_6 {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
#list_agents .cell_2 .ui-table-cell-label,
|
||||
#list_agents .cell_3 .ui-table-cell-label,
|
||||
#list_agents .cell_6 .ui-table-cell-label,
|
||||
@ -572,7 +623,6 @@ table.event_details td.cell_event_name {
|
||||
|
||||
#list_agents .cell_2,
|
||||
#list_agents .cell_3,
|
||||
#list_agents .cell_6,
|
||||
#list_agents .cell_7 {
|
||||
display: inline !important;
|
||||
float: none !important;
|
||||
@ -594,7 +644,7 @@ table.event_details td.cell_event_name {
|
||||
}
|
||||
|
||||
#list_agents .show_collapside {
|
||||
display: inline !important;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#list_agents .cell_1,
|
||||
@ -605,16 +655,24 @@ table.event_details td.cell_event_name {
|
||||
}
|
||||
|
||||
#list_agents .cell_0 .ui-link {
|
||||
font-size: 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#list_agents .cell_6 .show_collapside {
|
||||
display: inline !important;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.agents_tiny_stats * {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
|
||||
#list_agent_Modules td {
|
||||
padding-top: 7px !important;
|
||||
}
|
||||
|
||||
.agents_tiny_stats {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
/* For mobiles */
|
||||
@ -738,7 +796,7 @@ table.event_details td.cell_event_name {
|
||||
/*END-----------Visual maps styles---------------------------------------*/
|
||||
|
||||
/*INIT-----------Modules styles---------------------------------------*/
|
||||
@media screen and (max-width: 25em) {
|
||||
@media screen and (max-width: 34.99em) {
|
||||
#list_Modules .cell_1 .ui-table-cell-label,
|
||||
#list_Modules .cell_5 .ui-table-cell-label,
|
||||
#list_Modules .cell_6 .ui-table-cell-label {
|
||||
@ -755,7 +813,17 @@ table.event_details td.cell_event_name {
|
||||
#list_Modules .cell_3 .ui-table-cell-label,
|
||||
#list_Modules .cell_4 .ui-table-cell-label,
|
||||
#list_Modules .cell_5 .ui-table-cell-label {
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#list_Modules td {
|
||||
height: 35px;
|
||||
padding-top: 7px;
|
||||
display: table-cell;
|
||||
clear: none;
|
||||
float: none;
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
#list_Modules .show_collapside {
|
||||
@ -766,18 +834,43 @@ table.event_details td.cell_event_name {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#list_Modules .cell_1,
|
||||
#list_Modules .cell_2,
|
||||
#list_Modules .cell_3 {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#list_Modules .cell_0 .show_collapside,
|
||||
#list_Modules .cell_1 .show_collapside {
|
||||
#list_Modules .cell_1 .show_collapside,
|
||||
#list_Modules .cell_4 .show_collapside,
|
||||
#list_Modules .cell_5 .show_collapside {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#list_Modules .cell_0 .ui-link {
|
||||
font-size: 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#list_Modules .cell_0{
|
||||
width: 50%;
|
||||
border-top: 0px none;
|
||||
}
|
||||
#list_Modules .cell_4{
|
||||
width: 25%;
|
||||
}
|
||||
#list_Modules .cell_5{
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
#list_Modules td.cell_0>span.tiny>img {
|
||||
width: 5px;
|
||||
height: 30px;
|
||||
margin-top: -5px;
|
||||
margin-left: 0px;
|
||||
float: left;
|
||||
}
|
||||
#list_Modules .module_name {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@ -795,6 +888,10 @@ table.event_details td.cell_event_name {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#list_agent_Modules td.cell_0 > span.tiny {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#list_Modules .cell_5 img {
|
||||
float: left;
|
||||
}
|
||||
@ -809,7 +906,7 @@ table.event_details td.cell_event_name {
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 25em) {
|
||||
@media screen and (max-width: 34.99em) {
|
||||
#list_agent_Modules .ui-table-cell-label,
|
||||
#list_agent_Modules .cell_2,
|
||||
#list_agent_Modules .cell_3 {
|
||||
@ -877,7 +974,7 @@ li.ui-btn {
|
||||
float: left;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 25em) {
|
||||
@media screen and (max-width: 34.99em) {
|
||||
.ui-table th, .ui-table td {
|
||||
padding: 8px !important;
|
||||
padding-left: 3px;
|
||||
@ -924,7 +1021,7 @@ li.ui-btn {
|
||||
height: 28px !important;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 25em)
|
||||
@media screen and (max-width: 35em)
|
||||
{
|
||||
.events .status_row {
|
||||
display: none;
|
||||
@ -939,12 +1036,12 @@ li.ui-btn {
|
||||
min-width: 50%;
|
||||
}
|
||||
|
||||
.agents_tiny_stats, .agents_last_contact {
|
||||
.agents_last_contact {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 25em)
|
||||
@media screen and (min-width: 35em)
|
||||
{
|
||||
.events .cell_0 .event_link{
|
||||
display: none;
|
||||
@ -1028,7 +1125,7 @@ li.ui-btn {
|
||||
}
|
||||
|
||||
.event_name {
|
||||
font-size: 18px !important;
|
||||
font-size: 15px !important;
|
||||
}
|
||||
|
||||
.login_logo img {
|
||||
@ -1050,7 +1147,7 @@ li.ui-btn {
|
||||
}
|
||||
|
||||
.event_name {
|
||||
font-size: 15px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@ -1199,6 +1296,11 @@ span.nobold * {
|
||||
line-height: 1.1em;
|
||||
}
|
||||
|
||||
.events_timestamp > img {
|
||||
vertical-align: middle;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.events_agent {
|
||||
float: left;
|
||||
}
|
||||
@ -1258,3 +1360,22 @@ DIV.nodata_container {
|
||||
.ui-table-reflow.ui-responsive {
|
||||
display: table !important;
|
||||
}
|
||||
|
||||
.widget_agent_module > th {
|
||||
background-color: #373737;
|
||||
}
|
||||
#list_agent_Modules > tbody > tr > td {
|
||||
clear: none;
|
||||
vertical-align: middle;
|
||||
padding: 0px;
|
||||
}
|
||||
#list_agent_Modules > tbody > tr > td.cell_0 {
|
||||
border-top: 0px none;
|
||||
}
|
||||
|
||||
.legend_graph td.legendLabel > div {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
.legend_graph td.legendLabel {
|
||||
font-size: 12px !important;
|
||||
}
|
@ -780,6 +780,7 @@ class Table {
|
||||
foreach ($data as $id => $row) {
|
||||
$table_row = array();
|
||||
foreach ($row as $key => $value) {
|
||||
|
||||
if (!in_array($key, $this->head)) {
|
||||
$this->head[] = $key;
|
||||
}
|
||||
@ -843,45 +844,40 @@ class Table {
|
||||
$html = '';
|
||||
|
||||
$html = "<table data-role='table' id='" . $this->id . "' " .
|
||||
"data-mode='reflow' class='" . $this->class_table . " ui-responsive table-stroke'>\n";
|
||||
"data-mode='reflow' class='" . $this->class_table . " ui-responsive table-stroke'>";
|
||||
|
||||
|
||||
$html .= "<thead>\n";
|
||||
$html .= "<tr>\n";
|
||||
//Empty head for white space between rows in the responsive vertical layout
|
||||
$html .= "<th class='head_horizontal'></th>\n";
|
||||
foreach ($this->head as $head) {
|
||||
$html .= "<th class='head_horizontal'>" . $head . "</th>\n";
|
||||
if ($this->head) {
|
||||
$html .= "<thead>";
|
||||
$html .= "<tr>";
|
||||
//Empty head for white space between rows in the responsive vertical layout
|
||||
//~ $html .= "<th class='head_horizontal'></th>";
|
||||
foreach ($this->head as $head) {
|
||||
$html .= "<th class='head_horizontal'>" . $head . "</th>";
|
||||
}
|
||||
$html .= "</tr>";
|
||||
$html .= "</thead>";
|
||||
}
|
||||
$html .= "</tr>\n";
|
||||
$html .= "</thead>\n";
|
||||
|
||||
$html .= "<tbody>\n";
|
||||
$html .= "<tbody>";
|
||||
foreach ($this->rows as $key => $row) {
|
||||
$class = '';
|
||||
if (isset($this->rowClass[$key])) {
|
||||
$class = $this->rowClass[$key];
|
||||
}
|
||||
|
||||
$html .= "<tr class='" . $class . "'>\n";
|
||||
$html .= "<tr class='" . $class . "'>";
|
||||
//Empty head for white space between rows in the responsive vertical layout
|
||||
if (isset($this->row_heads[$key])) {
|
||||
$html .= "<th class='head_vertical'>" . $this->row_heads[$key] . "</th>\n";
|
||||
}
|
||||
elseif ($this->row_keys_as_head_row) {
|
||||
$html .= "<th class='head_vertical'>" . $key . "</th>\n";
|
||||
}
|
||||
else {
|
||||
$html .= "<th class='head_vertical' style='font-size: 0px'></th>\n";
|
||||
}
|
||||
|
||||
foreach ($row as $key_cell => $cell) {
|
||||
$html .= "<td class='cell_" . $key_cell . "'>" . $cell . "</td>\n";
|
||||
$html .= "<td class='cell_" . $key_cell . "'>" . $cell . "</td>";
|
||||
}
|
||||
$html .= "</tr>\n";
|
||||
|
||||
$html .= "</tr>";
|
||||
}
|
||||
|
||||
$html .= "</tbody>\n";
|
||||
$html .= "</table>\n";
|
||||
$html .= "</tbody>";
|
||||
$html .= "</table>";
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
@ -114,92 +114,123 @@ class Agent {
|
||||
$ui->showFooter(false);
|
||||
$ui->beginContent();
|
||||
if (empty($this->agent)) {
|
||||
$ui->contentAddHtml('<span style="color: red;">' . __('No agent found') . '</span>');
|
||||
$ui->contentAddHtml('<span style="color: red;">' .
|
||||
__('No agent found') . '</span>');
|
||||
}
|
||||
else {
|
||||
$ui->contentBeginGrid();
|
||||
if ($this->agent['disabled']) {
|
||||
$agent_name = "<em>" . $agent_name . "</em>" . ui_print_help_tip(__('Disabled'), true);
|
||||
}
|
||||
else if ($this->agent['quiet']) {
|
||||
$agent_name = "<em>" . $agent_name . " " . html_print_image("images/dot_green.disabled.png", true, array("border" => '0', "title" => __('Quiet'), "alt" => "")) . "</em>";
|
||||
}
|
||||
else {
|
||||
$agent_name = $agent_name;
|
||||
}
|
||||
|
||||
|
||||
if ($system->getConfig('metaconsole')) {
|
||||
metaconsole_connect(null, $this->agent['id_tmetaconsole_setup']);
|
||||
$addresses = agents_get_addresses($this->agent['id_tagente']);
|
||||
}
|
||||
else
|
||||
$addresses = agents_get_addresses($this->id);
|
||||
|
||||
if ($system->getConfig('metaconsole'))
|
||||
metaconsole_restore_db();
|
||||
|
||||
$address = $this->agent['direccion'];
|
||||
foreach ($addresses as $k => $add) {
|
||||
if ($add == $address) {
|
||||
unset($addresses[$k]);
|
||||
}
|
||||
}
|
||||
$ip = html_print_image('images/world.png', true, array('title' => __('IP address'))) . ' ';
|
||||
$ip .= empty($address) ? '<em>' . __('N/A') . '</em>' : $address;
|
||||
if (!empty($addresses)) {
|
||||
$ip .= ui_print_help_tip(__('Other IP addresses').': <br>'.implode('<br>',$addresses), true);
|
||||
}
|
||||
$ip .= '<br />';
|
||||
|
||||
$last_contact = '<b>' . __('Last contact') . '</b>: '
|
||||
.ui_print_timestamp ($this->agent["ultimo_contacto"], true) . '<br />';
|
||||
|
||||
$description = '<b>' . __('Description') . ':</b><br>';
|
||||
if (empty($agent["comentarios"])) {
|
||||
$description .= '<i>' . __('N/A') . '</i>';
|
||||
}
|
||||
else {
|
||||
$description .= $this->agent["comentarios"];
|
||||
}
|
||||
|
||||
|
||||
$html = '<div class="agent_details">';
|
||||
$html .= ui_print_group_icon ($this->agent["id_grupo"], true, "groups_small", "", false) . ' ';
|
||||
$html .= '<span class="agent_name">' . $agent_name . '</span><br />';
|
||||
$html .= $ip;
|
||||
$html .= $last_contact;
|
||||
$html .= $description;
|
||||
$html .= '</div>';
|
||||
if ($this->agent['disabled']) {
|
||||
$agent_name = "<em>" . $agent_name . "</em>" .
|
||||
ui_print_help_tip(__('Disabled'), true);
|
||||
}
|
||||
else if ($this->agent['quiet']) {
|
||||
$agent_name = "<em>" . $agent_name . " " .
|
||||
html_print_image("images/dot_green.disabled.png",
|
||||
true, array("border" => '0', "title" => __('Quiet'), "alt" => "")) . "</em>";
|
||||
}
|
||||
else {
|
||||
$agent_name = $agent_name;
|
||||
}
|
||||
|
||||
|
||||
if ($system->getConfig('metaconsole')) {
|
||||
metaconsole_connect(null, $this->agent['id_tmetaconsole_setup']);
|
||||
}
|
||||
//~ $addresses = agents_get_addresses($this->agent['id_tagente']);
|
||||
}
|
||||
else
|
||||
$addresses = agents_get_addresses($this->id);
|
||||
|
||||
if ($system->getConfig('metaconsole'))
|
||||
metaconsole_restore_db();
|
||||
|
||||
$address = $this->agent['direccion'];
|
||||
//~ foreach ($addresses as $k => $add) {
|
||||
//~ if ($add == $address) {
|
||||
//~ unset($addresses[$k]);
|
||||
//~ }
|
||||
//~ }
|
||||
|
||||
//~ $ip = html_print_image('images/world.png',
|
||||
//~ true, array('title' => __('IP address'))) .
|
||||
//~ ' ';
|
||||
$ip .= empty($address) ? '<em>' . __('N/A') .
|
||||
'</em>' : $address;
|
||||
|
||||
//~ if (!empty($addresses)) {
|
||||
//~ $ip .= ui_print_help_tip(__('Other IP addresses') .
|
||||
//~ ': ' . implode(', ',$addresses), true);
|
||||
//~ }
|
||||
|
||||
$last_contact = '<b>' . __('Last contact') .
|
||||
'</b>: ' .
|
||||
ui_print_timestamp ($this->agent["ultimo_contacto"], true);
|
||||
|
||||
//~ $description = '<b>' . __('Description') . ':</b> ';
|
||||
if (empty($agent["comentarios"])) {
|
||||
$description .= '<i>' . __('N/A') . '</i>';
|
||||
}
|
||||
else {
|
||||
$description .= $this->agent["comentarios"];
|
||||
}
|
||||
|
||||
$html = '<div class="agent_details" style:"float:left;">';
|
||||
$html .= '<span class="agent_name">' . $agent_name .
|
||||
'</span>';
|
||||
$html .= '</div>';
|
||||
$html .= '<div class="agent_os">' . ui_print_os_icon ($this->agent["id_os"], false, true,
|
||||
true, false, false, false, false, true) . '</div>';
|
||||
$html .= '<div class="agent_list_ips">';
|
||||
$html .= $ip . ' - ' .
|
||||
groups_get_name ($this->agent["id_grupo"], true);
|
||||
$html .= '</div>
|
||||
<div class="agent_last_contact">';
|
||||
$html .= $last_contact;
|
||||
$html .= '</div>
|
||||
<div class="agent_description">';
|
||||
$html .= $description;
|
||||
$html .= '</div>';
|
||||
|
||||
if ($system->getConfig('metaconsole')) {
|
||||
metaconsole_connect(null,
|
||||
$this->agent['id_tmetaconsole_setup']);
|
||||
}
|
||||
|
||||
$ui->contentGridAddCell($html, 'agent_details');
|
||||
ob_start();
|
||||
$html = '<div class="agent_graphs">';
|
||||
$html .= "<b>" . __('Modules by status') . "</b><br />";
|
||||
$html .= graph_agent_status ($this->id, 160, 160, true);
|
||||
$graph_js = ob_get_clean();
|
||||
$html = $graph_js . $html;
|
||||
unset($this->agent['fired_count']);
|
||||
if ($this->agent['total_count'] > 0) {
|
||||
$html .= '<span class="agents_tiny_stats agents_tiny_stats_tactical">' . reporting_tiny_stats($this->agent, true) . ' </span><br>';
|
||||
}
|
||||
$html .= "<b>" . __('Events (24h)') . "</b><br /><br />";
|
||||
$html .= '<div id="events_bar"></div>';
|
||||
$html .= '<br>';
|
||||
$html .= '</div>';
|
||||
|
||||
ob_start();
|
||||
|
||||
$html = '<div class="agent_graphs">';
|
||||
$html .= "<b>" . __('Modules by status') . "</b>";
|
||||
$html .= graph_agent_status ($this->id, 160, 160, true);
|
||||
$graph_js = ob_get_clean();
|
||||
$html = $graph_js . $html;
|
||||
|
||||
unset($this->agent['fired_count']);
|
||||
|
||||
if ($this->agent['total_count'] > 0) {
|
||||
$html .= '<div class="agents_tiny_stats agents_tiny_stats_tactical">' .
|
||||
reporting_tiny_stats($this->agent, true, 'agent', ' ') . ' </div>';
|
||||
}
|
||||
|
||||
$html .= '</div>';
|
||||
$html .= '<div class="events_bar">';
|
||||
$html .= "<b>" . __('Events (24h)') . "</b>";
|
||||
$html .= '<div id="events_bar"></div>';
|
||||
$html .= '</div>';
|
||||
|
||||
$ui->contentGridAddCell($html, 'agent_graphs');
|
||||
$ui->contentEndGrid();
|
||||
|
||||
if ($system->getConfig('metaconsole'))
|
||||
metaconsole_restore_db();
|
||||
|
||||
$modules = new Modules();
|
||||
|
||||
if ($system->getConfig('metaconsole'))
|
||||
$filters = array('id_agent' => $this->agent['id_tagente'], 'all_modules' => true, 'status' => -1);
|
||||
else
|
||||
$filters = array('id_agent' => $this->id, 'all_modules' => true, 'status' => -1);
|
||||
|
||||
$modules->setFilters($filters);
|
||||
$modules->disabledColumns(array('agent'));
|
||||
$ui->contentBeginCollapsible(__('Modules'));
|
||||
@ -208,19 +239,24 @@ class Agent {
|
||||
|
||||
if ($system->getConfig('metaconsole')) {
|
||||
metaconsole_connect(null, $this->agent['id_tmetaconsole_setup']);
|
||||
}
|
||||
}
|
||||
|
||||
$alerts = new Alerts();
|
||||
|
||||
if ($system->getConfig('metaconsole'))
|
||||
$filters = array('id_agent' => $this->agent['id_tagente'], 'all_alerts' => true);
|
||||
else
|
||||
$filters = array('id_agent' => $this->id, 'all_alerts' => true);
|
||||
|
||||
$alerts->setFilters($filters);
|
||||
$alerts->disabledColumns(array('agent'));
|
||||
$ui->contentBeginCollapsible(__('Alerts'));
|
||||
$ui->contentCollapsibleAddItem($alerts->listAlertsHtml(true));
|
||||
$ui->contentEndCollapsible();
|
||||
|
||||
if ($system->getConfig('metaconsole'))
|
||||
metaconsole_restore_db();
|
||||
|
||||
$events = new Events();
|
||||
$events->addJavascriptDialog();
|
||||
|
||||
|
@ -325,7 +325,7 @@ class Agents {
|
||||
|
||||
$row[7] = $row[__('Modules')] =
|
||||
'<span class="show_collapside" style="vertical-align: 0%; display: none; font-weight: bolder;">' . __('Modules') . ' </span>' .
|
||||
'<span class="agents_tiny_stats">' . reporting_tiny_stats($agent, true) . ' </span>';
|
||||
'<span class="agents_tiny_stats">' . reporting_tiny_stats($agent, true, 'agent', ' ') . ' </span>';
|
||||
|
||||
$last_time = strtotime ($agent["ultimo_contacto"]);
|
||||
$now = time ();
|
||||
|
@ -105,7 +105,7 @@ class Events {
|
||||
$status_icon = html_print_image($img_st, true, false, false, false, false, true);
|
||||
|
||||
$row = array();
|
||||
$row[] = '<b class="ui-table-cell-label">' . __('Event Name') . '</b><a href="javascript: openDetails(' . $event['id_evento'] . ')"><div class="event_name">' . io_safe_output($event['evento']) . '</div></a>';
|
||||
$row[] = '<b class="ui-table-cell-label">' . __('Event Name') . '</b><a href="javascript: openDetails(' . $event['id_evento'] . ')"><div class="event_name">' . io_safe_output(str_replace(array(' ',''), ' ', $event['evento'])) . '</div></a>';
|
||||
|
||||
if ($event["id_agente"] == 0) {
|
||||
$agent_name = __('System');
|
||||
@ -115,7 +115,7 @@ class Events {
|
||||
}
|
||||
|
||||
$row_1 = '<span class="events_agent">' . $agent_name . '</span>';
|
||||
$row_1 .= '<span class="events_timestamp">' . $status_icon . '<br>' . ui_print_timestamp ($event['timestamp_rep'], true, array('units' => 'tiny')) . '</span>';
|
||||
$row_1 .= '<span class="events_timestamp">' . ui_print_timestamp ($event['timestamp_rep'], true, array('units' => 'tiny')) . $status_icon . '</span>';
|
||||
|
||||
$row[] = $row_1;
|
||||
|
||||
@ -966,10 +966,10 @@ class Events {
|
||||
var new_rows = \"\";
|
||||
$.each(data.events, function(key, event) {
|
||||
new_rows = \"<tr class='events \" + event[2] + \"'>\" +
|
||||
\"<td class='cell_0'>\" +
|
||||
\"<td class='cell_0' style='vertical-align:middle;'>\" +
|
||||
event[0] +
|
||||
\"</td>\" +
|
||||
\"<td>\" + event[1] + \"</td>\" +
|
||||
\"<td style='vertical-align:middle;'>\" + event[1] + \"</td>\" +
|
||||
\"</tr>\" + new_rows;
|
||||
});
|
||||
|
||||
|
@ -84,7 +84,7 @@ class ModuleGraph {
|
||||
$this->height = (int)$system->getRequest('height', 0);
|
||||
|
||||
//Sancho says "put the height to 1/2 for to make more beautyful"
|
||||
//$this->height = $this->height / 2;
|
||||
$this->height = $this->height / 1.5;
|
||||
|
||||
$this->height -= 80; //Correct the height
|
||||
|
||||
@ -144,7 +144,7 @@ class ModuleGraph {
|
||||
$this->draw_events,
|
||||
$this->width,
|
||||
$this->height,
|
||||
$label,
|
||||
false,
|
||||
$unit,
|
||||
$this->draw_alerts,
|
||||
$this->avg_only,
|
||||
@ -172,7 +172,7 @@ class ModuleGraph {
|
||||
$this->draw_events,
|
||||
$this->width,
|
||||
$this->height,
|
||||
$label,
|
||||
false,
|
||||
null,
|
||||
$this->draw_alerts,
|
||||
$this->avg_only,
|
||||
@ -203,7 +203,7 @@ class ModuleGraph {
|
||||
$this->draw_events,
|
||||
$this->width,
|
||||
$this->height,
|
||||
$label,
|
||||
false,
|
||||
null,
|
||||
$this->draw_alerts,
|
||||
1,
|
||||
@ -229,7 +229,7 @@ class ModuleGraph {
|
||||
$this->draw_events,
|
||||
$this->width,
|
||||
$this->height,
|
||||
$label,
|
||||
false,
|
||||
$unit_name,
|
||||
$this->draw_alerts,
|
||||
1,
|
||||
@ -279,37 +279,34 @@ class ModuleGraph {
|
||||
ob_start();
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
$(document).bind('ready', function() {
|
||||
$(document).ready(function() {
|
||||
function load_graph() {
|
||||
$("#loading_graph").show();
|
||||
|
||||
$("#graph_content").html($('#loading_graph').html())
|
||||
.height(($(window).height()
|
||||
var heigth = $(document).height()
|
||||
- $(".ui-header").height()
|
||||
- $(".ui-collapsible").height()
|
||||
- 55) + "px").width($(".ui-collapsible").width() + "px");
|
||||
|
||||
ajax_get_graph($("#id_module").val());
|
||||
- 55;
|
||||
var width = $(document).width() - 25;
|
||||
ajax_get_graph($("#id_module").val(), heigth, width);
|
||||
}
|
||||
|
||||
load_graph();
|
||||
|
||||
// Detect orientation change to refresh dinamic content
|
||||
$(window).on({
|
||||
orientationchange: function(e) {
|
||||
// Reload dinamic content
|
||||
load_graph();
|
||||
}
|
||||
window.addEventListener("resize", function() {
|
||||
// Reload dinamic content
|
||||
load_graph();
|
||||
});
|
||||
});
|
||||
|
||||
function ajax_get_graph(id) {
|
||||
function ajax_get_graph(id, heigth_graph, width_graph) {
|
||||
postvars = {};
|
||||
postvars["action"] = "ajax";
|
||||
postvars["parameter1"] = "module_graph";
|
||||
postvars["parameter2"] = "get_graph";
|
||||
postvars["width"] = $("#graph_content").width();
|
||||
postvars["height"] = $("#graph_content").height();
|
||||
postvars["width"] = width_graph;
|
||||
postvars["height"] = heigth_graph;
|
||||
|
||||
postvars["draw_alerts"] = ($("input[name = 'draw_alerts']").is(":checked"))?1:0;
|
||||
postvars["draw_events"] = ($("input[name = 'draw_events']").is(":checked"))?1:0;
|
||||
|
@ -117,8 +117,8 @@ class Modules {
|
||||
}
|
||||
|
||||
$this->status = $system->getRequest('status', __("Status"));
|
||||
if (($this->status === __("Status")) || ($this->status == AGENT_MODULE_STATUS_NOT_NORMAL)) {
|
||||
$this->status = AGENT_MODULE_STATUS_NOT_NORMAL;
|
||||
if (($this->status === __("Status")) || ($this->status == AGENT_MODULE_STATUS_ALL)) {
|
||||
$this->status = AGENT_MODULE_STATUS_ALL;
|
||||
}
|
||||
else {
|
||||
$this->default = false;
|
||||
@ -443,8 +443,49 @@ class Modules {
|
||||
foreach ($modules_db as $module) {
|
||||
$row = array();
|
||||
|
||||
$image_status = '';
|
||||
if ($module['utimestamp'] == 0 && (($module['module_type'] < 21 ||
|
||||
$module['module_type'] > 23) && $module['module_type'] != 100)) {
|
||||
$image_status = ui_print_status_image(STATUS_MODULE_NO_DATA,
|
||||
__('NOT INIT'), true);
|
||||
}
|
||||
elseif ($module["estado"] == 0) {
|
||||
$image_status = ui_print_status_image(STATUS_MODULE_OK,
|
||||
__('NORMAL') . ": " . $module["datos"], true);
|
||||
}
|
||||
elseif ($module["estado"] == 1) {
|
||||
$image_status = ui_print_status_image(STATUS_MODULE_CRITICAL,
|
||||
__('CRITICAL') . ": " . $module["datos"], true);
|
||||
}
|
||||
elseif ($module["estado"] == 2) {
|
||||
$image_status = ui_print_status_image(STATUS_MODULE_WARNING,
|
||||
__('WARNING') . ": " . $module["datos"], true);
|
||||
}
|
||||
else {
|
||||
$last_status = modules_get_agentmodule_last_status(
|
||||
$module['id_agente_modulo']);
|
||||
switch($last_status) {
|
||||
case 0:
|
||||
$image_status = ui_print_status_image(STATUS_MODULE_UNKNOWN,
|
||||
__('UNKNOWN') . " - " . __('Last status') . " " .
|
||||
__('NORMAL') . ": " . $module["datos"], true);
|
||||
break;
|
||||
case 1:
|
||||
$image_status = ui_print_status_image(STATUS_MODULE_UNKNOWN,
|
||||
__('UNKNOWN') . " - " . __('Last status') ." " .
|
||||
__('CRITICAL') . ": " . $module["datos"], true);
|
||||
break;
|
||||
case 2:
|
||||
$image_status = ui_print_status_image(STATUS_MODULE_UNKNOWN,
|
||||
__('UNKNOWN') . " - " . __('Last status') . " " .
|
||||
__('WARNING') . ": " . $module["datos"], true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$row[0] =
|
||||
$row[__('Module name')] =
|
||||
$row[__('Module name')] = '<span class="tiny" style="margin-right: 5px;">' . $image_status . '</span>' .
|
||||
'<span class="data module_name">' .
|
||||
ui_print_truncate_text($module['module_name'], 30, false) .
|
||||
"</span>";
|
||||
@ -455,6 +496,7 @@ class Modules {
|
||||
ui_print_truncate_text($module['agent_name'], 50, false) .
|
||||
'</span>';
|
||||
}
|
||||
|
||||
if ($module['utimestamp'] == 0 && (($module['module_type'] < 21 ||
|
||||
$module['module_type'] > 23) && $module['module_type'] != 100)) {
|
||||
$row[5] = $row[__('Status')] = ui_print_status_image(STATUS_MODULE_NO_DATA,
|
||||
@ -559,34 +601,30 @@ class Modules {
|
||||
"&refr=" . $module["module_interval"]."','".$handle."','width=700, height=480')";
|
||||
|
||||
if ($is_snapshot) {
|
||||
|
||||
if (is_image_data($module["datos"])) {
|
||||
$row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' .
|
||||
html_print_image("images/photo.png", true,
|
||||
array("border" => '0',
|
||||
"alt" => "",
|
||||
"title" => __("Snapshot view"))) . '</a> ';
|
||||
if (is_image_data($module["datos"])) {
|
||||
$row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' .
|
||||
html_print_image("images/photo.png", true,
|
||||
array("border" => '0',
|
||||
"alt" => "",
|
||||
"title" => __("Snapshot view"))) . '</a> ';
|
||||
}
|
||||
else {
|
||||
$row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' .
|
||||
html_print_image("images/default_list.png", true,
|
||||
array("border" => '0',
|
||||
"alt" => "",
|
||||
"title" => __("Snapshot view"))) . '</a> ';
|
||||
}
|
||||
}
|
||||
else {
|
||||
$row[7] = $row[__('Data')] = '<span style="white-space: nowrap;">' .
|
||||
'<span style="display: none;" class="show_collapside">' .
|
||||
$row[__('Status')] . ' </span>' .
|
||||
'<a data-ajax="false" class="ui-link" ' .
|
||||
'href="index.php?page=module_graph&id=' .
|
||||
$module['id_agente_modulo'] . '&id_agent=' .
|
||||
$this->id_agent . '">' . $output . '</a>' . '</span>';
|
||||
}
|
||||
else {
|
||||
$row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' .
|
||||
html_print_image("images/default_list.png", true,
|
||||
array("border" => '0',
|
||||
"alt" => "",
|
||||
"title" => __("Snapshot view"))) . '</a> ';
|
||||
|
||||
}
|
||||
}
|
||||
else{
|
||||
|
||||
$row[7] = $row[__('Data')] = '<span style="white-space: nowrap;">' .
|
||||
'<span style="display: none;" class="show_collapside">' .
|
||||
$row[__('Status')] . ' </span>' .
|
||||
'<a data-ajax="false" class="ui-link" ' .
|
||||
'href="index.php?page=module_graph&id=' .
|
||||
$module['id_agente_modulo'] . '&id_agent=' .
|
||||
$this->id_agent . '">' . $output . '</a>' . '</span>';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@ -600,10 +638,10 @@ class Modules {
|
||||
$this->id_agent . '">' . $output . '</a>' . '</span>';*/
|
||||
|
||||
if (!$ajax) {
|
||||
unset($row[0]);
|
||||
if ($this->columns['agent']) {
|
||||
unset($row[0]);
|
||||
unset($row[1]);
|
||||
}
|
||||
unset($row[1]);
|
||||
unset($row[2]);
|
||||
unset($row[4]);
|
||||
unset($row[5]);
|
||||
@ -643,12 +681,12 @@ class Modules {
|
||||
$ui->contentAddHtml($table->getHTML());
|
||||
}
|
||||
else {
|
||||
foreach ($listModules['modules'] as $key => $module) {
|
||||
$listModules['modules'][$key][__('Status')] .=
|
||||
'<span style="display: none;" class="show_collapside">' .
|
||||
$listModules['modules'][$key][__('Data')] .
|
||||
'</span>';
|
||||
}
|
||||
//~ foreach ($listModules['modules'] as $key => $module) {
|
||||
//~ $listModules['modules'][$key][__('Status')] .=
|
||||
//~ '<span style="display: none;" class="show_collapside">' .
|
||||
//~ $listModules['modules'][$key][__('Data')] .
|
||||
//~ '</span>';
|
||||
//~ }
|
||||
|
||||
$table = new Table();
|
||||
$table->id = 'list_agent_Modules';
|
||||
@ -710,9 +748,8 @@ class Modules {
|
||||
else {
|
||||
$.each(data.modules, function(key, module) {
|
||||
$(\"table#list_Modules tbody\").append(\"<tr>\" +
|
||||
\"<th class='head_vertical'></th>\" +
|
||||
\"<td class='cell_1'><b class='ui-table-cell-label'>" . __('Module name') . "</b>\" + module[0] + \"</td>\" +
|
||||
\"<td class='cell_0'><b class='ui-table-cell-label'>" . __('Agent name') . "</b>\" + module[1] + \"</td>\" +
|
||||
\"<td class='cell_0'><b class='ui-table-cell-label'>" . __('Module name') . "</b>\" + module[0] + \"</td>\" +
|
||||
\"<td class='cell_1'><b class='ui-table-cell-label'>" . __('Agent name') . "</b>\" + module[1] + \"</td>\" +
|
||||
\"<td class='cell_2'><b class='ui-table-cell-label'>" . __('Status') . "</b>\" + module[5] + \"</td>\" +
|
||||
\"<td class='cell_3'><b class='ui-table-cell-label'>" . __('Interval') . "</b>\" + module[4] + \"</td>\" +
|
||||
\"<td class='cell_4'><b class='ui-table-cell-label'>" . __('Timestamp') . "</b>\" + module[6] + \"</td>\" +
|
||||
|
@ -207,7 +207,7 @@ class Tactical {
|
||||
}
|
||||
else {
|
||||
max_height = $('#tactical2 .tactical_set').height();
|
||||
$('#tactical1').height(max_height);
|
||||
//~ $('#tactical1').height(max_height);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -617,7 +617,7 @@ $table->rowspan[1][0] = 0;
|
||||
$data[0][2] = '<div style="width:100%; text-align:right">';
|
||||
$data[0][2] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agente.'&refr=60">' . html_print_image("images/refresh.png", true, array("border" => '0', "title" => __('Refresh data'), "alt" => "")) . '</a><br>';
|
||||
if (check_acl ($config["id_user"], $agent["id_grupo"], "AW"))
|
||||
$data[0][2] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&flag_agent=1&id_agente='.$id_agente.'">' . html_print_image("images/target.png", true, array("border" => '0', "title" => __('Force'), "alt" => "")) . '</a>';
|
||||
$data[0][2] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&flag_agent=1&id_agente='.$id_agente.'">' . html_print_image("images/target.png", true, array("border" => '0', "title" => __('Force remote checks'), "alt" => "")) . '</a>';
|
||||
$data[0][2] .= '</div>';
|
||||
|
||||
$table->data = $data;
|
||||
|
@ -192,7 +192,13 @@ if (!empty($tag_with)) {
|
||||
foreach ($tag_with as $id_tag) {
|
||||
if ($first) $first = false;
|
||||
else $sql_post .= " AND ";
|
||||
$sql_post .= "tags LIKE '%" . tags_get_name($id_tag) . "%'";
|
||||
$sql_post .= "tags LIKE '" . tags_get_name($id_tag) . "'";
|
||||
$sql_post .= " OR ";
|
||||
$sql_post .= "tags LIKE '" . tags_get_name($id_tag) . ",%'";
|
||||
$sql_post .= " OR ";
|
||||
$sql_post .= "tags LIKE '%, " . tags_get_name($id_tag) . "'";
|
||||
$sql_post .= " OR ";
|
||||
$sql_post .= "tags LIKE '%, " . tags_get_name($id_tag) . ",%'";
|
||||
}
|
||||
$sql_post .= ' ) ';
|
||||
}
|
||||
|
@ -53,30 +53,6 @@ else {
|
||||
$view_mode = true;
|
||||
}
|
||||
|
||||
if (is_ajax ()) {
|
||||
|
||||
$shortcut_update = get_parameter("shortcut_update", 0);
|
||||
|
||||
// Update of user to show/don't show shortcut bar
|
||||
if ($shortcut_update) {
|
||||
|
||||
// First we get the actual state
|
||||
$shortcut_value = db_get_value_filter('shortcut', 'tusuario', array('id_user' => $id));
|
||||
|
||||
//Deactivate shorcut var
|
||||
if ($shortcut_value == 1) {
|
||||
db_process_sql_update('tusuario', array('shortcut' => 0), array('id_user' => $id));
|
||||
}
|
||||
// Activate shortcut var
|
||||
else {
|
||||
db_process_sql_update('tusuario', array('shortcut' => 1), array('id_user' => $id));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Header
|
||||
if ($meta) {
|
||||
user_meta_print_header();
|
||||
@ -109,7 +85,6 @@ if (isset ($_GET["modified"]) && !$view_mode) {
|
||||
}
|
||||
|
||||
$upd_info["flash_chart"] = get_parameter ("flash_charts", $config["flash_charts"]);
|
||||
$upd_info["shortcut"] = get_parameter ("shortcut_bar", 0);
|
||||
$upd_info["section"] = get_parameter ("section", $user_info["section"]);
|
||||
$upd_info["data_section"] = get_parameter ("data_section", '');
|
||||
$dashboard = get_parameter('dashboard', '');
|
||||
@ -295,10 +270,7 @@ $id_usr = $config['id_user'];
|
||||
|
||||
if (!$meta) {
|
||||
$data = array();
|
||||
$data[0] = '<span style="width:50%;float:left;">'.__('Shortcut bar') . ui_print_help_tip(__('This will activate a shortcut bar with alerts, events, messages... information'), true).'</span>';
|
||||
$data[0] .= $jump . '<span style="width:20%;float:left;line-height:20px;">'.html_print_checkbox('shortcut_bar', 1, $user_info["shortcut"], true).'</span>';
|
||||
|
||||
$data[1] = '<span style="width:40%;float:left;">'.__('Home screen'). ui_print_help_tip(__('User can customize the home page. By default, will display \'Agent Detail\'. Example: Select \'Other\' and type sec=estado&sec2=operation/agentes/estado_agente to show agent detail view'), true).'</span>';
|
||||
$data[0] = '<span style="width:40%;float:left;">'.__('Home screen'). ui_print_help_tip(__('User can customize the home page. By default, will display \'Agent Detail\'. Example: Select \'Other\' and type sec=estado&sec2=operation/agentes/estado_agente to show agent detail view'), true).'</span>';
|
||||
$values = array (
|
||||
'Default' =>__('Default'),
|
||||
'Visual console'=>__('Visual console'),
|
||||
@ -311,7 +283,7 @@ if (!$meta) {
|
||||
$values['Dashboard'] = __('Dashboard');
|
||||
}
|
||||
|
||||
$data[1] .= $jump . '<span style="width:20%;float:left;line-height:20px;">'.html_print_select($values, 'section', io_safe_output($user_info["section"]), 'show_data_section();', '', -1, true, false, false).'</span>';
|
||||
$data[0] .= $jump . '<span style="width:20%;float:left;line-height:20px;">'.html_print_select($values, 'section', io_safe_output($user_info["section"]), 'show_data_section();', '', -1, true, false, false).'</span>';
|
||||
|
||||
if (enterprise_installed()) {
|
||||
$dashboards = get_user_dashboards ($config['id_user']);
|
||||
@ -324,7 +296,7 @@ if (!$meta) {
|
||||
$dashboards_aux[$dashboard['name']] = $dashboard['name'];
|
||||
}
|
||||
}
|
||||
$data[1] .= html_print_select ($dashboards_aux, 'dashboard', $user_info["data_section"], '', '', '', true);
|
||||
$data[0] .= html_print_select ($dashboards_aux, 'dashboard', $user_info["data_section"], '', '', '', true);
|
||||
}
|
||||
|
||||
$layouts = visual_map_get_user_layouts ($config['id_user'], true);
|
||||
@ -337,17 +309,17 @@ if (!$meta) {
|
||||
$layouts_aux[$layout] = $layout;
|
||||
}
|
||||
}
|
||||
$data[1] .= html_print_select ($layouts_aux, 'visual_console', $user_info["data_section"], '', '', '', true);
|
||||
$data[1] .= html_print_input_text ('data_section', $user_info["data_section"], '', 60, 255, true, false);
|
||||
$data[0] .= html_print_select ($layouts_aux, 'visual_console', $user_info["data_section"], '', '', '', true);
|
||||
$data[0] .= html_print_input_text ('data_section', $user_info["data_section"], '', 60, 255, true, false);
|
||||
|
||||
|
||||
|
||||
// User only can change skins if has more than one group
|
||||
$data[2] = '';
|
||||
$data[1] = '';
|
||||
if (function_exists('skins_print_select')) {
|
||||
if (count($usr_groups) > 1) {
|
||||
$data[2] = '<span style="width:30%;float:left;">'.__('Skin').'</span>';
|
||||
$data[2] .= $jump . skins_print_select($id_usr,'skin', $user_info['id_skin'], '', __('None'), 0, true);
|
||||
$data[1] = '<span style="width:30%;float:left;">'.__('Skin').'</span>';
|
||||
$data[1] .= $jump . skins_print_select($id_usr,'skin', $user_info['id_skin'], '', __('None'), 0, true);
|
||||
}
|
||||
}
|
||||
$table->rowclass[] = '';
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_console
|
||||
%define version 6.0SP5
|
||||
%define release 170202
|
||||
%define release 170220
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_console
|
||||
%define version 6.0SP5
|
||||
%define release 170202
|
||||
%define release 170220
|
||||
%define httpd_name httpd
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name apache2
|
||||
|
@ -65,7 +65,7 @@ INSERT INTO tconfig (token, value) VALUES ('graph_res','5');
|
||||
INSERT INTO tconfig (token, value) VALUES ('step_compact','1');
|
||||
INSERT INTO tconfig (token, value) VALUES ('db_scheme_first_version','6.0orc');
|
||||
INSERT INTO tconfig (token, value) VALUES('db_scheme_version','6.0SP5');
|
||||
INSERT INTO tconfig (token, value) VALUES('db_scheme_build','PD170202');
|
||||
INSERT INTO tconfig (token, value) VALUES('db_scheme_build','PD170220');
|
||||
INSERT INTO tconfig (token, value) VALUES ('show_unknown','0');
|
||||
INSERT INTO tconfig (token, value) VALUES ('show_lastalerts','1');
|
||||
INSERT INTO tconfig (token, value) VALUES ('style','pandora');
|
||||
|
@ -1,5 +1,5 @@
|
||||
package: pandorafms-server
|
||||
Version: 6.0SP5-170202
|
||||
Version: 6.0SP5-170220
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
@ -14,7 +14,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="6.0SP5-170202"
|
||||
pandora_version="6.0SP5-170220"
|
||||
|
||||
package_cpan=0
|
||||
package_pandora=1
|
||||
|
@ -43,7 +43,7 @@ our @EXPORT = qw(
|
||||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "6.0SP5";
|
||||
my $pandora_build = "170202";
|
||||
my $pandora_build = "170220";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
# Setup hash
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_server
|
||||
%define version 6.0SP5
|
||||
%define release 170202
|
||||
%define release 170220
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
%define name pandorafms_server
|
||||
%define version 6.0SP5
|
||||
%define release 170202
|
||||
%define release 170220
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
@ -9,7 +9,7 @@
|
||||
# **********************************************************************
|
||||
|
||||
PI_VERSION="6.0SP5"
|
||||
PI_BUILD="170202"
|
||||
PI_BUILD="170220"
|
||||
|
||||
MODE=$1
|
||||
if [ $# -gt 1 ]; then
|
||||
|
@ -33,7 +33,7 @@ use PandoraFMS::Tools;
|
||||
use PandoraFMS::DB;
|
||||
|
||||
# version: define current version
|
||||
my $version = "6.0SP5 PS170202";
|
||||
my $version = "6.0SP5 PS170220";
|
||||
|
||||
# Pandora server configuration
|
||||
my %conf;
|
||||
|
@ -35,7 +35,7 @@ use Encode::Locale;
|
||||
Encode::Locale::decode_argv;
|
||||
|
||||
# version: define current version
|
||||
my $version = "6.0SP5 PS170202";
|
||||
my $version = "6.0SP5 PS170220";
|
||||
|
||||
# save program name for logging
|
||||
my $progname = basename($0);
|
||||
|