=0) { $imageformat = strtolower(read_config_option("weathermap_output_format")); $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); $map = db_fetch_assoc("select weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and (userid=".$userid." or userid=0) and weathermap_maps.id=".$id); if(sizeof($map)) { $imagefile = dirname(__FILE__).'/output/'.'/'.$map[0]['filehash'].".".$imageformat; if($action == 'viewthumb') $imagefile = dirname(__FILE__).'/output/'.$map[0]['filehash'].".thumb.".$imageformat; $orig_cwd = getcwd(); chdir(dirname(__FILE__)); header('Content-type: image/png'); // readfile_chunked($imagefile); readfile($imagefile); dir($orig_cwd); } else { // no permission to view this map } } break; case 'liveviewimage': $id = -1; if( isset($_REQUEST['id']) && (!is_numeric($_REQUEST['id']) || strlen($_REQUEST['id'])==20) ) { $id = weathermap_translate_id($_REQUEST['id']); } if( isset($_REQUEST['id']) && is_numeric($_REQUEST['id']) ) { $id = intval($_REQUEST['id']); } if($id >=0) { $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); $map = db_fetch_assoc("select weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and (userid=".$userid." or userid=0) and weathermap_maps.id=".$id); if(sizeof($map)) { $mapfile = dirname(__FILE__).'/configs/'.'/'.$map[0]['configfile']; $orig_cwd = getcwd(); chdir(dirname(__FILE__)); header('Content-type: image/png'); $map = new WeatherMap; $map->context = ''; // $map->context = "cacti"; $map->rrdtool = read_config_option("path_rrdtool"); $map->ReadConfig($mapfile); $map->ReadData(); $map->DrawMap('','',250,TRUE,FALSE); dir($orig_cwd); } } break; case 'liveview': include_once($config["base_path"]."/include/top_graph_header.php"); print "
\n"; print " \n"; $id = -1; if( isset($_REQUEST['id']) && (!is_numeric($_REQUEST['id']) || strlen($_REQUEST['id'])==20) ) { $id = weathermap_translate_id($_REQUEST['id']); } if( isset($_REQUEST['id']) && is_numeric($_REQUEST['id']) ) { $id = intval($_REQUEST['id']); } if($id >=0) { $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); $map = db_fetch_assoc("select weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and (userid=".$userid." or userid=0) and weathermap_maps.id=".$id); if(sizeof($map)) { $maptitle = $map[0]['titlecache']; html_graph_start_box(1,true); ?> ">
"; # print "Generating map $id here now from ".$map[0]['configfile']; $confdir = dirname(__FILE__).'/configs/'; // everything else in this file is inside this else $mapname = $map[0]['configfile']; $mapfile = $confdir.'/'.$mapname; $orig_cwd = getcwd(); chdir(dirname(__FILE__)); $map = new WeatherMap; // $map->context = "cacti"; $map->rrdtool = read_config_option("path_rrdtool"); print "
";
			$map->ReadConfig($mapfile);
			$map->ReadData();
			$map->DrawMap('null');		
			$map->PreloadMapHTML();
			print "
"; print ""; print "\n"; print $map->imap->subHTML("LEGEND:"); print $map->imap->subHTML("TIMESTAMP"); print $map->imap->subHTML("NODE:"); print $map->imap->subHTML("LINK:"); chdir($orig_cwd); print ""; html_graph_end_box(); } else { print "Map unavailable."; } } else { print "No ID, or unknown map name."; } weathermap_versionbox(); include_once($config["base_path"]."/include/bottom_footer.php"); break; case 'mrss': header('Content-type: application/rss+xml'); print ''."\n"; print 'My Network Weathermaps'; $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); $maplist = db_fetch_assoc( "select distinct weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and (userid=".$userid." or userid=0) order by sortorder, id"); foreach ($maplist as $map) { $thumburl = "weathermap-cacti-plugin.php?action=viewthumb&id=".$map['filehash']."&time=".time(); $bigurl = "weathermap-cacti-plugin.php?action=viewimage&id=".$map['filehash']."&time=".time(); $linkurl = 'weathermap-cacti-plugin.php?action=viewmap&id='.$map['filehash']; $maptitle = $map['titlecache']; $guid = $map['filehash']; if($maptitle == '') $maptitle= "Map for config file: ".$map['configfile']; printf('%sNetwork Weathermap named "%s"%s%s%s', $maptitle, $maptitle, $linkurl,$thumburl,$bigurl,$config['url_path'],$guid); print "\n"; } print ''; break; case 'viewmapcycle': include_once($config["base_path"]."/include/top_graph_header.php"); print "
\n"; print " \n"; weathermap_fullview(TRUE); weathermap_versionbox(); include_once($config["base_path"]."/include/bottom_footer.php"); break; case 'viewmap': include_once($config["base_path"]."/include/top_graph_header.php"); print "
\n"; print " \n"; $id = -1; if( isset($_REQUEST['id']) && (!is_numeric($_REQUEST['id']) || strlen($_REQUEST['id'])==20) ) { $id = weathermap_translate_id($_REQUEST['id']); } if( isset($_REQUEST['id']) && is_numeric($_REQUEST['id']) ) { $id = intval($_REQUEST['id']); } if($id>=0) { weathermap_singleview($id); } weathermap_versionbox(); include_once($config["base_path"]."/include/bottom_footer.php"); break; default: include_once($config["base_path"]."/include/top_graph_header.php"); print "
\n"; print " \n"; $group_id = -1; if( isset($_REQUEST['group_id']) && (is_numeric($_REQUEST['group_id']) ) ) { $group_id = intval($_REQUEST['group_id']); $_SESSION['wm_last_group'] = $group_id; } else { if(isset($_SESSION['wm_last_group'])) { $group_id = intval($_SESSION['wm_last_group']); } } $tabs = weathermap_get_valid_tabs(); $tab_ids = array_keys($tabs); if( ($group_id == -1) && (sizeof($tab_ids)>0)) { $group_id = $tab_ids[0]; } if(read_config_option("weathermap_pagestyle") == 0) { weathermap_thumbview($group_id); } if(read_config_option("weathermap_pagestyle") == 1) { weathermap_fullview(FALSE,FALSE,$group_id); } if(read_config_option("weathermap_pagestyle") == 2) { weathermap_fullview(FALSE, TRUE, $group_id); } weathermap_versionbox(); include_once($config["base_path"]."/include/bottom_footer.php"); break; } function weathermap_cycleview() { } function weathermap_singleview($mapid) { global $colors; $is_wm_admin = false; $outdir = dirname(__FILE__).'/output/'; $confdir = dirname(__FILE__).'/configs/'; $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); $map = db_fetch_assoc("select weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and (userid=".$userid." or userid=0) and weathermap_maps.id=".$mapid); if(sizeof($map)) { # print do_hook_function ('weathermap_page_top', array($map[0]['id'], $map[0]['titlecache']) ); print do_hook_function ('weathermap_page_top', '' ); $htmlfile = $outdir.$map[0]['filehash'].".html"; $maptitle = $map[0]['titlecache']; if($maptitle == '') $maptitle= "Map for config file: ".$map[0]['configfile']; weathermap_mapselector($mapid); html_graph_start_box(1,true); ?> ">
"; print "[ Map Settings |"; print "Map Permissions |"; print "Edit Map ]"; print ""; } ?>
"; if(file_exists($htmlfile)) { include($htmlfile); } else { print "
This map hasn't been created yet."; global $config, $user_auth_realms, $user_auth_realm_filenames; $realm_id2 = 0; if (isset($user_auth_realm_filenames[basename('weathermap-cacti-plugin.php')])) { $realm_id2 = $user_auth_realm_filenames[basename('weathermap-cacti-plugin.php')]; } $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); if ((db_fetch_assoc("select user_auth_realm.realm_id from user_auth_realm where user_auth_realm.us er_id='" . $userid . "' and user_auth_realm.realm_id='$realm_id2'")) || (empty($realm_id2))) { print " (If this message stays here for more than one poller cycle, then check your cacti.log file for errors!)"; } print "
"; } print ""; html_graph_end_box(); } } function weathermap_show_manage_tab() { global $config, $user_auth_realms, $user_auth_realm_filenames; $realm_id2 = 0; if (isset($user_auth_realm_filenames['weathermap-cacti-plugin-mgmt.php'])) { $realm_id2 = $user_auth_realm_filenames['weathermap-cacti-plugin-mgmt.php']; } $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); if ((db_fetch_assoc("select user_auth_realm.realm_id from user_auth_realm where user_auth_realm.user_id='" . $userid . "' and user_auth_realm.realm_id='$realm_id2'")) || (empty($realm_id2))) { print 'Manage Maps'; } } function weathermap_thumbview($limit_to_group = -1) { global $colors; $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); $maplist_SQL = "select distinct weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and "; if($limit_to_group >0) $maplist_SQL .= " weathermap_maps.group_id=".$limit_to_group." and "; $maplist_SQL .= " (userid=".$userid." or userid=0) order by sortorder, id"; $maplist = db_fetch_assoc( $maplist_SQL ); // if there's only one map, ignore the thumbnail setting and show it fullsize if(sizeof($maplist) == 1) { $pagetitle = "Network Weathermap"; weathermap_fullview(FALSE,FALSE, $limit_to_group); } else { $pagetitle = "Network Weathermaps"; html_graph_start_box(2,true); ?> ">
automatically cycle between full-size maps)
Click on thumbnails for a full view (or you can automatically cycle between full-size maps) 0) { $outdir = dirname(__FILE__).'/output/'; $confdir = dirname(__FILE__).'/configs/'; $imageformat = strtolower(read_config_option("weathermap_output_format")); html_graph_start_box(1,false); print ""; foreach ($maplist as $map) { $i++; $imgsize = ""; # $thumbfile = $outdir."weathermap_thumb_".$map['id'].".".$imageformat; # $thumburl = "output/weathermap_thumb_".$map['id'].".".$imageformat."?time=".time(); $thumbfile = $outdir.$map['filehash'].".thumb.".$imageformat; $thumburl = "?action=viewthumb&id=".$map['filehash']."&time=".time(); if($map['thumb_width'] > 0) { $imgsize = ' WIDTH="'.$map['thumb_width'].'" HEIGHT="'.$map['thumb_height'].'" '; } $maptitle = $map['titlecache']; if($maptitle == '') $maptitle= "Map for config file: ".$map['configfile']; print '
'; if(file_exists($thumbfile)) { print '
'.$maptitle.'
'.$maptitle.''; } else { print "(thumbnail for map not created yet)"; } if($showlivelinks==1) { print "(live)"; } print '
'; } print ""; html_graph_end_box(); } else { print "
You Have No Maps
\n"; } } } function weathermap_fullview($cycle=FALSE, $firstonly=FALSE, $limit_to_group = -1) { global $colors; $_SESSION['custom']=false; $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); # $query = "select distinct weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and (userid=".$userid." or userid=0) order by sortorder, id"; $maplist_SQL = "select distinct weathermap_maps.* from weathermap_auth,weathermap_maps where weathermap_maps.id=weathermap_auth.mapid and active='on' and "; if($limit_to_group >0) $maplist_SQL .= " weathermap_maps.group_id=".$limit_to_group." and "; $maplist_SQL .= " (userid=".$userid." or userid=0) order by sortorder, id"; if($firstonly) { $maplist_SQL .= " LIMIT 1"; } $maplist = db_fetch_assoc( $maplist_SQL ); html_graph_start_box(2,true); if(sizeof($maplist) == 1) { $pagetitle = "Network Weathermap"; } else { $pagetitle = "Network Weathermaps"; } ?> ">
automatically cycle between full-size maps) Cycling all available maps. Stop.
0) { $outdir = dirname(__FILE__).'/output/'; $confdir = dirname(__FILE__).'/configs/'; foreach ($maplist as $map) { $i++; $htmlfile = $outdir.$map['filehash'].".html"; $maptitle = $map['titlecache']; if($maptitle == '') $maptitle= "Map for config file: ".$map['configfile']; print '
'; html_graph_start_box(1,true); print ''; ?>
This map hasn't been created yet.
"; } print ''; html_graph_end_box(); print ''; } if($cycle) { $refreshtime = read_config_option("weathermap_cycle_refresh"); // OK, so the Cycle plugin does all this with a tag at the bottom of the body // that overrides the one at the top (that Cacti puts there). Unfortunately, that // isn't valid HTML! So here's a Javascript driven way to do it // It has the advantage that the image switching is cleaner, too. // We also do a nice thing of taking the poller-period (5 mins), and the // available maps, and making sure each one gets equal time in the 5 minute period. ?> You Have No Maps\n"; } } function weathermap_translate_id($idname) { $SQL = "select id from weathermap_maps where configfile='".mysql_real_escape_string($idname)."' or filehash='".mysql_real_escape_string($idname)."'"; $map = db_fetch_assoc($SQL); return($map[0]['id']); } function weathermap_versionbox() { global $WEATHERMAP_VERSION, $colors; global $config, $user_auth_realms, $user_auth_realm_filenames; $pagefoot = "Powered by PHP Weathermap version $WEATHERMAP_VERSION"; $realm_id2 = 0; if (isset($user_auth_realm_filenames['weathermap-cacti-plugin-mgmt.php'])) { $realm_id2 = $user_auth_realm_filenames['weathermap-cacti-plugin-mgmt.php']; } $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); if ((db_fetch_assoc("select user_auth_realm.realm_id from user_auth_realm where user_auth_realm.user_id='" . $userid . "' and user_auth_realm.realm_id='$realm_id2'")) || (empty($realm_id2))) { $pagefoot .= " --- Weathermap Management"; $pagefoot .= " | Local Documentation"; $pagefoot .= " | Editor"; } html_graph_start_box(1,true); ?> ">
'; html_start_box("
Local Documentation -- Weathermap Website -- Weathermap Editor -- This is version $WEATHERMAP_VERSION
", "78%", $colors["header"], "2", "center", ""); html_end_box(); } function weathermap_mapselector($current_id = 0) { global $colors; $show_selector = intval(read_config_option("weathermap_map_selector")); if($show_selector == 0) return false; $userid = (isset($_SESSION["sess_user_id"]) ? intval($_SESSION["sess_user_id"]) : 1); $maps = db_fetch_assoc("select distinct weathermap_maps.*,weathermap_groups.name, weathermap_groups.sortorder as gsort from weathermap_groups,weathermap_auth,weathermap_maps where weathermap_maps.group_id=weathermap_groups.id and weathermap_maps.id=weathermap_auth.mapid and active='on' and (userid=".$userid." or userid=0) order by gsort, sortorder"); if(sizeof($maps)>1) { /* include graph view filter selector */ html_graph_start_box(3, TRUE); ?> " class="noprint">
 Jump To Map:   
1) { /* draw the categories tabs on the top of the page */ print "

\n"; if (sizeof($tabs) > 0) { $show_all = intval(read_config_option("weathermap_all_tab")); if($show_all == 1) { $tabs['-2'] = "All Maps"; } foreach (array_keys($tabs) as $tab_short_name) { print "\n \n"; } } print "\n
$tabs[$tab_short_name]
\n"; return(true); } else { return(false); } } // vim:ts=4:sw=4: ?> WebSVN - weathermap - Blame - Rev 109 - /weathermap-cacti-plugin.php
  jablonka.czprosek.czf

weathermap

Subversion Repositories:
[/] [weathermap-cacti-plugin.php] - Blame information for rev 109

 

Line No. Rev Author Line

Powered by WebSVN 2.2.1