mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	* Security fix: unauthorized access Affects nginx users: Moved php files outside of public html directory (Apache was protected by .htaccess) Affects all users: Some files did not check for authentication and could disclose some info. Better checks before including files from user input * git mv html/includes/ includes/html git mv html/pages/ includes/html/
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| // Draw generic bits graph
 | |
| // args: ds_in, ds_out, rrd_filename, bg, legend, from, to, width, height, inverse, percentile
 | |
| require 'includes/html/graphs/common.inc.php';
 | |
| 
 | |
| $unit_text = str_pad(substr($unit_text, 0, 18), 18);
 | |
| $line_text = str_pad(substr($line_text, 0, 12), 12);
 | |
| 
 | |
| if ($multiplier) {
 | |
|     if (empty($multiplier_action)) {
 | |
|         $multiplier_action = '*';
 | |
|     }
 | |
| 
 | |
|     $rrd_options .= ' DEF:'.$ds.'_o='.$rrd_filename.':'.$ds.':AVERAGE';
 | |
|     $rrd_options .= ' CDEF:'.$ds.'='.$ds."_o,$multiplier,$multiplier_action";
 | |
| } else {
 | |
|     $rrd_options .= ' DEF:'.$ds.'='.$rrd_filename.':'.$ds.':AVERAGE';
 | |
| }
 | |
| 
 | |
| if ($print_total) {
 | |
|     $rrd_options .= ' VDEF:'.$ds.'_total='.$ds.',TOTAL';
 | |
| }
 | |
| 
 | |
| if ($percentile) {
 | |
|     $rrd_options .= ' VDEF:'.$ds.'_percentile='.$ds.','.$percentile.',PERCENT';
 | |
| }
 | |
| 
 | |
| if ($_GET['previous'] == 'yes') {
 | |
|     if ($multiplier) {
 | |
|         if (empty($multiplier_action)) {
 | |
|             $multiplier_action = '*';
 | |
|         }
 | |
| 
 | |
|         $rrd_options .= ' DEF:'.$ds.'_oX='.$rrd_filename.':'.$ds.':AVERAGE:start='.$prev_from.':end='.$from;
 | |
|         $rrd_options .= ' SHIFT:'.$ds."_oX:$period";
 | |
|         $rrd_options .= ' CDEF:'.$ds.'X='.$ds."_oX,$multiplier,*";
 | |
|     } else {
 | |
|         $rrd_options .= ' DEF:'.$ds.'X='.$rrd_filename.':'.$ds.':AVERAGE:start='.$prev_from.':end='.$from;
 | |
|         $rrd_options .= ' SHIFT:'.$ds."X:$period";
 | |
|     }
 | |
| 
 | |
|     if ($print_total) {
 | |
|         $rrd_options .= ' VDEF:'.$ds.'_totalX='.$ds.',TOTAL';
 | |
|     }
 | |
| 
 | |
|     if ($percentile) {
 | |
|         $rrd_options .= ' VDEF:'.$ds.'_percentileX='.$ds.','.$percentile.',PERCENT';
 | |
|     }
 | |
| 
 | |
|     // if ($graph_max)
 | |
|     // {
 | |
|     // $rrd_options .= " AREA:".$ds."_max#".$colour_area_max.":";
 | |
|     // }
 | |
| }//end if
 | |
| 
 | |
| $rrd_options .= ' AREA:'.$ds.'#'.$colour_area.':';
 | |
| 
 | |
| $rrd_options .= " COMMENT:'".$unit_text.'Now       Ave      Max';
 | |
| 
 | |
| if ($percentile) {
 | |
|     $rrd_options .= '      '.$percentile.'th %';
 | |
| }
 | |
| 
 | |
| $rrd_options .= "\\n'";
 | |
| $rrd_options .= ' LINE1.25:'.$ds.'#'.$colour_line.":'".$line_text."'";
 | |
| $rrd_options .= ' GPRINT:'.$ds.':LAST:%6.2lf%s';
 | |
| $rrd_options .= ' GPRINT:'.$ds.':AVERAGE:%6.2lf%s';
 | |
| $rrd_options .= ' GPRINT:'.$ds.':MAX:%6.2lf%s';
 | |
| 
 | |
| if ($percentile) {
 | |
|     $rrd_options .= ' GPRINT:'.$ds.'_percentile:%6.2lf%s';
 | |
| }
 | |
| 
 | |
| $rrd_options .= "\\n";
 | |
| $rrd_options .= " COMMENT:\\n";
 | |
| 
 | |
| if ($print_total) {
 | |
|     $rrd_options .= ' GPRINT:'.$ds.'_total:Total" %6.2lf%s"\\l';
 | |
| }
 | |
| 
 | |
| if ($percentile) {
 | |
|     $rrd_options .= ' LINE1:'.$ds.'_percentile#aa0000';
 | |
| }
 | |
| 
 | |
| if ($_GET['previous'] == 'yes') {
 | |
|     $rrd_options .= ' LINE1.25:'.$ds."X#666666:'Prev \\n'";
 | |
|     $rrd_options .= ' AREA:'.$ds.'X#99999966:';
 | |
| }
 |