--- ../../../modules/trafficgraph.php 2010-11-25 10:34:51.374774375 +0100 +++ ./trafficgraph_userpanel.php 2010-11-25 10:36:22.564773714 +0100 @@ -23,16 +23,17 @@ * * $Id: trafficgraph.php,v 1.12 2010/08/27 09:37:24 alec Exp $ */ - + if(!function_exists('imagecreate')) die; - + define('GRAPH_HEIGHT', 180); define('GRAPH_WIDTH', 500); -function TrafficGraph ($nodeid, $net=NULL, $customer=NULL, $bar=NULL, $fromdate=NULL, $todate=NULL, $add=NULL) +function TrafficGraphUserPanel ($nodeid, $net=NULL, $customer=NULL, $bar=NULL, $fromdate=NULL, $todate=NULL, $add=NULL) { - global $LMS; + + global $LMS, $SESSION; // image size $ymax = GRAPH_HEIGHT; @@ -97,10 +98,15 @@ $div = 10; $qdivisor = (int) ($quantum/$divisor); - if($nodeid) + if( $nodeid ) { $node = $LMS->DB->GetRow('SELECT name, INET_NTOA(ipaddr) AS ip - FROM nodes WHERE id = ?', array($nodeid)); + FROM nodes WHERE id = ? AND ownerid = ?', array($nodeid, $SESSION->id)); + + // nothing found, maybe not logged in? + if($node==FALSE) { + die; + } $stats = $LMS->DB->GetAll('SELECT SUM(upload) AS upload, SUM(download) AS download, @@ -108,40 +114,46 @@ FROM stats WHERE nodeid = ? AND dt >= ? AND dt <= ? GROUP BY CEIL(dt/?) ORDER BY dts ASC', array($qdivisor, $nodeid, $fromdate-$qdivisor, $todate+$qdivisor, $qdivisor)); + } else { // nodeid not set + die; + } - else - { - if($net) - { - $params = $LMS->GetNetworkParams($net); - if($params) - { - $params['address']++; - $params['broadcast']--; - $net = ' AND (( ipaddr > '.$params['address'].' AND ipaddr < '.$params['broadcast'].') - OR ( ipaddr_pub > '.$params['address'].' AND ipaddr_pub < '.$params['broadcast'].')) '; - } - else - $net = ''; - } - else - $net = ''; - - $stats = $LMS->DB->GetAll('SELECT SUM(upload) AS upload, - SUM(download) AS download, dts - FROM ( - SELECT SUM(upload) AS upload, SUM(download) AS download, - CEIL(dt/?) AS dts - FROM stats ' - .($customer || $net ? 'JOIN nodes ON stats.nodeid = nodes.id ' : '') - .'WHERE dt >= ? AND dt <= ? ' - .($customer ? ' AND ownerid = '.intval($customer) : '') - .$net - .'GROUP BY CEIL(dt/?), nodeid) x - GROUP BY dts ORDER BY dts', - array($qdivisor, $fromdate-$qdivisor, $todate+$qdivisor, $qdivisor)); - } - + + header('Content-type: image/png'); + +# else +# { +# if($net) +# { +# $params = $LMS->GetNetworkParams($net); +# if($params) +# { +# $params['address']++; +# $params['broadcast']--; +# $net = ' AND (( ipaddr > '.$params['address'].' AND ipaddr < '.$params['broadcast'].') +# OR ( ipaddr_pub > '.$params['address'].' AND ipaddr_pub < '.$params['broadcast'].')) '; +# } +# else +# $net = ''; +# } +# else +# $net = ''; +# +# $stats = $LMS->DB->GetAll('SELECT SUM(upload) AS upload, +# SUM(download) AS download, dts +# FROM ( +# SELECT SUM(upload) AS upload, SUM(download) AS download, +# CEIL(dt/?) AS dts +# FROM stats ' +# .($customer || $net ? 'JOIN nodes ON stats.nodeid = nodes.id ' : '') +# .'WHERE dt >= ? AND dt <= ? ' +# .($customer ? ' AND ownerid = '.intval($customer) : '') +# .$net +# .'GROUP BY CEIL(dt/?), nodeid) x +# GROUP BY dts ORDER BY dts', +# array($qdivisor, $fromdate-$qdivisor, $todate+$qdivisor, $qdivisor)); +# } + $down_max = $up_max = 0; $last_up = $last_down = 0; $avg_up = $avg_down = 0; @@ -160,7 +172,7 @@ $up_max = $vstats[$i]['upload']; $sum_down += $row['download']*8; - $sum_up += $row['upload']*8; + $sum_up += $row['upload']*8; unset($stats[$idx]); } @@ -325,28 +337,29 @@ imagedestroy($img); } + $nodeid = isset($_GET['nodeid']) ? $_GET['nodeid'] : 0; $bar = isset($_GET['bar']) ? $_GET['bar'] : NULL; $from = isset($_GET['from']) ? $_GET['from'] : NULL; $to = isset($_GET['to']) ? $_GET['to'] : NULL; -$customer = isset($_GET['customer']) ? $_GET['customer'] : NULL; -$net = isset($_GET['net']) ? $_GET['net'] : NULL; +//$customer = isset($_GET['customer']) ? $_GET['customer'] : NULL; +//$net = isset($_GET['net']) ? $_GET['net'] : NULL; $add = isset($_GET['add']) ? $_GET['add'] : NULL; -if(empty($_GET['popup'])) -{ - header('Content-type: image/png'); - TrafficGraph($nodeid, $net, $customer, $bar, $from, $to, $add); - die; -} -$SMARTY->assign('nodeid', $nodeid); -$SMARTY->assign('bar', $bar); -$SMARTY->assign('to', $to); -$SMARTY->assign('from', $from); -$SMARTY->assign('add', $add); -$SMARTY->assign('customer', $customer); -$SMARTY->assign('net', $net); -$SMARTY->display('trafficgraph.html'); +//if(empty($_GET['popup'])) +//{ + TrafficGraphUserPanel($nodeid, NULL, NULL, $bar, $from, $to, $add); +// die; +//} + +//$SMARTY->assign('nodeid', $nodeid); +//$SMARTY->assign('bar', $bar); +//$SMARTY->assign('to', $to); +//$SMARTY->assign('from', $from); +//$SMARTY->assign('add', $add); +//$SMARTY->assign('customer', $customer); +//$SMARTY->assign('net', $net); +//$SMARTY->display('trafficgraph.html'); ?>