+ $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);
+ $gmeta = array();
+ foreach ($grout as $gline) {
+ if (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;
+ }
+ }
+ $out .= '<div class="'.$tframe.'">';
+// $out .= '<p>'.nl2br($ret).'</p>';
+ $out .= '<h2>'.$gtitle[$tframe].'</h2>';
+ $out .= '<img src="'.$basename.(!is_null($g_sub)?'-'.$g_sub:'').'-'.$tframe.'.png"';
+ $out .= ' alt="'.$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>';
+ }
+ }