diff --git a/pandora_console/operation/visual_console/public_console.php b/pandora_console/operation/visual_console/public_console.php new file mode 100644 index 0000000000..c6bc17753b --- /dev/null +++ b/pandora_console/operation/visual_console/public_console.php @@ -0,0 +1,141 @@ +<?php + +// Pandora FMS - http://pandorafms.com +// ================================================== +// Copyright (c) 20012 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. + +// Real start + +require_once ("../../include/config.php"); + +// Set root on homedir, as defined in setup +chdir ($config["homedir"]); + +session_start (); +ob_start (); +echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n"; +echo '<html xmlns="http://www.w3.org/1999/xhtml">'."\n"; +echo '<head>'; + +// This starts the page head. In the call back function, +// things from $page['head'] array will be processed into the head +ob_start ('ui_process_page_head'); + +require ('include/functions_visual_map.php'); + +// Auto Refresh page (can now be disabled anywhere in the script) +$config["refr"] = (int) get_parameter ("refr"); +$config["remote_addr"] = $_SERVER['REMOTE_ADDR']; + +$hash = get_parameter ('hash'); +$id_layout = (int) get_parameter ('id_layout'); +$config["id_user"] = get_parameter ('id_user'); + +$myhash = md5($config["dbpass"].$id_layout. $config["id_user"]); + +// Check input hash +if ( $myhash != $hash){ + exit; +} + +$refr = (int) get_parameter ('refr', $config['vc_refr']); +$vc_refr = false; +$layout = db_get_row ('tlayout', 'id', $id_layout); + +if (! $layout) { + db_pandora_audit("ACL Violation","Trying to access visual console without id layout"); + include ("../../general/noaccess.php"); + exit; +} + +$id_group = $layout["id_group"]; +$layout_name = $layout["name"]; +$fullscreen = $layout["fullscreen"]; +$background = $layout["background"]; +$bwidth = $layout["width"]; +$bheight = $layout["height"]; + +$pure_url = "&pure=".$config["pure"]; + +// Render map +$options = array(); + +echo "<h1>". $layout_name. "</h1>"; + +visual_map_print_visual_map ($id_layout); + +$values = array (); +$values[5] = human_time_description_raw (5); +$values[30] = human_time_description_raw (30); +$values[60] = human_time_description_raw (60); +$values[120] = human_time_description_raw (120); +$values[300] = human_time_description_raw (300); +$values[600] = human_time_description_raw (600); +$values[1800] = human_time_description_raw (1800); + +$table->width = '90%'; +$table->data = array (); +$table->style = array (); +$table->style[2] = 'text-align: center'; +$table->data[0][0] = __('Autorefresh time'); + +if (empty($config["vc_refr"])){ + $vc_refr = true; + $config["vc_refr"] = $refr; +} + +$table->data[0][1] = html_print_select ($values, 'refr', $config["vc_refr"], '', 'N/A', 0, true, false, false); +$table->data[0][2] = html_print_submit_button (__('Refresh'), '', false, 'class="sub next"', true); +$table->data[0][2] .= html_print_input_hidden ('vc_refr', $config["vc_refr"], true); + +if ($vc_refr){ + $config["vc_refr"] = 0; +} + +echo '<div style="height:30px"> </div>'; + +if ($config['pure'] && $config["refr"] != 0) { + echo '<div id="countdown"><br /></div>'; +} + +echo '<div style="height:30px"> </div>'; + +echo '<form method="post">'; +html_print_input_hidden ('pure', $config["pure"]); +html_print_input_hidden ('id', $id_layout); +html_print_table ($table); +echo '</form>'; + +if ($config["pure"] && $config["refr"] != 0) { + ui_require_jquery_file ('countdown'); + ui_require_css_file ('countdown'); +} +ui_require_javascript_file ('wz_jsgraphics'); +ui_require_javascript_file ('pandora_visual_console'); +?> +<script language="javascript" type="text/javascript"> +/* <![CDATA[ */ +$(document).ready (function () { + $("#refr").change(function () { + $("#hidden-vc_refr").val($("#refr option:selected").val()); + }); + +<?php if ($config["pure"] && $config["refr"] > 0): ?> + t = new Date(); + t.setTime (t.getTime() + <?php echo $config["refr"] * 1000; ?>); + $("#countdown").countdown({until: t, format: 'MS', description: '<?php echo __('Until refresh'); ?>'}); + +<?php endif; ?> + draw_lines (lines, 'layout_map'); +}); +/* ]]> */ +</script>