= \"$start\""; } if(isset($HTTP_GET_VARS['normalize'])){ if(strcmp($HTTP_GET_VARS['normalize'],"true")==0){ $NORMALIZE=1; } else{ $NORMALIZE=0; } } else{ $NORMALIZE=0; } if(isset($HTTP_GET_VARS['showdata'])){ if(strcmp($HTTP_GET_VARS['showdata'],"true")==0){ $SHOWDATA=1; } else{ $SHOWDATA=0; } } else{ $SHOWDATA=0; } if(isset($HTTP_GET_VARS['showpoints'])){ if(strcmp($HTTP_GET_VARS['showpoints'],"true")==0){ $SHOWPOINTS=1; } else{ $SHOWPOINTS=0; } } else{ $SHOWPOINTS=0; } /******************************** * * printing error image if necessary * ********************************/ if($URL_ERROR==1){ printErrorMsg("URL Error: $error_msg. Could not draw graph.", $DEBUG); } /******************************** * * creating the graph * ********************************/ // Callback formatting function for the X-scale to convert timestamps // to hour and minutes. function TimeCallback( $aVal) { return Date ('m-d-y', $aVal); } $graph = new Graph($xsize,$ysize); $graph->SetScale("datelin"); $graph->tabtitle->Set(" {$meaningfull_names["$name"]} "); $graph->xaxis->SetLabelAngle(90); $graph->SetMargin(70,30,30,110+sizeof($measure)*18); $graph->xaxis->title->Set(""); $graph->xaxis->title->SetMargin(80); $graph->yaxis->title->Set(""); $graph->yaxis->title->SetMargin(30); $graph->SetFrame(false); $graph->SetMarginColor("White"); $graph->legend->SetShadow('gray@0.4',5); $graph->legend->SetAbsPos($xsize*.2,$ysize-(40+(sizeof($measure)*18)),'top','left'); $graph->legend->hide(false); $graph->ygrid->SetFill(true,'#EFEFEF@0.5','#BBCCFF@0.5'); $graph->xgrid->Show(); $graph->xaxis->scale->SetTimeAlign(MONTHADJ_1); $graph->xaxis-> SetLabelFormatCallback( 'TimeCallback'); /******************************** * * executing the query by... * magic!!! * ********************************/ $RELEVANT_DATA=0; $data_max=array(); $index=0; $xdata=array(); $values=array(); foreach($measure as $m){ $values["$m"]=array(); $data_max["$m"]=-1; } $data_arr=array(); $line_arr=array(); $color_arr = array("red","blue","green","orange","black", "brown","gray"); $night_table_statement = "SELECT * FROM night WHERE machine=$machine_id $start_query $end_query ORDER BY added DESC"; if($DEBUG){ print "night_table_statement: $night_table_statement
\n"; } $night_table_query = mysql_query($night_table_statement) or die(mysql_error()); while($row = mysql_fetch_array($night_table_query)){ preg_match("/(\d\d\d\d)\-(\d\d)\-(\d\d)\s(\d\d)\:(\d\d)\:(\d\d)/", $row['added'], $pjs); $seconds = mktime($pjs[4], $pjs[5], $pjs[6], $pjs[2], $pjs[3],$pjs[1]); array_push($xdata, $seconds); foreach($measure as $m){ if(is_numeric($row["$m"])){ $RELEVANT_DATA++; array_push($values["$m"], (float)$row["$m"]); if($DEBUG){ print "{$row["$m"]}
\n"; } if($row["$m"]>$data_max["$m"]){ $data_max["$m"]=$row["$m"]; }#end if } } #end foreach }#end foreach mysql_free_result($night_table_query); if($NORMALIZE){ foreach ($measure as $m){ for($i=0; $iSetLegend("{$meaningfull_names["$m"]}"); if($SHOWDATA==1){ $line_arr[$index]->value->Show(); } if($SHOWPOINTS==1){ $line_arr[$index]->mark->SetType(MARK_UTRIANGLE); } $color_index=$index % sizeof($color_arr); $line_arr[$index]->SetColor($color_arr[$color_index]); $graph->Add($line_arr[$index]); $index++; } if($RELEVANT_DATA==0){ printErrorMsg("Error: Graph of $measure[0] contains no data", $DEBUG); } if($DEBUG){ print "Finished!
$RELEVANT_DATA
\n"; } else{ $graph->Stroke(); } ?>