pandorafms/pandora_console/include/graphs/functions_flot.php

997 lines
30 KiB
PHP
Raw Normal View History

<?PHP
// Copyright (c) 2007-2008 Sancho Lerena, slerena@gmail.com
// Copyright (c) 2008 Esteban Sanchez, estebans@artica.es
// Copyright (c) 2007-2011 Artica, info@artica.es
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License
// (LGPL) 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 Lesser General Public License for more details.
//JQuery 1.6.1 library addition
global $config;
function include_javascript_dependencies_flot_graph($return = false) {
global $config;
static $is_include_javascript = false;
if (!$is_include_javascript) {
$is_include_javascript = true;
$metaconsole_hack = '';
if (defined('METACONSOLE')) {
$metaconsole_hack = '../../';
}
// NOTE: jquery.flot.threshold is not te original file. Is patched to allow multiple thresholds and filled area
$output = '
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="' . ui_get_full_url($metaconsole_hack . '/include/graphs/flot/excanvas.js') . '"></script><![endif]-->
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.min.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.pie.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.crosshair.min.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.stack.min.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.selection.min.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.resize.min.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.threshold.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.symbol.min.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.exportdata.pandora.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/jquery.flot.axislabels.js') .'"></script>
<script language="javascript" type="text/javascript" src="'.
ui_get_full_url($metaconsole_hack . '/include/graphs/flot/pandora.flot.js') .'"></script>';
$output .= "
<script type='text/javascript'>
var precision_graph = " . $config['graph_precision'] . ";
function pieHover(event, pos, obj)
{
if (!obj)
return;
percent = parseFloat(obj.series.percent).toFixed(2);
$('#hover').html('<span style=\'font-weight: bold; color: '+obj.series.color+'\'>'+obj.series.label+' ('+percent+'%)</span>');
$('.legendLabel').each(function() {
if ($(this).html() == obj.series.label) {
$(this).css('font-weight','bold');
}
else {
$(this).css('font-weight','');
}
});
}
function pieClick(event, pos, obj)
{
if (!obj)
return;
percent = parseFloat(obj.series.percent).toFixed(2);
2013-04-10 Sergio Martin <sergio.martin@artica.es> * L . L pandora_console L pandora_console/DEBIAN L pandora_console/include M pandora_console/include/functions_html.php L pandora_console/include/styles D pandora_console/include/styles/tip.css M pandora_console/include/styles/menu.css L pandora_console/include/styles/images M pandora_console/include/styles/pandora.css M pandora_console/include/functions_visual_map_editor.php M pandora_console/include/functions_groups.php L pandora_console/include/ajax M pandora_console/include/ajax/events.php M pandora_console/include/ajax/module.php L pandora_console/include/swiftmailer L pandora_console/include/swiftmailer/classes L pandora_console/include/swiftmailer/classes/Swift L pandora_console/include/swiftmailer/classes/Swift/ByteStream L pandora_console/include/swiftmailer/classes/Swift/Encoder L pandora_console/include/swiftmailer/classes/Swift/Plugins L pandora_console/include/swiftmailer/classes/Swift/Plugins/Decorator L pandora_console/include/swiftmailer/classes/Swift/Plugins/Reporters L pandora_console/include/swiftmailer/classes/Swift/Plugins/Pop L pandora_console/include/swiftmailer/classes/Swift/Plugins/Loggers L pandora_console/include/swiftmailer/classes/Swift/Mime L pandora_console/include/swiftmailer/classes/Swift/Mime/HeaderEncoder L pandora_console/include/swiftmailer/classes/Swift/Mime/ContentEncoder L pandora_console/include/swiftmailer/classes/Swift/Mime/Headers L pandora_console/include/swiftmailer/classes/Swift/Transport L pandora_console/include/swiftmailer/classes/Swift/Transport/Esmtp L pandora_console/include/swiftmailer/classes/Swift/Transport/Esmtp/Auth L pandora_console/include/swiftmailer/classes/Swift/CharacterReaderFactory L pandora_console/include/swiftmailer/classes/Swift/KeyCache L pandora_console/include/swiftmailer/classes/Swift/CharacterReader L pandora_console/include/swiftmailer/classes/Swift/StreamFilters L pandora_console/include/swiftmailer/classes/Swift/Events L pandora_console/include/swiftmailer/classes/Swift/CharacterStream L pandora_console/include/swiftmailer/classes/Swift/Mailer L pandora_console/include/swiftmailer/dependency_maps M pandora_console/include/functions_ui.php M pandora_console/include/functions.php M pandora_console/include/functions_agents.php L pandora_console/include/languages L pandora_console/include/languages/datepicker M pandora_console/include/functions_graph.php M pandora_console/include/functions_events.php M pandora_console/include/functions_menu.php L pandora_console/include/graphs L pandora_console/include/graphs/pChart L pandora_console/include/graphs/pChart/palettes L pandora_console/include/graphs/pChart/fonts L pandora_console/include/graphs/pChart/cache L pandora_console/include/graphs/pChart/data M pandora_console/include/graphs/functions_flot.php L pandora_console/include/graphs/flot M pandora_console/include/graphs/functions_gd.php L pandora_console/include/graphs/images_graphs L pandora_console/include/db M pandora_console/include/functions_reporting.php L pandora_console/include/fonts L pandora_console/include/auth L pandora_console/include/javascript M pandora_console/include/javascript/openlayers.pandora.js L pandora_console/include/javascript/tiny_mce L pandora_console/include/javascript/tiny_mce/utils L pandora_console/include/javascript/tiny_mce/plugins L pandora_console/include/javascript/tiny_mce/plugins/media L pandora_console/include/javascript/tiny_mce/plugins/media/langs L pandora_console/include/javascript/tiny_mce/plugins/media/css L pandora_console/include/javascript/tiny_mce/plugins/media/js L pandora_console/include/javascript/tiny_mce/plugins/pagebreak L pandora_console/include/javascript/tiny_mce/plugins/insertdatetime L pandora_console/include/javascript/tiny_mce/plugins/noneditable L pandora_console/include/javascript/tiny_mce/plugins/inlinepopups L pandora_console/include/javascript/tiny_mce/plugins/inlinepopups/skins L pandora_console/include/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2 L pandora_console/include/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img L pandora_console/include/javascript/tiny_mce/plugins/autolink L pandora_console/include/javascript/tiny_mce/plugins/example_dependency L pandora_console/include/javascript/tiny_mce/plugins/autoresize L pandora_console/include/javascript/tiny_mce/plugins/example L pandora_console/include/javascript/tiny_mce/plugins/example/langs L pandora_console/include/javascript/tiny_mce/plugins/example/img L pandora_console/include/javascript/tiny_mce/plugins/example/js L pandora_console/include/javascript/tiny_mce/plugins/emotions L pandora_console/include/javascript/tiny_mce/plugins/emotions/langs L pandora_console/include/javascript/tiny_mce/plugins/emotions/img L pandora_console/include/javascript/tiny_mce/plugins/emotions/js L pandora_console/include/javascript/tiny_mce/plugins/iespell L pandora_console/include/javascript/tiny_mce/plugins/save L pandora_console/include/javascript/tiny_mce/plugins/lists L pandora_console/include/javascript/tiny_mce/plugins/visualblocks L pandora_console/include/javascript/tiny_mce/plugins/visualblocks/css L pandora_console/include/javascript/tiny_mce/plugins/advhr L pandora_console/include/javascript/tiny_mce/plugins/advhr/langs L pandora_console/include/javascript/tiny_mce/plugins/advhr/css L pandora_console/include/javascript/tiny_mce/plugins/advhr/js L pandora_console/include/javascript/tiny_mce/plugins/advlist L pandora_console/include/javascript/tiny_mce/plugins/tabfocus L pandora_console/include/javascript/tiny_mce/plugins/layer L pandora_console/include/javascript/tiny_mce/plugins/advimage L pandora_console/include/javascript/tiny_mce/plugins/advimage/langs L pandora_console/include/javascript/tiny_mce/plugins/advimage/css L pandora_console/include/javascript/tiny_mce/plugins/advimage/img L pandora_console/include/javascript/tiny_mce/plugins/advimage/js L pandora_console/include/javascript/tiny_mce/plugins/preview L pandora_console/include/javascript/tiny_mce/plugins/preview/jscripts L pandora_console/include/javascript/tiny_mce/plugins/directionality L pandora_console/include/javascript/tiny_mce/plugins/wordcount L pandora_console/include/javascript/tiny_mce/plugins/visualchars L pandora_console/include/javascript/tiny_mce/plugins/legacyoutput L pandora_console/include/javascript/tiny_mce/plugins/autosave L pandora_console/include/javascript/tiny_mce/plugins/table L pandora_console/include/javascript/tiny_mce/plugins/table/langs L pandora_console/include/javascript/tiny_mce/plugins/table/css L pandora_console/include/javascript/tiny_mce/plugins/table/js L pandora_console/include/javascript/tiny_mce/plugins/advlink L pandora_console/include/javascript/tiny_mce/plugins/advlink/langs L pandora_console/include/javascript/tiny_mce/plugins/advlink/css L pandora_console/include/javascript/tiny_mce/plugins/advlink/js L pandora_console/include/javascript/tiny_mce/plugins/print L pandora_console/include/javascript/tiny_mce/plugins/nonbreaking L pandora_console/include/javascript/tiny_mce/plugins/fullpage L pandora_console/include/javascript/tiny_mce/plugins/fullpage/langs L pandora_console/include/javascript/tiny_mce/plugins/fullpage/css L pandora_console/include/javascript/tiny_mce/plugins/fullpage/js L pandora_console/include/javascript/tiny_mce/plugins/style L pandora_console/include/javascript/tiny_mce/plugins/style/langs L pandora_console/include/javascript/tiny_mce/plugins/style/css L pandora_console/include/javascript/tiny_mce/plugins/style/js L pandora_console/include/javascript/tiny_mce/plugins/searchreplace L pandora_console/include/javascript/tiny_mce/plugins/searchreplace/langs L pandora_console/include/javascript/tiny_mce/plugins/searchreplace/css L pandora_console/include/javascript/tiny_mce/plugins/searchreplace/js L pandora_console/include/javascript/tiny_mce/plugins/fullscreen L pandora_console/include/javascript/tiny_mce/plugins/spellchecker L pandora_console/include/javascript/tiny_mce/plugins/spellchecker/includes L pandora_console/include/javascript/tiny_mce/plugins/spellchecker/css L pandora_console/include/javascript/tiny_mce/plugins/spellchecker/img L pandora_console/include/javascript/tiny_mce/plugins/spellchecker/classes L pandora_console/include/javascript/tiny_mce/plugins/spellchecker/classes/utils L pandora_console/include/javascript/tiny_mce/plugins/contextmenu L pandora_console/include/javascript/tiny_mce/plugins/template L pandora_console/include/javascript/tiny_mce/plugins/template/langs L pandora_console/include/javascript/tiny_mce/plugins/template/css L pandora_console/include/javascript/tiny_mce/plugins/template/js L pandora_console/include/javascript/tiny_mce/plugins/paste L pandora_console/include/javascript/tiny_mce/plugins/paste/langs L pandora_console/include/javascript/tiny_mce/plugins/paste/js L pandora_console/include/javascript/tiny_mce/plugins/bbcode L pandora_console/include/javascript/tiny_mce/plugins/xhtmlxtras L pandora_console/include/javascript/tiny_mce/plugins/xhtmlxtras/langs L pandora_console/include/javascript/tiny_mce/plugins/xhtmlxtras/css L pandora_console/include/javascript/tiny_mce/plugins/xhtmlxtras/js L pandora_console/include/javascript/tiny_mce/langs L pandora_console/include/javascript/tiny_mce/themes L pandora_console/include/javascript/tiny_mce/themes/advanced L pandora_console/include/javascript/tiny_mce/themes/advanced/langs L pandora_console/include/javascript/tiny_mce/themes/advanced/skins L pandora_console/include/javascript/tiny_mce/themes/advanced/skins/o2k7 L pandora_console/include/javascript/tiny_mce/themes/advanced/skins/o2k7/img L pandora_console/include/javascript/tiny_mce/themes/advanced/skins/default L pandora_console/include/javascript/tiny_mce/themes/advanced/skins/default/img L pandora_console/include/javascript/tiny_mce/themes/advanced/skins/highcontrast L pandora_console/include/javascript/tiny_mce/themes/advanced/img L pandora_console/include/javascript/tiny_mce/themes/advanced/js L pandora_console/include/javascript/tiny_mce/themes/simple L pandora_console/include/javascript/tiny_mce/themes/simple/langs L pandora_console/include/javascript/tiny_mce/themes/simple/skins L pandora_console/include/javascript/tiny_mce/themes/simple/skins/o2k7 L pandora_console/include/javascript/tiny_mce/themes/simple/skins/o2k7/img L pandora_console/include/javascript/tiny_mce/themes/simple/skins/default L pandora_console/include/javascript/tiny_mce/themes/simple/img M pandora_console/include/javascript/jquery.pandora.js L pandora_console/include/javascript/OpenLayers L pandora_console/include/javascript/OpenLayers/theme L pandora_console/include/javascript/OpenLayers/theme/default L pandora_console/include/javascript/OpenLayers/theme/default/img L pandora_console/include/javascript/OpenLayers/img L pandora_console/include/sounds L pandora_console/include/Image M pandora_console/include/functions_config.php L pandora_console/include/help L pandora_console/include/help/en L pandora_console/include/help/es L pandora_console/include/help/ja M pandora_console/include/functions_snmp_browser.php M pandora_console/include/constants.php M pandora_console/ChangeLog L pandora_console/attachment L pandora_console/attachment/mibs L pandora_console/attachment/plugin M pandora_console/index.php L pandora_console/extensions L pandora_console/extensions/dbmanager M pandora_console/extensions/agents_alerts.php L pandora_console/extensions/module_groups D pandora_console/extensions/module_groups/brick.png M pandora_console/extensions/net_tools.php M pandora_console/extensions/agents_modules.php L pandora_console/extensions/users M pandora_console/extensions/ssh_gateway.php L pandora_console/extensions/net_tools M pandora_console/extensions/net_tools/nettool.png M pandora_console/extensions/vnc_view.php M pandora_console/extensions/dbmanager.php L pandora_console/extensions/agents_modules M pandora_console/extensions/users_connected.php M pandora_console/extensions/module_groups.php L pandora_console/extensions/update_manager L pandora_console/extensions/update_manager/sql L pandora_console/extensions/update_manager/lang L pandora_console/extensions/update_manager/lib M pandora_console/extensions/update_manager/lib/functions.ajax.php L pandora_console/extensions/update_manager/lib/xmlrpc M pandora_console/extensions/update_manager/main.php L pandora_console/extensions/ssh_gateway M pandora_console/extensions/ssh_gateway/secure_console.png L pandora_console/operation L pandora_console/operation/incidents A pandora_console/operation/search_reports.getdata.php A pandora_console/operation/search_users.getdata.php M pandora_console/operation/tree.php L pandora_console/operation/visual_console M pandora_console/operation/visual_console/render_view.php A pandora_console/operation/search_modules.getdata.php A pandora_console/operation/search_main.php L pandora_console/operation/tree L pandora_console/operation/users M pandora_console/operation/users/webchat.php M pandora_console/operation/users/user_edit.php A pandora_console/operation/search_agents.getdata.php L pandora_console/operation/events M pandora_console/operation/events/events.build_table.php M pandora_console/operation/events/event_statistics.php M pandora_console/operation/events/events_list.php M pandora_console/operation/events/events.php A pandora_console/operation/search_graphs.getdata.php L pandora_console/operation/messages M pandora_console/operation/messages/message_edit.php M pandora_console/operation/messages/message_list.php M pandora_console/operation/search_reports.php L pandora_console/operation/reporting M pandora_console/operation/reporting/reporting_viewer.php M pandora_console/operation/reporting/graph_viewer.php M pandora_console/operation/search_users.php M pandora_console/operation/search_results.php A pandora_console/operation/search_alerts.getdata.php M pandora_console/operation/search_modules.php A pandora_console/operation/search_maps.getdata.php L pandora_console/operation/agentes D pandora_console/operation/agentes/datos_agente.php M pandora_console/operation/agentes/alerts_status.php M pandora_console/operation/agentes/estado_generalagente.php M pandora_console/operation/agentes/estado_agente.php M pandora_console/operation/agentes/networkmap.topology.php M pandora_console/operation/agentes/networkmap.groups.php M pandora_console/operation/agentes/exportdata.php M pandora_console/operation/agentes/networkmap_list.php M pandora_console/operation/agentes/agent_fields.php M pandora_console/operation/agentes/tactical.php M pandora_console/operation/agentes/group_view.php M pandora_console/operation/agentes/networkmap.php L pandora_console/operation/servers M pandora_console/operation/servers/recon_view.php M pandora_console/operation/search_agents.php M pandora_console/operation/search_graphs.php L pandora_console/operation/snmpconsole M pandora_console/operation/snmpconsole/snmp_mib_uploader.php M pandora_console/operation/snmpconsole/snmp_browser.php M pandora_console/operation/snmpconsole/snmp_view.php L pandora_console/operation/integria_incidents L pandora_console/operation/gis_maps M pandora_console/operation/gis_maps/render_view.php M pandora_console/operation/gis_maps/index.php M pandora_console/operation/search_alerts.php M pandora_console/operation/search_maps.php L pandora_console/operation/netflow M pandora_console/operation/netflow/nf_live_view.php L pandora_console/images M pandora_console/images/global.png A pandora_console/images/op_events.png A pandora_console/images/zoom_mc.png A pandora_console/images/input_zoom.png M pandora_console/images/pencil.png A pandora_console/images/menu_op_mark.png M pandora_console/images/unlinkpolicy.png A pandora_console/images/gm_setup.png M pandora_console/images/min.png M pandora_console/images/zoom.png M pandora_console/images/max.png A pandora_console/images/builder.png A pandora_console/images/policies_mc.png A pandora_console/images/op_workspace.png M pandora_console/images/user_green.png A pandora_console/images/agent.png A pandora_console/images/performance.png M pandora_console/images/ok.png A pandora_console/images/event_responses.png A pandora_console/images/agent_warning.png A pandora_console/images/module_critical.png A pandora_console/images/op_recon.png A pandora_console/images/email_mc.png A pandora_console/images/add_mc.png M pandora_console/images/go_first.png A pandora_console/images/gm_alerts.png A pandora_console/images/filter.png A pandora_console/images/header_user.png A pandora_console/images/gm_massive_operations.png M pandora_console/images/add.disabled.png A pandora_console/images/gm_netflow.png M pandora_console/images/percentile_item.disabled.png A pandora_console/images/alerts_extern.png M pandora_console/images/vnc.png A pandora_console/images/op_alerts.png A pandora_console/images/op_inventory.png M pandora_console/images/chart_curve.png L pandora_console/images/custom_logo M pandora_console/images/email_open.png A pandora_console/images/button_background.png M pandora_console/images/link2.png A pandora_console/images/control_stop_col.png M pandora_console/images/target.png M pandora_console/images/box.png M pandora_console/images/zoom_cross.png M pandora_console/images/cross.disabled.png A pandora_console/images/filter_mc.png M pandora_console/images/note.png M pandora_console/images/rss.png A pandora_console/images/blade.png A pandora_console/images/lock_mc.png A pandora_console/images/agent_critical.png M pandora_console/images/bell_pause.png M pandora_console/images/chart_curve.disabled.png L pandora_console/images/backgrounds A pandora_console/images/enterprise.png L pandora_console/images/skin L pandora_console/images/skin/skin_default L pandora_console/images/skin/skin_default/include L pandora_console/images/skin/skin_default/include/styles M pandora_console/images/skin/skin_default/include/styles/menu.css M pandora_console/images/skin/skin_default/include/styles/pandora.css L pandora_console/images/skin/skin_default/images A pandora_console/images/skin/skin_default/images/operating_system.png A pandora_console/images/skin/skin_default/images/snmp_wizard.png A pandora_console/images/skin/skin_default/images/global.png A pandora_console/images/skin/skin_default/images/op_events.png A pandora_console/images/skin/skin_default/images/bell_extern.png A pandora_console/images/skin/skin_default/images/go_next.png A pandora_console/images/skin/skin_default/images/policies.png A pandora_console/images/skin/skin_default/images/pencil.png A pandora_console/images/skin/skin_default/images/header_ready.png A pandora_console/images/skin/skin_default/images/agent_unknown.png A pandora_console/images/skin/skin_default/images/bell.png A pandora_console/images/skin/skin_default/images/policies_error.png A pandora_console/images/skin/skin_default/images/unlinkpolicy.png A pandora_console/images/skin/skin_default/images/gm_setup.png A pandora_console/images/skin/skin_default/images/policies_mc.png A pandora_console/images/skin/skin_default/images/builder.png A pandora_console/images/skin/skin_default/images/camera.png A pandora_console/images/skin/skin_default/images/go_last.png A pandora_console/images/skin/skin_default/images/gm_policies.png A pandora_console/images/skin/skin_default/images/op_workspace.png A pandora_console/images/skin/skin_default/images/box.disabled.png A pandora_console/images/skin/skin_default/images/agent.png A pandora_console/images/skin/skin_default/images/setup.png A pandora_console/images/skin/skin_default/images/sitemap_color.png A pandora_console/images/skin/skin_default/images/go_previous.png A pandora_console/images/skin/skin_default/images/performance.png A pandora_console/images/skin/skin_default/images/control_next.png A pandora_console/images/skin/skin_default/images/policies_brick.png A pandora_console/images/skin/skin_default/images/event_responses.png A pandora_console/images/skin/skin_default/images/services.png A pandora_console/images/skin/skin_default/images/email_outbox.png A pandora_console/images/skin/skin_default/images/lock.png A pandora_console/images/skin/skin_default/images/sound.png L pandora_console/images/skin/skin_default/images/os_icons A pandora_console/images/skin/skin_default/images/god1.png A pandora_console/images/skin/skin_default/images/gm_modules.png A pandora_console/images/skin/skin_default/images/plugin.png A pandora_console/images/skin/skin_default/images/god7.png A pandora_console/images/skin/skin_default/images/html.png A pandora_console/images/skin/skin_default/images/op_recon.png A pandora_console/images/skin/skin_default/images/control_play.png A pandora_console/images/skin/skin_default/images/gm_gis.png A pandora_console/images/skin/skin_default/images/header_refresh.png A pandora_console/images/skin/skin_default/images/email_mc.png A pandora_console/images/skin/skin_default/images/add_mc.png A pandora_console/images/skin/skin_default/images/op_reporting.png A pandora_console/images/skin/skin_default/images/config.disabled.png A pandora_console/images/skin/skin_default/images/list.png A pandora_console/images/skin/skin_default/images/tag_red.disabled.png A pandora_console/images/skin/skin_default/images/go_first.png A pandora_console/images/skin/skin_default/images/gm_servers.png A pandora_console/images/skin/skin_default/images/gm_alerts.png A pandora_console/images/skin/skin_default/images/linkpolicy.png A pandora_console/images/skin/skin_default/images/books.png A pandora_console/images/skin/skin_default/images/reporting32.png A pandora_console/images/skin/skin_default/images/op_gis.png A pandora_console/images/skin/skin_default/images/version.png A pandora_console/images/skin/skin_default/images/policies_error_db.png A pandora_console/images/skin/skin_default/images/filter.png A pandora_console/images/skin/skin_default/images/chart_bar.png A pandora_console/images/skin/skin_default/images/grid.png A pandora_console/images/skin/skin_default/images/header_user.png A pandora_console/images/skin/skin_default/images/bell_error.png A pandora_console/images/skin/skin_default/images/normal_screen.png A pandora_console/images/skin/skin_default/images/brick.png A pandora_console/images/skin/skin_default/images/gm_massive_operations.png A pandora_console/images/skin/skin_default/images/policies_ok.png A pandora_console/images/skin/skin_default/images/gm_netflow.png A pandora_console/images/skin/skin_default/images/advanced.png A pandora_console/images/skin/skin_default/images/csv_mc.png A pandora_console/images/skin/skin_default/images/op_snmp.png A pandora_console/images/skin/skin_default/images/save_mc.png A pandora_console/images/skin/skin_default/images/snmp.png A pandora_console/images/skin/skin_default/images/load.png A pandora_console/images/skin/skin_default/images/alerts_extern.png A pandora_console/images/skin/skin_default/images/header_logout.png A pandora_console/images/skin/skin_default/images/vnc.png A pandora_console/images/skin/skin_default/images/op_alerts.png A pandora_console/images/skin/skin_default/images/grid.disabled.png A pandora_console/images/skin/skin_default/images/chart_bar.disabled.png A pandora_console/images/skin/skin_default/images/op_inventory.png A pandora_console/images/skin/skin_default/images/photo.disabled.png A pandora_console/images/skin/skin_default/images/disk.disabled.png A pandora_console/images/skin/skin_default/images/chart_curve.png A pandora_console/images/skin/skin_default/images/recon.png A pandora_console/images/skin/skin_default/images/camera_mc.png A pandora_console/images/skin/skin_default/images/gm_db.png A pandora_console/images/skin/skin_default/images/reporting.png A pandora_console/images/skin/skin_default/images/custom_field.png A pandora_console/images/skin/skin_default/images/control_pause.png A pandora_console/images/skin/skin_default/images/key.png L pandora_console/images/skin/skin_default/images/mimetypes A pandora_console/images/skin/skin_default/images/wmi.png A pandora_console/images/skin/skin_default/images/link.png A pandora_console/images/skin/skin_default/images/cross.disabled.png A pandora_console/images/skin/skin_default/images/header_email.png A pandora_console/images/skin/skin_default/images/control_play_col.png A pandora_console/images/skin/skin_default/images/filter_mc.png A pandora_console/images/skin/skin_default/images/blade.png A pandora_console/images/skin/skin_default/images/lock_mc.png A pandora_console/images/skin/skin_default/images/bell_pause.png A pandora_console/images/skin/skin_default/images/chart_curve.disabled.png A pandora_console/images/skin/skin_default/images/header_down.png A pandora_console/images/skin/skin_default/images/enterprise.png A pandora_console/images/skin/skin_default/images/profiles.png A pandora_console/images/skin/skin_default/images/gm_users.png A pandora_console/images/skin/skin_default/images/email_inbox.png A pandora_console/images/skin/skin_default/images/header_chat.png A pandora_console/images/skin/skin_default/images/wand_sla.png A pandora_console/images/skin/skin_default/images/collection.png A pandora_console/images/skin/skin_default/images/god2.png A pandora_console/images/skin/skin_default/images/god4.png A pandora_console/images/skin/skin_default/images/inventory.png A pandora_console/images/skin/skin_default/images/header_user_admin.png A pandora_console/images/skin/skin_default/images/god6.png A pandora_console/images/skin/skin_default/images/header_help.png A pandora_console/images/skin/skin_default/images/gm_log.png A pandora_console/images/skin/skin_default/images/tag.png A pandora_console/images/skin/skin_default/images/control_prev.png A pandora_console/images/skin/skin_default/images/agent_mc.png A pandora_console/images/skin/skin_default/images/delete_mc.png A pandora_console/images/skin/skin_default/images/pen.png A pandora_console/images/skin/skin_default/images/plus.png L pandora_console/images/skin/skin_default/images/groups_small A pandora_console/images/skin/skin_default/images/module.png A pandora_console/images/skin/skin_default/images/gm_events.png A pandora_console/images/skin/skin_default/images/photo.png A pandora_console/images/skin/skin_default/images/csv.png A pandora_console/images/skin/skin_default/images/new_message.png A pandora_console/images/skin/skin_default/images/templates.png A pandora_console/images/skin/skin_default/images/book_edit.png A pandora_console/images/skin/skin_default/images/events_list.png A pandora_console/images/skin/skin_default/images/policies_cog.png A pandora_console/images/skin/skin_default/images/operation.png A pandora_console/images/skin/skin_default/images/xml.png A pandora_console/images/skin/skin_default/images/full_screen.png A pandora_console/images/skin/skin_default/images/module_group.png A pandora_console/images/skin/skin_default/images/policies_not_brick.png A pandora_console/images/skin/skin_default/images/heart.png A pandora_console/images/skin/skin_default/images/gm_monitoring.png A pandora_console/images/skin/skin_default/images/custom_columns.png A pandora_console/images/skin/skin_default/images/control_pause_col.png A pandora_console/images/skin/skin_default/images/custom_field_col.png A pandora_console/images/skin/skin_default/images/header_events.png A pandora_console/images/skin/skin_default/images/op_netflow.png A pandora_console/images/skin/skin_default/images/header_warning.png A pandora_console/images/skin/skin_default/images/plugin_mc.png A pandora_console/images/skin/skin_default/images/sla.png M pandora_console/images/skin/skin_default/images/binary.png A pandora_console/images/skin/skin_default/images/op_network.png A pandora_console/images/skin/skin_default/images/binary.disabled.png M pandora_console/images/profiles.png A pandora_console/images/collection.png A pandora_console/images/inventory.png A pandora_console/images/gm_log.png M pandora_console/images/images.png M pandora_console/images/cog.png A pandora_console/images/tag.png A pandora_console/images/mc_plugin.png A pandora_console/images/enterprise_icon.png M pandora_console/images/photo.png M pandora_console/images/refresh.png A pandora_console/images/events_list.png A pandora_console/images/operation.png A pandora_console/images/full_screen.png A pandora_console/images/chart_curve_overview.disabled.png M pandora_console/images/heart.png A pandora_console/images/input_add.png A pandora_console/images/gm_monitoring.png M pandora_console/images/percentile_item.png A pandora_console/images/module_warning.png A pandora_console/images/custom_field_col.png A pandora_console/images/plugin_mc.png M pandora_console/images/snmp_wizard.png M pandora_console/images/link_break.png M pandora_console/images/go_next.png M pandora_console/images/policies.png M pandora_console/images/bell.png M pandora_console/images/policies_error.png A pandora_console/images/agent_ok.png M pandora_console/images/go_last.png A pandora_console/images/services.png A pandora_console/images/sound.png L pandora_console/images/os_icons A pandora_console/images/tab_green_bg.png M pandora_console/images/plugin.png A pandora_console/images/header_refresh.png A pandora_console/images/op_reporting.png A pandora_console/images/list.png A pandora_console/images/gm_servers.png M pandora_console/images/books.png A pandora_console/images/reporting32.png A pandora_console/images/input_delete.png M pandora_console/images/div.png A pandora_console/images/input_go.png M pandora_console/images/policies_error_db.png A pandora_console/images/normal_screen.png A pandora_console/images/dashboard.png A pandora_console/images/donut.png M pandora_console/images/network.disabled.png M pandora_console/images/policies_ok.png A pandora_console/images/submenu_tree_first.png M pandora_console/images/lightning_go.png A pandora_console/images/csv_mc.png M pandora_console/images/snmp.png A pandora_console/images/recon_icon.png M pandora_console/images/default_list.png A pandora_console/images/database_history.png M pandora_console/images/chart_bar.disabled.png A pandora_console/images/help_icon.png A pandora_console/images/input_update.png A pandora_console/images/agent_notinit.png M pandora_console/images/control_pause.png A pandora_console/images/key.png L pandora_console/images/mimetypes M pandora_console/images/link.png A pandora_console/images/header_email.png M pandora_console/images/delete.png L pandora_console/images/networkmap A pandora_console/images/input_wand.png A pandora_console/images/input_tick.png M pandora_console/images/bricks.png A pandora_console/images/write_paper.png M pandora_console/images/world.png M pandora_console/images/wand_sla.png M pandora_console/images/wand.png M pandora_console/images/disk.png M pandora_console/images/group.png A pandora_console/images/header_user_admin.png A pandora_console/images/header_help.png A pandora_console/images/category.png M pandora_console/images/house.png A pandora_console/images/module.png A pandora_console/images/export25.png A pandora_console/images/xml.png A pandora_console/images/op_netflow.png L pandora_console/images/console L pandora_console/images/console/background L pandora_console/images/console/icons L pandora_console/images/console/icons/old_icons M pandora_console/images/cross.png A pandora_console/images/operating_system.png M pandora_console/images/application_edit.png M pandora_console/images/camera.png M pandora_console/images/sub.png A pandora_console/images/gm_policies.png A pandora_console/images/box.disabled.png M pandora_console/images/setup.png M pandora_console/images/go_previous.png A pandora_console/images/module_mc.png M pandora_console/images/tag_red.png A pandora_console/images/submenu_tree_middle.png A pandora_console/images/visual_console.png A pandora_console/images/email_outbox.png M pandora_console/images/attachment.png A pandora_console/images/module_notinit.png L pandora_console/images/gis_map L pandora_console/images/gis_map/icons A pandora_console/images/submenu2_tree_middle.png A pandora_console/images/html.png M pandora_console/images/control_play.png M pandora_console/images/tag_red.disabled.png M pandora_console/images/lightbulb.png A pandora_console/images/version.png M pandora_console/images/bell_error.png M pandora_console/images/brick.png M pandora_console/images/tip.png A pandora_console/images/op_snmp.png M pandora_console/images/pandora_header_logo_enterprise.png A pandora_console/images/load.png M pandora_console/images/chart_curve_threshold.png A pandora_console/images/chart.png M pandora_console/images/copy.png A pandora_console/images/op_monitoring.png M pandora_console/images/mul.png A pandora_console/images/menu_gm_mark.png A pandora_console/images/menu_lk_mark.png A pandora_console/images/gm_users.png A pandora_console/images/email_inbox.png A pandora_console/images/header_chat.png M pandora_console/images/network.png M pandora_console/images/extensions.png A pandora_console/images/submenu2_tree_last.png M pandora_console/images/database.png A pandora_console/images/delete_mc.png A pandora_console/images/input_config.png L pandora_console/images/groups_small A pandora_console/images/server_export_mc.png A pandora_console/images/input_cog.png M pandora_console/images/add.png A pandora_console/images/csv.png A pandora_console/images/module_group.png D pandora_console/images/lupa.png A pandora_console/images/control_pause_col.png A pandora_console/images/custom_columns.png A pandora_console/images/header_warning.png D pandora_console/images/user.png M pandora_console/images/binary.png A pandora_console/images/op_network.png A pandora_console/images/home.png A pandora_console/images/bell_extern.png A pandora_console/images/tab_grey_bg.png A pandora_console/images/header_blackout.png A pandora_console/images/header_ready.png A pandora_console/images/agent_unknown.png M pandora_console/images/config.png M pandora_console/images/pdf.png A pandora_console/images/control_next.png A pandora_console/images/submenu_tree_last.png M pandora_console/images/comments.png A pandora_console/images/control_stop.png M pandora_console/images/email.png M pandora_console/images/lock.png M pandora_console/images/error.png A pandora_console/images/gm_modules.png A pandora_console/images/gm_gis.png M pandora_console/images/data.png M pandora_console/images/config.disabled.png M pandora_console/images/linkpolicy.png A pandora_console/images/op_gis.png M pandora_console/images/clean.png M pandora_console/images/chart_bar.png D pandora_console/images/lupa_15x15.png L pandora_console/images/help A pandora_console/images/advanced.png A pandora_console/images/save_mc.png A pandora_console/images/module_ok.png A pandora_console/images/header_logout.png M pandora_console/images/user_suit.png M pandora_console/images/file.disabled.png L pandora_console/images/status_sets L pandora_console/images/status_sets/faces L pandora_console/images/status_sets/color_text L pandora_console/images/status_sets/default M pandora_console/images/photo.disabled.png M pandora_console/images/recon.png M pandora_console/images/lightbulb_off.png A pandora_console/images/camera_mc.png A pandora_console/images/gm_db.png M pandora_console/images/attachment_del.png A pandora_console/images/custom_field.png M pandora_console/images/eye.png M pandora_console/images/wmi.png M pandora_console/images/camera.disabled.png A pandora_console/images/control_play_col.png M pandora_console/images/sum.png M pandora_console/images/pandora_header_logo.png M pandora_console/images/avg.png A pandora_console/images/header_down.png M pandora_console/images/zoom_cross.disabled.png A pandora_console/images/module_unknown.png M pandora_console/images/server_export.png A pandora_console/images/bin.png A pandora_console/images/input_cross.png A pandora_console/images/control_prev.png A pandora_console/images/agent_mc.png A pandora_console/images/pen.png A pandora_console/images/plus.png D pandora_console/images/log-out.png A pandora_console/images/gm_events.png A pandora_console/images/new_message.png A pandora_console/images/templates.png A pandora_console/images/sla.png M pandora_console/images/binary.disabled.png M pandora_console/images/chart_curve_overview.png A pandora_console/images/mg_modules.png L pandora_console/extras L pandora_console/mobile L pandora_console/mobile/operation L pandora_console/mobile/include L pandora_console/mobile/include/style L pandora_console/mobile/images L pandora_console/general L pandora_console/general/license M pandora_console/general/login_page.php M pandora_console/general/logon_ok.php M pandora_console/general/main_menu.php L pandora_console/general/ui M pandora_console/general/header.php L pandora_console/godmode L pandora_console/godmode/groups M pandora_console/godmode/groups/modu_group_list.php M pandora_console/godmode/groups/configure_group.php M pandora_console/godmode/groups/configure_modu_group.php M pandora_console/godmode/groups/group_list.php M pandora_console/godmode/admin_access_logs.php M pandora_console/godmode/extensions.php L pandora_console/godmode/db M pandora_console/godmode/db/db_main.php M pandora_console/godmode/db/db_audit.php M pandora_console/godmode/db/db_sanity.php M pandora_console/godmode/db/db_refine.php M pandora_console/godmode/db/db_info.php M pandora_console/godmode/db/db_event.php M pandora_console/godmode/db/db_purge.php L pandora_console/godmode/agentes M pandora_console/godmode/agentes/fields_manager.php M pandora_console/godmode/agentes/planned_downtime.list.php M pandora_console/godmode/agentes/planned_downtime.editor.php M pandora_console/godmode/agentes/modificar_agente.php M pandora_console/godmode/agentes/configurar_agente.php M pandora_console/godmode/agentes/configure_field.php M pandora_console/godmode/agentes/agent_manager.php L pandora_console/godmode/servers M pandora_console/godmode/servers/recon_script.php M pandora_console/godmode/servers/plugin.php A pandora_console/godmode/servers/servers.build_table.php M pandora_console/godmode/servers/manage_recontask.php M pandora_console/godmode/servers/modificar_server.php M pandora_console/godmode/servers/manage_recontask_form.php L pandora_console/godmode/alerts M pandora_console/godmode/alerts/alert_list.php M pandora_console/godmode/alerts/configure_alert_template.php M pandora_console/godmode/alerts/alert_templates.php M pandora_console/godmode/alerts/configure_alert_action.php M pandora_console/godmode/alerts/configure_alert_command.php M pandora_console/godmode/alerts/alert_actions.php M pandora_console/godmode/alerts/alert_special_days.php M pandora_console/godmode/alerts/alert_commands.php M pandora_console/godmode/alerts/configure_alert_special_days.php L pandora_console/godmode/snmpconsole M pandora_console/godmode/snmpconsole/snmp_trap_generator.php M pandora_console/godmode/snmpconsole/snmp_alert.php M pandora_console/godmode/snmpconsole/snmp_filters.php L pandora_console/godmode/setup M pandora_console/godmode/setup/setup_general.php M pandora_console/godmode/setup/links.php M pandora_console/godmode/setup/setup.php M pandora_console/godmode/setup/os.php L pandora_console/godmode/users M pandora_console/godmode/users/user_list.php M pandora_console/godmode/users/profile_list.php M pandora_console/godmode/users/configure_user.php M pandora_console/godmode/users/configure_profile.php L pandora_console/godmode/gis_maps M pandora_console/godmode/gis_maps/configure_gis_map.php M pandora_console/godmode/gis_maps/index.php L pandora_console/godmode/events M pandora_console/godmode/events/event_edit_filter.php M pandora_console/godmode/events/events.php L pandora_console/godmode/massive M pandora_console/godmode/massive/massive_copy_modules.php M pandora_console/godmode/massive/massive_operations.php L pandora_console/godmode/modules M pandora_console/godmode/modules/manage_network_templates.php M pandora_console/godmode/modules/module_list.php L pandora_console/godmode/reporting M pandora_console/godmode/reporting/visual_console_builder.php M pandora_console/godmode/reporting/graph_builder.php M pandora_console/godmode/reporting/reporting_builder.php M pandora_console/godmode/reporting/map_builder.php M pandora_console/godmode/reporting/graphs.php L pandora_console/godmode/tag M pandora_console/godmode/tag/tag.php M pandora_console/godmode/tag/edit_tag.php L pandora_console/godmode/category M pandora_console/godmode/category/category.php M pandora_console/godmode/category/edit_category.php L pandora_console/godmode/netflow M pandora_console/godmode/netflow/nf_edit_form.php M pandora_console/godmode/netflow/nf_item_list.php M pandora_console/godmode/netflow/nf_edit.php: Changing whole visual style including icons and css git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7951 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-04-10 09:57:54 +02:00
alert(''+obj.series.label+': '+obj.series.data[0][1]+' ('+percent+'%)');
}
</script>";
if (!$return)
echo $output;
return $output;
}
}
///////////////////////////////
////////// AREA GRAPHS ////////
///////////////////////////////
function flot_area_stacked_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl = '', $font = '', $font_size = 7,
$unit = '', $water_mark = '', $serie_types = array(),
$chart_extra_data = array(), $yellow_threshold = 0,
$red_threshold = 0, $adapt_key= '', $force_integer = false,
$series_suffix_str = '', $menu = true, $background_color = 'white',
$dashboard = false, $vconsole = false, $agent_module_id = 0) {
global $config;
return flot_area_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl, $unit, 'area_stacked',
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
$menu, $background_color, $dashboard, $vconsole,
$agent_module_id, $font, $font_size);
}
function flot_area_simple_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl = '', $unit = '', $water_mark = '',
$serie_types = array(), $chart_extra_data = array(),
$yellow_threshold = 0, $red_threshold = 0, $adapt_key= '',
$force_integer = false, $series_suffix_str = '', $menu = true,
$background_color = 'white', $dashboard = false, $vconsole = false,
2016-12-27 13:10:33 +01:00
$agent_module_id = 0, $font = '', $font_size = 7, $xaxisname = '',
$percentil_values = array(), $threshold_data = array()) {
global $config;
return flot_area_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl, $unit, 'area_simple',
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
$menu, $background_color, $dashboard, $vconsole,
$agent_module_id, $font, $font_size, $xaxisname, $percentil_values,
$threshold_data);
}
function flot_line_stacked_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl = '', $font = '', $font_size = 7,
$unit = '', $water_mark = '', $serie_types = array(),
$chart_extra_data = array(), $yellow_threshold = 0,
$red_threshold = 0, $adapt_key= '', $force_integer = false,
$series_suffix_str = '', $menu = true, $background_color = 'white',
$dashboard = false, $vconsole = false, $agent_module_id = 0,
$xaxisname = "") {
global $config;
return flot_area_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl, $unit, 'line_stacked',
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
$menu, $background_color, $dashboard, $vconsole,
$agent_module_id, $font, $font_size, $xaxisname);
}
function flot_line_simple_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl = '', $font = '', $font_size = 7,
$unit = '', $water_mark = '', $serie_types = array(),
$chart_extra_data = array(), $yellow_threshold = 0,
$red_threshold = 0, $adapt_key= '', $force_integer = false,
$series_suffix_str = '', $menu = true, $background_color = 'white',
$dashboard = false, $vconsole = false, $agent_module_id = 0,
$percentil_values = array(), $threshold_data = array(),
$xaxisname = '') {
global $config;
return flot_area_graph($chart_data, $width, $height, $color,
$legend, $long_index, $homeurl, $unit, 'line_simple',
$water_mark, $serie_types, $chart_extra_data, $yellow_threshold,
$red_threshold, $adapt_key, $force_integer, $series_suffix_str,
$menu, $background_color, $dashboard, $vconsole,
$agent_module_id, $font, $font_size, $xaxisname, $percentil_values,
$threshold_data);
}
function flot_area_graph($chart_data, $width, $height, $color, $legend,
$long_index, $homeurl, $unit, $type, $water_mark, $serie_types,
$chart_extra_data, $yellow_threshold, $red_threshold, $adapt_key,
$force_integer, $series_suffix_str = '', $menu = true,
$background_color = 'white', $dashboard = false, $vconsole = false,
$agent_module_id = 0, $font = '', $font_size = 7, $xaxisname = '',
$percentil_values = array(), $threshold_data = array()) {
global $config;
include_javascript_dependencies_flot_graph();
2013-04-15 Sergio Martin <sergio.martin@artica.es> * include/functions_html.php include/styles/pandora.css include/functions_ui.php include/functions_graph.php include/functions_events.php include/graphs/functions_flot.php include/graphs/flot/pandora.flot.js include/graphs/fgraph.php operation/events/events_list.php operation/agentes/estado_generalagente.php operation/agentes/stat_win.php images/file.png images/collection_col.png images/input_update.disabled.png images/input_wand.disabled.png images/heart_col.png images/calendar_view_day.png images/reporting.png images/input_tick.png images/input_zoom.disabled.png images/input_tick.disabled.png images/input_go.disabled.png images/clock.png images/input_pdf.disabled.png images/tree.png images/groups_small/transmit.png images/groups_small/drive_network.png images/groups_small/eye.png images/groups_small/printer.png images/groups_small/lightning.png images/groups_small/clock.png images/groups_small/bricks.png images/groups_small/chart_organisation.png images/groups_small/world.png images/groups_small/lock.png images/groups_small/network.png images/groups_small/plugin.png images/groups_small/images.png images/groups_small/without_group.png images/groups_small/mail.png images/groups_small/house.png images/groups_small/application_osx_terminal.png images/groups_small/server_database.png images/groups_small/computer.png images/groups_small/database_gear.png images/groups_small/heart.png images/groups_small/firewall.png images/groups_small/applications.png images/input_delete.disabled.png images/input_filter.disabled.png images/category_col.png images/input_cog.disabled.png images/input_add.disabled.png images/input_cross.disabled.png images/recon.png images/pandora_header_logo.png images/dashboard_col.png images/input_config.disabled.png: Change group icons, change more icons and images and fix layout bugs git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7981 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-04-15 13:44:36 +02:00
$menu = (int)$menu;
// Get a unique identifier to graph
$graph_id = uniqid('graph_');
$background_style = '';
switch ($background_color) {
default:
case 'white':
$background_style = ' background: #fff; ';
break;
case 'black':
$background_style = ' background: #000; ';
break;
case 'transparent':
$background_style = '';
break;
}
// Parent layer
2017-03-17 13:30:11 +01:00
$return = "<div class='parent_graph' style='width: " . ($width) . "px; " . $background_style . "'>";
// Set some containers to legend, graph, timestamp tooltip, etc.
$return .= "<p id='legend_$graph_id' class='legend_graph' style='font-size:$font_size"."pt !important;'></p>";
if (!empty($threshold_data)) {
$yellow_up = $threshold_data['yellow_up'];
$red_up = $threshold_data['red_up'];
$yellow_inverse = $threshold_data['yellow_inverse'];
$red_inverse = $threshold_data['red_inverse'];
}
else {
// Get other required module datas to draw warning and critical
if ($agent_module_id == 0) {
$yellow_up = 0;
$red_up = 0;
$yellow_inverse = false;
$red_inverse = false;
} else {
$module_data = db_get_row_sql ('SELECT * FROM tagente_modulo WHERE id_agente_modulo = ' . $agent_module_id);
$yellow_up = $module_data['max_warning'];
$red_up = $module_data['max_critical'];
$yellow_inverse = !($module_data['warning_inverse'] == 0);
$red_inverse = !($module_data['critical_inverse'] == 0);
}
}
if ($menu) {
$threshold = false;
if ($yellow_threshold != $yellow_up || $red_threshold != $red_up) {
$threshold = true;
}
$nbuttons = 3;
if ($threshold) {
$nbuttons++;
}
$menu_width = 25 * $nbuttons + 15;
if ( $dashboard == false AND $vconsole == false) {
2017-03-17 13:30:11 +01:00
$return .= "<div id='geneal_menu_$graph_id' class='menu_graph' style='
width: 30px;
height: 250px;
left: " . $width . "px;
position: absolute;
top: 0px;
background-color: white;'>";
$return .= "<div id='menu_$graph_id' " .
"style='display: none; " .
2017-03-17 13:30:11 +01:00
"text-align: center;" .
"position: relative;".
"border-bottom: 0px;'>
<a href='javascript:'><img id='menu_cancelzoom_$graph_id' src='".$homeurl."images/zoom_cross_grey.disabled.png' alt='".__('Cancel zoom')."' title='".__('Cancel zoom')."'></a>";
if ($threshold) {
$return .= " <a href='javascript:'><img id='menu_threshold_$graph_id' src='".$homeurl."images/chart_curve_threshold.png' alt='".__('Warning and Critical thresholds')."' title='".__('Warning and Critical thresholds')."'></a>";
}
$return .= " <a href='javascript:'>
<img id='menu_overview_$graph_id' class='menu_overview' src='" . $homeurl . "images/chart_curve_overview.png' alt='" . __('Overview graph') . "' title='".__('Overview graph')."'></a>";
// Export buttons
$return .= " <a href='javascript:'><img id='menu_export_csv_$graph_id' src='".$homeurl."images/csv_grey.png' alt='".__('Export to CSV')."' title='".__('Export to CSV')."'></a>";
// Button disabled. This feature works, but seems that is not useful enough to the final users.
//$return .= " <a href='javascript:'><img id='menu_export_json_$graph_id' src='".$homeurl."images/json.png' alt='".__('Export to JSON')."' title='".__('Export to JSON')."'></a>";
$return .= "</div>";
2017-03-17 13:30:11 +01:00
$return .= "</div>";
}
2017-05-25 10:08:30 +02:00
if ($dashboard) {
$return .= "<div id='geneal_menu_$graph_id' class='menu_graph' style='
width: 30px;
height: 250px;
left: " . $width . "px;
position: absolute;
top: 0px;
background-color: white;'>";
$return .= "<div id='menu_$graph_id' " .
"style='display: none; " .
"text-align: center;" .
"position: relative;".
"border-bottom: 0px;'>
<a href='javascript:'><img id='menu_cancelzoom_$graph_id' src='".$homeurl."images/zoom_cross_grey.disabled.png' alt='".__('Cancel zoom')."' title='".__('Cancel zoom')."'></a>";
$return .= "</div>";
$return .= "</div>";
}
}
2017-05-25 10:08:30 +02:00
$return .= html_print_input_hidden('line_width_graph', $config['custom_graph_width'], true);
$return .= "<div id='timestamp_$graph_id' class='timestamp_graph' style='font-size:".$font_size."pt;display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px; z-index:1000;'></div>";
$return .= "<div id='$graph_id' class='";
if($type=='area_simple'){$return .= "noresizevc ";}
$return .= "graph $adapt_key' style='width: ".$width."px; height: ".$height."px;'></div>";
if ($menu) {
$height = 100;
}
else {
$height = 1;
}
2017-05-25 10:08:30 +02:00
if (!$vconsole)
2017-03-17 11:20:54 +01:00
$return .= "<div id='overview_$graph_id' class='overview_graph' style='display: none; margin-left:0px; margin-top:20px; margin-bottom:50px; width: ".$width."px; height: ".$height ."px;'></div>";
if ($water_mark != '') {
$return .= "<div id='watermark_$graph_id' style='display:none; position:absolute;'><img id='watermark_image_$graph_id' src='$water_mark'></div>";
$watermark = 'true';
}
else {
$watermark = 'false';
}
// Set a weird separator to serialize and unserialize passing data from php to javascript
$separator = ';;::;;';
$separator2 = ':,:,,,:,:';
// Transform data from our format to library format
$legend2 = array();
$labels = array();
$a = array();
$vars = array();
$serie_types2 = array();
$colors = array();
$index = array_keys(reset($chart_data));
foreach ($index as $serie_key) {
if (isset($color[$serie_key])) {
$colors[] = $color[$serie_key]['color'];
}
else {
$colors[] = '';
}
}
foreach ($chart_data as $label => $values) {
$labels[] = io_safe_output($label);
foreach($values as $key => $value) {
$jsvar = "data_" . $graph_id . "_" . $key;
if (!isset($serie_types[$key])) {
switch ($type) {
case 'line_simple':
case 'line_stacked':
$serie_types2[$jsvar] = 'line';
break;
case 'area_simple':
case 'area_stacked':
default:
$serie_types2[$jsvar] = 'area';
break;
}
}
else {
$serie_types2[$jsvar] = $serie_types[$key];
}
if ($serie_types2[$jsvar] == 'points' && $value == 0) {
$data[$jsvar][] = 'null';
}
else {
$data[$jsvar][] = $value;
}
if (!isset($legend[$key])) {
$legend2[$jsvar] = 'null';
}
else {
$legend2[$jsvar] = $legend[$key];
}
}
}
if (!empty($percentil_values)) {
foreach($percentil_values as $key => $value) {
$jsvar = "percentil_" . $graph_id . "_" . $key;
$serie_types2[$jsvar] = 'line';
$data[$jsvar] = $value;
}
}
// Store data series in javascript format
$jsvars = '';
$jsseries = array();
$values2 = array();
$i = 0;
$max_x = 0;
foreach ($data as $jsvar => $values) {
$n_values = count($values);
if ($n_values > $max_x) {
$max_x = $n_values;
}
$values2[] = implode($separator,$values);
$i ++;
}
$values = implode($separator2, $values2);
// Max is "n-1" because start with 0
$max_x--;
$extra_width = (int)($width / 3);
$return .= "<div id='extra_$graph_id' style='font-size: " . $font_size . "pt; display:none; position:absolute; overflow: auto; max-height: ".($height+50)."px; width: ".$extra_width."px; background:#fff; padding: 2px 2px 2px 2px; border: solid #000 1px;'></div>";
// Process extra data
$events = array();
$event_ids = array();
$alerts = array();
$alert_ids = array();
$legend_events = '';
$legend_alerts = '';
if (empty($chart_extra_data)) {
$chart_extra_data = array();
}
foreach ($chart_extra_data as $i => $data) {
switch ($i) {
case 'legend_alerts':
$legend_alerts = $data;
break;
case 'legend_events':
$legend_events = $data;
break;
default:
if (isset($data['events'])) {
$event_ids[] = $i;
$events[$i] = $data['events'];
}
if (isset($data['alerts'])) {
$alert_ids[] = $i;
$alerts[$i] = $data['alerts'];
}
break;
}
}
// Store serialized data to use it from javascript
$events = implode($separator,$events);
$event_ids = implode($separator,$event_ids);
$alerts = implode($separator,$alerts);
$alert_ids = implode($separator,$alert_ids);
$labels = implode($separator,$labels);
if (!empty($long_index)) {
$labels_long = implode($separator, $long_index);
}
else {
$labels_long = $labels;
}
if (!empty($legend)) {
$legend = io_safe_output(implode($separator, $legend));
}
$serie_types = implode($separator, $serie_types2);
$colors = implode($separator, $colors);
// transform into string to pass to javascript
if ($force_integer) {
$force_integer = 'true';
}
else {
$force_integer = 'false';
}
2017-01-17 12:47:03 +01:00
//modify internal grid lines and legend text color
if(substr($background_style, -6, 4) == '#fff'){
$background_color = "#eee";
$legend_color = "#151515";
}
else if(substr($background_style, -6, 4) == '#000'){
$background_color = "#151515";
$legend_color = "#BDBDBD";
}
else{
$background_color = "#A4A4A4";
$legend_color = "#A4A4A4";
}
// Trick to get translated string from javascript
$return .= html_print_input_hidden('unknown_text', __('Unknown'),
true);
2017-09-05 16:23:21 +02:00
if (!isset($config["short_module_graph_data"]))
$config["short_module_graph_data"] = true;
if ($config["short_module_graph_data"]) {
$short_data = true;
}
else {
$short_data = false;
}
// Javascript code
$return .= "<script type='text/javascript'>";
$return .= "$(document).ready( function () {";
$return .= "pandoraFlotArea(" .
"'$graph_id', \n" .
"'$values', \n" .
"'$labels', \n" .
"'$labels_long', \n" .
"'$legend', \n" .
"'$colors', \n" .
"'$type', \n" .
"'$serie_types', \n" .
"$watermark, \n" .
"$width, \n" .
"$max_x, \n" .
"'$homeurl', \n" .
"'$unit', \n" .
"$font_size, \n" .
"'$font', \n" .
"$menu, \n" .
"'$events', \n" .
"'$event_ids', \n" .
"'$legend_events', \n" .
"'$alerts', \n" .
"'$alert_ids', \n" .
"'$legend_alerts', \n" .
"'$yellow_threshold', \n" .
"'$red_threshold', \n" .
"$force_integer, \n" .
"'$separator', \n" .
"'$separator2', \n" .
"'$yellow_up', \n" .
"'$red_up', \n" .
"'$yellow_inverse', \n" .
"'$red_inverse', \n" .
"'$series_suffix_str',
" . json_encode($dashboard) . ",\n
" . json_encode($vconsole) . ",\n" .
2017-01-17 12:47:03 +01:00
"'$xaxisname', \n" .
"'$background_color', \n" .
2017-09-05 16:23:21 +02:00
"'$legend_color', \n" .
"'$short_data'
2017-01-17 12:47:03 +01:00
);";
$return .= "});";
$return .= "</script>";
// Parent layer
$return .= "</div>";
return $return;
}
///////////////////////////////
///////////////////////////////
///////////////////////////////
// Prints a FLOT pie chart
function flot_pie_chart ($values, $labels, $width, $height, $water_mark,
$font = '', $font_size = 8, $legend_position = '', $colors = '',
$hide_labels = false) {
include_javascript_dependencies_flot_graph();
$series = sizeof($values);
if (($series != sizeof ($labels)) || ($series == 0) ) {
return;
}
$graph_id = uniqid('graph_');
switch ($legend_position) {
case 'bottom':
$height = $height + (count($values) * 24);
break;
case 'right':
default:
//TODO FOR TOP OR LEFT OR RIGHT
break;
}
$return = "<div id='$graph_id' class='graph' style='width: ".$width."px; height: ".$height."px;'></div>";
if ($water_mark != '') {
$return .= "<div id='watermark_$graph_id' style='display:none; position:absolute;'><img id='watermark_image_$graph_id' src='$water_mark'></div>";
$water_mark = 'true';
}
else {
$water_mark = 'false';
}
$separator = ';;::;;';
$labels = implode($separator, $labels);
$values = implode($separator, $values);
if (!empty($colors)) {
$colors = implode($separator, $colors);
}
$return .= "<script type='text/javascript'>";
$return .= "pandoraFlotPie('$graph_id', '$values', '$labels',
'$series', '$width', $font_size, $water_mark, '$separator',
'$legend_position', '$height', '$colors', " . json_encode($hide_labels) . ")";
$return .= "</script>";
return $return;
}
// Prints a FLOT pie chart
function flot_custom_pie_chart ($flash_charts, $graph_values,
$width, $height, $colors, $module_name_list, $long_index,
$no_data,$xaxisname, $yaxisname, $water_mark, $fontpath, $font_size,
$unit, $ttl, $homeurl, $background_color, $legend_position) {
2016-10-18 10:32:10 +02:00
global $config;
///TODO
include_javascript_dependencies_flot_graph();
$total_modules = $graph_values['total_modules'];
unset($graph_values['total_modules']);
foreach ($graph_values as $label => $value) {
if ($value['value']) {
if ($value['value'] > 1000000)
$legendvalue = sprintf("%sM", remove_right_zeros(number_format($value['value'] / 1000000, $config['graph_precision'])));
else if ($value['value'] > 1000)
$legendvalue = sprintf("%sK", remove_right_zeros(number_format($value['value'] / 1000, $config['graph_precision'])));
else
$legendvalue = remove_right_zeros(number_format($value['value'], $config['graph_precision']));
}
else
$legendvalue = __('No data');
$values[] = $value['value'];
$legend[] = $label .": " . $legendvalue . " " .$value['unit'];
$labels[] = $label;
}
$graph_id = uniqid('graph_');
$return = "<div id='$graph_id' class='graph noresizevc' style='width: ".$width."px; height: ".$height."px;'></div>";
if ($water_mark != '') {
$return .= "<div id='watermark_$graph_id' style='display:none; position:absolute;'><img id='watermark_image_$graph_id' src='".$water_mark["url"]."'></div>";
$water_mark = 'true';
}
else {
$water_mark = 'false';
}
$separator = ';;::;;';
$labels = implode($separator, $labels);
$legend = implode($separator, $legend);
$values = implode($separator, $values);
if (!empty($colors)) {
foreach ($colors as $color) {
$temp_colors[] = $color['color'];
}
}
$colors = implode($separator, $temp_colors);
$return .= "<script type='text/javascript'>";
$return .= "pandoraFlotPieCustom('$graph_id', '$values', '$labels',
'$width', $font_size, '$fontpath', $water_mark,
'$separator', '$legend_position', '$height', '$colors','$legend')";
$return .= "</script>";
return $return;
}
// Returns a 3D column chart
function flot_hcolumn_chart ($graph_data, $width, $height, $water_mark, $font = '', $font_size = 7) {
global $config;
include_javascript_dependencies_flot_graph();
$return = '';
$stacked_str = '';
$multicolor = true;
// Get a unique identifier to graph
$graph_id = uniqid('graph_');
$graph_id2 = uniqid('graph_');
// Set some containers to legend, graph, timestamp tooltip, etc.
$return .= "<div id='$graph_id' class='graph' style='width: ".$width."px; height: ".$height."px; padding-left: 20px;'></div>";
$return .= "<div id='value_$graph_id' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";
if ($water_mark != '') {
$return .= "<div id='watermark_$graph_id' style='display:none; position:absolute;'><img id='watermark_image_$graph_id' src='$water_mark'></div>";
$watermark = 'true';
}
else {
$watermark = 'false';
}
// Set a weird separator to serialize and unserialize passing data
// from php to javascript
$separator = ';;::;;';
$separator2 = ':,:,,,:,:';
// Transform data from our format to library format
$labels = array();
$a = array();
$vars = array();
$max = 0;
$i = count($graph_data);
$data = array();
2015-10-08 16:26:27 +02:00
foreach ($graph_data as $label => $values) {
$labels[] = io_safe_output($label);
$i--;
foreach ($values as $key => $value) {
$jsvar = "data_" . $graph_id . "_" . $key;
2015-10-08 16:26:27 +02:00
$data[$jsvar][] = $value;
if ($value > $max) {
$max = $value;
}
}
}
2015-10-08 16:26:27 +02:00
// Store serialized data to use it from javascript
$labels = implode($separator,$labels);
// Store data series in javascript format
$jsvars = '';
$jsseries = array();
$i = 0;
$values2 = array();
foreach ($data as $jsvar => $values) {
$values2[] = implode($separator,$values);
}
$values = implode($separator2, $values2);
$jsseries = implode(',', $jsseries);
// Javascript code
$return .= "<script type='text/javascript'>";
$return .= "pandoraFlotHBars('$graph_id', '$values', '$labels',
false, $max, '$water_mark', '$separator', '$separator2', '$font', $font_size)";
$return .= "</script>";
return $return;
}
// Returns a 3D column chart
2017-08-17 18:38:12 +02:00
function flot_vcolumn_chart ($graph_data, $width, $height, $color, $legend, $long_index, $homeurl, $unit, $water_mark, $homedir, $font, $font_size, $from_ux, $from_wux) {
global $config;
include_javascript_dependencies_flot_graph();
$stacked_str = '';
$multicolor = false;
// Get a unique identifier to graph
$graph_id = uniqid('graph_');
$graph_id2 = uniqid('graph_');
if ($width != 'auto') {
$width = $width . "px";
}
// Set some containers to legend, graph, timestamp tooltip, etc.
$return .= "<div id='$graph_id' class='graph $adapt_key' style='width: ".$width."; height: ".$height."px; padding-left: 20px;'></div>";
$return .= "<div id='value_$graph_id' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";
if ($water_mark != '') {
$return .= "<div id='watermark_$graph_id' style='display:none; position:absolute;'><img id='watermark_image_$graph_id' src='$water_mark'></div>";
$watermark = 'true';
}
else {
$watermark = 'false';
}
$colors = array_map(function ($elem) {
return $elem['color'] ? $elem['color'] : null;
}, $color);
// Set a weird separator to serialize and unserialize passing data from php to javascript
$separator = ';;::;;';
$separator2 = ':,:,,,:,:';
// Transform data from our format to library format
$labels = array();
$a = array();
$vars = array();
$max = 0;
$i = count($graph_data);
foreach ($graph_data as $label => $values) {
$labels[] = io_safe_output($label);
$i--;
foreach ($values as $key => $value) {
$jsvar = "data_" . $graph_id . "_" . $key;
$data[$jsvar][] = $value;
if ($value > $max) {
$max = $value;
}
}
}
// Store serialized data to use it from javascript
$labels = implode($separator,$labels);
$colors = implode($separator, $colors);
// Store data series in javascript format
$jsvars = '';
$jsseries = array();
$i = 0;
$values2 = array();
foreach ($data as $jsvar => $values) {
$values2[] = implode($separator,$values);
}
$values = implode($separator2, $values2);
$jsseries = implode(',', $jsseries);
// Javascript code
$return .= "<script type='text/javascript'>";
2016-09-08 16:24:55 +02:00
if ($from_ux) {
2017-08-17 18:38:12 +02:00
if($from_wux){
$return .= "pandoraFlotVBars('$graph_id', '$values', '$labels', '$labels', '$legend', '$colors', false, $max, '$water_mark', '$separator', '$separator2','$font',$font_size, true, true)";
}
else{
$return .= "pandoraFlotVBars('$graph_id', '$values', '$labels', '$labels', '$legend', '$colors', false, $max, '$water_mark', '$separator', '$separator2','$font',$font_size, true, false)";
}
}
else {
2017-08-17 18:38:12 +02:00
$return .= "pandoraFlotVBars('$graph_id', '$values', '$labels', '$labels', '$legend', '$colors', false, $max, '$water_mark', '$separator', '$separator2','$font',$font_size, false, false)";
}
2016-09-08 16:24:55 +02:00
$return .= "</script>";
return $return;
}
function flot_slicesbar_graph ($graph_data, $period, $width, $height, $legend, $colors, $fontpath, $round_corner, $homeurl, $watermark = '', $adapt_key = '', $stat_win = false, $id_agent = 0, $full_legend_date = array()) {
global $config;
include_javascript_dependencies_flot_graph();
$height+= 20;
$stacked_str = 'stack: stack,';
// Get a unique identifier to graph
$graph_id = uniqid('graph_');
// Set some containers to legend, graph, timestamp tooltip, etc.
if ($stat_win) {
$return = "<div id='$graph_id' class='graph $adapt_key' style='width: ".$width."px; height: ".$height."px; display: inline-block;'></div>";
}
else {
$return = "<div id='$graph_id' class='graph $adapt_key' style='width: ".$width."px; height: ".$height."px;'></div>";
}
$return .= "<div id='value_$graph_id' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";
// Set a weird separator to serialize and unserialize passing data from php to javascript
$separator = ';;::;;';
$separator2 = ':,:,,,:,:';
// Transform data from our format to library format
$labels = array();
$a = array();
$vars = array();
$datacolor = array();
$max = 0;
$i = count($graph_data);
$intervaltick = $period / $i;
$leg_max_length = 0;
foreach ($legend as $l) {
if (strlen($l) > $leg_max_length) {
$leg_max_length = strlen($l);
}
}
$fontsize = 7;
$extra_height = 15;
if (defined("METACONSOLE"))
$extra_height = 20;
$return .= "<div id='extra_$graph_id' style='font-size: ".$fontsize."pt; display:none; position:absolute; overflow: auto; height: ".$extra_height."px; background:#fff; padding: 2px 2px 2px 2px; border: solid #000 1px;'></div>";
$maxticks = (int) ($width / ($fontsize * $leg_max_length));
$i_aux = $i;
while(1) {
if ($i_aux <= $maxticks ) {
break;
}
$intervaltick*= 2;
$i_aux /= 2;
}
$intervaltick = (int) $intervaltick;
$acumulate = 0;
$c = 0;
$acumulate_data = array();
foreach ($graph_data as $label => $values) {
$labels[] = io_safe_output($label);
$i--;
foreach ($values as $key => $value) {
$jsvar = "d_".$graph_id."_".$i;
if ($key == 'data') {
$datacolor[$jsvar] = $colors[$value];
continue;
}
$data[$jsvar][] = $value;
$acumulate_data[$c] = $acumulate;
$acumulate += $value;
$c++;
if ($value > $max) {
$max = $value;
}
}
}
// Store serialized data to use it from javascript
$labels = implode($separator,$labels);
$datacolor = implode($separator,$datacolor);
$legend = io_safe_output(implode($separator,$legend));
if (!empty($full_legend_date)) {
$full_legend_date = io_safe_output(implode($separator,$full_legend_date));
}
2017-07-24 16:34:22 +02:00
else {
$full_legend_date = false;
}
$acumulate_data = io_safe_output(implode($separator,$acumulate_data));
// Store data series in javascript format
$jsvars = '';
$jsseries = array();
$date = get_system_time ();
$datelimit = ($date - $period) * 1000;
$i = 0;
$values2 = array();
foreach ($data as $jsvar => $values) {
$values2[] = implode($separator,$values);
$i ++;
}
$values = implode($separator2, $values2);
// Javascript code
$return .= "<script type='text/javascript'>";
$return .= "//<![CDATA[\n";
$return .= "pandoraFlotSlicebar('$graph_id', '$values', '$datacolor', '$labels', '$legend', '$acumulate_data', $intervaltick, false, $max, '$separator', '$separator2', '', $id_agent, '$full_legend_date')";
$return .= "\n//]]>";
$return .= "</script>";
return $return;
}
?>