+ $ret = $this->graph($tframe, $g_sub, $graph_extras);
+ if (strpos($ret, "\n\n") !== false) { $graph_cmd = substr($ret, 0, strpos($ret, "\n\n")); $ret = substr($ret, strpos($ret, "\n\n")+2); }
+ else { $graph_cmd = null; }
+ $grout = explode("\n",$ret);
+ $gfilename = null;
+ $gmeta = array();
+ foreach ($grout as $gline) {
+ if (preg_match('/^file:(.+)$/', $gline, $regs)) {
+ $gfilename = $regs[1];
+ }
+ elseif (preg_match('/^(\d+)x(\d+)$/', $gline, $regs)) {
+ $gmeta['width'] = $regs[1]; $gmeta['height'] = $regs[2];
+ }
+ elseif (preg_match('/^([^\|]+)\|([^|]+)\|([^\|]*)$/', $gline, $regs)) {
+ $gmeta['data'][$regs[1]][$regs[2]] = $regs[3];
+ }
+ elseif (preg_match('/^([^\|]+)\|([^\|]*)$/', $gline, $regs)) {
+ $gmeta['var'][$regs[1]] = $regs[2];
+ }
+ elseif (strlen(trim($gline))) {
+ $gmeta['info'][] = $gline;
+ }
+ }
+ if (is_null($gfilename)) { $gfilename = $this->basename.(!is_null($g_sub)?'-'.$g_sub:'').'-'.$tframe.'.png'; }
+ if (isset($pconf['graph_url'])) {
+ $gURL = $pconf['graph_url'];
+ $fname = str_replace('%f', basename($gfilename), $gURL);
+ $fname = str_replace('%p', $gfilename, $gURL);
+ if (substr($gURL, -1) == '/') { $gURL .= $gfilename; }
+ }
+ else {
+ $gURL = $gfilename;
+ }
+ $out .= '<div class="'.$tframe.'">';
+// $out .= '<p>'.nl2br($ret).'</p>';
+ $out .= '<h2>'.$gtitle[$tframe].'</h2>';
+ $out .= '<img src="'.$gURL.'"';
+ $out .= ' alt="'.$this->basename.(!is_null($g_sub)?' - '.$g_sub:'').' - '.$tframe.'" class="rrdgraph"';
+ $out .= ' style="width:'.$gmeta['width'].'px;height:'.$gmeta['height'].'px;">';
+ if (isset($gmeta['data']) && count($gmeta['data'])) {
+ $out .= '<table class="gdata">';
+ foreach ($gmeta['data'] as $field=>$gdata) {
+ $out .= '<tr><th>'.$field.'</th>';
+ foreach ($gdata as $gkey=>$gval) {
+ $out .= '<td><span class="gkey">'.$gkey.': </span>'.$gval.'</td>';
+ }
+ $out .= '</tr>';
+ }
+ $out .= '</table>';
+ }
+ if (isset($gmeta['var']) && count($gmeta['var'])) {
+ foreach ($gmeta['var'] as $gkey=>$gval) {
+ $out .= '<p class="gvar"><span class="gkey">'.$gkey.': </span>'.$gval.'</p>';
+ }
+ }
+ if (isset($gmeta['info']) && count($gmeta['info'])) {
+ foreach ($gmeta['info'] as $gval) {
+ $out .= '<p class="ginfo">'.$gval.'</p>';
+ }
+ }