init_chart_meta($caption, $numbersuffix); $this->read_logs($file); $this->plot_graph($graph_name, $chart_id); } private function plot_graph($graph_name, $chart_id){ $encoded_data = $this->struct_data(); $pieChart = new FusionCharts("line", $graph_name , "100%", 300, $chart_id, "json", $encoded_data); $pieChart->render(); } private function struct_data(){ $this->chart_meta['data'] = $this->dataset; return json_encode($this->chart_meta); } private function read_logs($file) { if (!file_exists($file)) { return; } $file = fopen($file, "r"); if(empty($file)){ return false; } while(!feof($file)) { $data = explode(' ', fgets($file)); if (empty($data[0]) || empty($data[1] ) ) { continue; } $this->dataset[] = array( "label" => $data[1], "value" => trim($data[2]), "color" => "008ee4", "stepSkipped" => false, "appliedSmartLabel" => true ); } fclose($file); } private function init_chart_meta($caption, $numbersuffix){ $this->chart_meta = array( "chart" => array( "caption" =>$caption, "numbersuffix" => $numbersuffix, "bgcolor" => "FFFFFF", "showalternatehgridcolor" => "0", "plotbordercolor" => "008ee4", "plotborderthickness" => "3", "showvalues" => "0", "divlinecolor" => "CCCCCC", "showcanvasborder" => "0", "tooltipbgcolor" => "00396d", "tooltipcolor" => "FFFFFF", "tooltipbordercolor" => "00396d", "numdivlines" => "20", "yaxisvaluespadding" => "20", "anchorbgcolor" => "008ee4", "anchorborderthickness" => "0", "showshadow" => "0", "showLabels" =>"0", "anchorradius" => "2", "chartrightmargin" => "25", "canvasborderalpha" => "0", "showborder" => "1", ) ); } }