Added separated window view to SNMP realtime graphs
This commit is contained in:
parent
32822054d6
commit
bd3f0712f1
|
@ -14,8 +14,10 @@
|
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
include_once('include/graphs/fgraph.php');
|
||||
include_once('include/functions_snmp_browser.php');
|
||||
global $config;
|
||||
|
||||
include_once($config['homedir'] . '/include/graphs/fgraph.php');
|
||||
include_once($config['homedir'] . '/include/functions_snmp_browser.php');
|
||||
|
||||
function pandora_realtime_graphs () {
|
||||
global $config;
|
||||
|
@ -25,8 +27,11 @@ function pandora_realtime_graphs () {
|
|||
$action = get_parameter('action', 'list');
|
||||
|
||||
$onheader = array();
|
||||
|
||||
ui_print_page_header (__("Realtime graphs"), "images/extensions.png", false, "", false, $onheader);
|
||||
|
||||
$hide_header = get_parameter('hide_header', 0);
|
||||
if (!$hide_header) {
|
||||
ui_print_page_header (__("Realtime graphs"), "images/extensions.png", false, "", false, $onheader);
|
||||
}
|
||||
|
||||
$chart[time()]['graph'] = '0';
|
||||
$interactive_graph = true;
|
||||
|
@ -136,6 +141,10 @@ function pandora_realtime_graphs () {
|
|||
snmp_browser_print_container (false, '100%', '60%', 'none');
|
||||
}
|
||||
|
||||
// Print the relative path to AJAX calls:
|
||||
html_print_input_hidden('rel_path', get_parameter('rel_path', ''));
|
||||
|
||||
// Print the form
|
||||
echo '<form id="realgraph" method="post">';
|
||||
html_print_table($table);
|
||||
echo '</form>';
|
||||
|
@ -144,9 +153,9 @@ function pandora_realtime_graphs () {
|
|||
html_print_input_hidden ('custom_action', urlencode (base64_encode(' <a href="javascript:setOID()"><img src="' . ui_get_full_url("images") . '/input_filter.disabled.png" title="' . __("Use this OID") . '" style="vertical-align: middle;"></img></a>')), false);
|
||||
html_print_input_hidden ('incremental_base', '0');
|
||||
|
||||
echo '<script type="text/javascript" src="extensions/realtime_graphs/realtime_graphs.js"></script>';
|
||||
echo '<script type="text/javascript" src="include/javascript/pandora_snmp_browser.js"></script>';
|
||||
echo '<link rel="stylesheet" type="text/css" href="extensions/realtime_graphs/realtime_graphs.css"></style>';
|
||||
echo '<script type="text/javascript" src="'.ui_get_full_url("extensions/realtime_graphs/realtime_graphs.js").'"></script>';
|
||||
echo '<script type="text/javascript" src="'.ui_get_full_url("include/javascript/pandora_snmp_browser.js").'"></script>';
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.ui_get_full_url("extensions/realtime_graphs/realtime_graphs.css").'"></style>';
|
||||
|
||||
// Store servers timezone offset to be retrieved from js
|
||||
set_js_value('timezone_offset', date('Z', time()));
|
||||
|
|
|
@ -58,9 +58,11 @@ function refresh_graph () {
|
|||
postvars['snmp_address'] = $('#text-ip_target').val();
|
||||
|
||||
postvars['refresh'] = refresh;
|
||||
|
||||
|
||||
var rel_path = $("#hidden-rel_path").val();
|
||||
|
||||
$.ajax({
|
||||
url: "extensions/realtime_graphs/ajax.php",
|
||||
url: rel_path + "extensions/realtime_graphs/ajax.php",
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
data: postvars,
|
||||
|
|
|
@ -92,28 +92,27 @@ function extensions_is_extension ($page) {
|
|||
*
|
||||
* @param bool $enterprise
|
||||
*/
|
||||
function extensions_get_extensions ($enterprise = false) {
|
||||
|
||||
$dir = EXTENSIONS_DIR;
|
||||
$master_dir = ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
||||
function extensions_get_extensions ($enterprise = false, $rel_path = '') {
|
||||
|
||||
$dir = $rel_path . EXTENSIONS_DIR;
|
||||
$master_dir = $rel_path . ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
||||
$handle = false;
|
||||
if ($enterprise) {
|
||||
$dir = ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
||||
$dir = $rel_path . ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
||||
if (defined("METACONSOLE")) {
|
||||
$dir = '../' . EXTENSIONS_DIR;
|
||||
$master_dir = '../' . EXTENSIONS_DIR;
|
||||
$dir = $rel_path . '../' . EXTENSIONS_DIR;
|
||||
$master_dir = $rel_path . '../' . EXTENSIONS_DIR;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (defined("METACONSOLE")) {
|
||||
$dir = '../../' . $dir;
|
||||
$master_dir = '../' . EXTENSIONS_DIR;
|
||||
$dir = $rel_path . '../../' . $dir;
|
||||
$master_dir = $rel_path . '../' . EXTENSIONS_DIR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (file_exists ($dir))
|
||||
$handle = @opendir ($dir);
|
||||
|
||||
if (empty ($handle))
|
||||
return;
|
||||
|
||||
|
@ -148,7 +147,7 @@ function extensions_get_extensions ($enterprise = false) {
|
|||
|
||||
/* Load extensions in enterprise directory */
|
||||
if (! $enterprise && file_exists ($master_dir))
|
||||
return array_merge ($extensions, extensions_get_extensions (true));
|
||||
return array_merge ($extensions, extensions_get_extensions (true, $rel_path));
|
||||
|
||||
return $extensions;
|
||||
}
|
||||
|
|
|
@ -2711,11 +2711,13 @@ function get_module_realtime_link_graph ($module) {
|
|||
'snmp_address' => $module['ip_target'],
|
||||
'snmp_community' => $module['snmp_community'],
|
||||
'snmp_oid' => $module['snmp_oid'],
|
||||
'snmp_ver' => $module['tcp_send']
|
||||
'snmp_ver' => $module['tcp_send'],
|
||||
'hide_header' => 1,
|
||||
'rel_path' => '../../'
|
||||
);
|
||||
// Incremental type
|
||||
if ($module['id_tipo_modulo'] == 16) $params['incremental'] = 1;
|
||||
$link = "index.php?sec=view&sec2=extensions/realtime_graphs&"; //FIXME: Not definitive URL
|
||||
$link = "operation/agentes/realtime_win.php?";
|
||||
foreach ($params as $p_key => $p_value) {
|
||||
$link .= "$p_key=" . urlencode(io_safe_output($p_value)) . "&";
|
||||
}
|
||||
|
@ -2723,7 +2725,7 @@ function get_module_realtime_link_graph ($module) {
|
|||
|
||||
$win_handle = "realtime_" . dechex(crc32($module["id_agente_modulo"].$module["nombre"]));
|
||||
|
||||
$link_button = '<a href="javascript:winopeng(\''.$link.'\',\''.$win_handle.'\')">' .
|
||||
$link_button = '<a href="javascript:winopeng_var(\''.$link.'\',\''.$win_handle.'\', 850, 480)">' .
|
||||
html_print_image("images/chart_curve.png", true, array("border" => '0', "alt" => "")) . //FIXME: Not definitive image
|
||||
'</a> ';
|
||||
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
<?php
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2018 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
|
||||
if (! isset($_SESSION['id_usuario'])) {
|
||||
session_start();
|
||||
//session_write_close();
|
||||
}
|
||||
|
||||
// Global & session management
|
||||
require_once ('../../include/config.php');
|
||||
require_once ($config['homedir'] . '/include/auth/mysql.php');
|
||||
require_once ($config['homedir'] . '/include/functions.php');
|
||||
require_once ($config['homedir'] . '/include/functions_db.php');
|
||||
require_once ($config['homedir'] . '/include/functions_reporting.php');
|
||||
require_once ($config['homedir'] . '/include/functions_graph.php');
|
||||
require_once ($config['homedir'] . '/include/functions_modules.php');
|
||||
require_once ($config['homedir'] . '/include/functions_agents.php');
|
||||
require_once ($config['homedir'] . '/include/functions_tags.php');
|
||||
require_once ($config['homedir'] . '/include/functions_extensions.php');
|
||||
check_login ();
|
||||
|
||||
// Metaconsole connection to the node
|
||||
$server_id = (int) get_parameter("server");
|
||||
if (is_metaconsole() && !empty($server_id)) {
|
||||
$server = metaconsole_get_connection_by_id($server_id);
|
||||
|
||||
// Error connecting
|
||||
if (metaconsole_connect($server) !== NOERR) {
|
||||
echo "<html>";
|
||||
echo "<body>";
|
||||
ui_print_error_message(__('There was a problem connecting with the node'));
|
||||
echo "</body>";
|
||||
echo "</html>";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$user_language = get_user_language ($config['id_user']);
|
||||
if (file_exists ('../../include/languages/'.$user_language.'.mo')) {
|
||||
$l10n = new gettext_reader (new CachedFileReader ('../../include/languages/'.$user_language.'.mo'));
|
||||
$l10n->load_tables();
|
||||
}
|
||||
|
||||
echo '<link rel="stylesheet" href="../../include/styles/pandora.css" type="text/css"/>';
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<?php
|
||||
// Parsing the refresh before sending any header
|
||||
$refresh = (int) get_parameter ("refresh", -1);
|
||||
if ($refresh > 0) {
|
||||
$query = ui_get_url_refresh (false);
|
||||
echo '<meta http-equiv="refresh" content="'.$refresh.'; URL='.$query.'" />';
|
||||
}
|
||||
?>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Pandora FMS Realtime Module Graph</title>
|
||||
<link rel="stylesheet" href="../../include/styles/pandora_minimal.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../include/styles/jquery-ui-1.10.0.custom.css" type="text/css" />
|
||||
<script type='text/javascript' src='../../include/javascript/pandora.js'></script>
|
||||
<script type='text/javascript' src='../../include/javascript/jquery-1.9.0.js'></script>
|
||||
<script type='text/javascript' src='../../include/javascript/jquery.pandora.js'></script>
|
||||
<script type='text/javascript' src='../../include/javascript/jquery.jquery-ui-1.10.0.custom.js'></script>
|
||||
<?php
|
||||
//Include the javascript for the js charts library
|
||||
include_once($config["homedir"] . '/include/graphs/functions_flot.php');
|
||||
include_javascript_dependencies_flot_graph();
|
||||
?>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" style='background:#ffffff;'>
|
||||
<?php
|
||||
$config['extensions'] = extensions_get_extensions (false, '../../');
|
||||
if (!extensions_is_enabled_extension("realtime_graphs.php")) {
|
||||
ui_print_error_message(__('Realtime extension is not enabled.'));
|
||||
return;
|
||||
} else {
|
||||
include_once('../../extensions/realtime_graphs.php');
|
||||
}
|
||||
pandora_realtime_graphs();
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
// Echo the script tags of the datepicker and the timepicker
|
||||
// Modify the user language cause the ui.datepicker language files use - instead _
|
||||
$custom_user_language = str_replace('_', '-', $user_language);
|
||||
ui_require_jquery_file("ui.datepicker-" . $custom_user_language, "include/javascript/i18n/", true);
|
||||
ui_include_time_picker(true);
|
||||
?>
|
Loading…
Reference in New Issue