Aggiunta grafici utilizzo proxy

This commit is contained in:
cmaffio
2016-03-21 15:50:44 +01:00
parent 990b05d3f2
commit e766f020d5
6 changed files with 266 additions and 574 deletions

126
proxy/graph.php Normal file
View File

@@ -0,0 +1,126 @@
<?php
include_once ("../core/config.php");
$UTENTE = login();
//isadmin();
include_once "../jpgraph/jpgraph.php";
//include_once "../jpgraph/jpgraph_line.php";
//include_once "../jpgraph/jpgraph_plotline.php";
//include_once( "../jpgraph/jpgraph_date.php" );
include_once "../jpgraph/jpgraph_bar.php";
if (isset ($_GET['ip'])) $ip = $_GET['ip'];
if (isset ($_GET['tempo'])) $tempo = $_GET['tempo'];
switch ($tempo) {
case 'DAY':
$gruppo = "HOUR";
$format1 = "%m%d%H";
$format2 = "%H";
$limit = 24;
break;
case 'WEEK':
$gruppo = "DAY";
$format1 = "%m%d";
$format2= "%d.%m";
$limit = 7;
break;
case 'MONTH':
$gruppo = "DAY";
$format1 = "%m%d";
$format2= "%d.%m";
$limit = 30;
break;
case 'YEAR':
$gruppo = "MONTH";
$format1 = "%Y%m";
$format2= "%b";
$limit = 12;
break;
}
$query = " SELECT
DATE_FORMAT(data_destroy,'$format1'),
DATE_FORMAT(data_destroy,'$format2'),
SUM(inviati),
SUM(ricevuti)
FROM
proxy_dati
WHERE
ip = '$ip'
AND
data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo)
GROUP BY
$gruppo(data_destroy)
UNION
SELECT
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL tempo $gruppo), '$format1'),
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL tempo $gruppo), '$format2'),
0,
0
FROM
(SELECT @i:= @i - 1 AS tempo FROM INFORMATION_SCHEMA.COLLATION_CHARACTER_SET_APPLICABILITY, ( SELECT @i:= $limit) As i ) As Y
WHERE
tempo BETWEEN 0 AND $limit;
";
//print $query; exit;
$res = mysql_query( $query, $DB_ID );
$xdata = array();
$ydata = array(array());
$tmp = array(array());
$tag = array(array());
$alt = array(array());
while ( list ($tempo, $scritta, $inviati, $ricevuti) = mysql_fetch_array($res)) {
$xdata[$tempo] = $tempo;
if (!isset ($tmp['inv'][$tempo]) ) $tmp['inv'][$tempo] = $inviati;
if (!isset ($tmp['ric'][$tempo]) ) $tmp['ric'][$tempo] = $ricevuti;
if (!isset ($tmp['tag'][$tempo]) ) $tmp['tag'][$tempo] = $scritta;
};
//print_r($xdata); exit;
asort($xdata);
foreach ($xdata as $key => $val) {
$ydata['inv'][] = $tmp['inv'][$val];
$ydata['ric'][] = $tmp['ric'][$val];
$ydata['tag'][] = $tmp['tag'][$val];
}
//print_r($ydata); exit;
$l = 900;
$h = 400;
$g = new Graph($l,$h);
$g->SetMargin(80,20,50,80);
$g->SetScale('textlin');
$g->yaxis->SetLabelFormatCallback('byteConvert');
$g->xaxis->SetLabelAngle(45);
$g->legend->Pos(0.05,0.1);
$b1plot = new BarPlot ( $ydata['inv'] );
$b2plot = new BarPlot ( $ydata['ric'] );
$gbplot = new GroupBarPlot (array( $b1plot , $b2plot ));
$g->Add ( $gbplot );
$b1plot->SetFillColor('red');
$b1plot->SetShadow('gray',0.8);
$b1plot->SetLegend("Inviati");
$b2plot->SetFillColor('blue');
$b2plot->SetShadow('gray',0.8);
$b2plot->SetLegend("Ricevuti");
$g->xaxis->SetTickLabels($ydata['tag']);
$g->Stroke();
?>

View File

@@ -38,7 +38,7 @@ while ($dato = mysql_fetch_array ( $res )) {
<tr>
<td rowspan=2 class="col3btn"><img border=0 src="<?php print $CONF['base_url'] ?>/img/attivo.gif" ALT="Utente attivo" TITLE="Utente attivo"> </td>
<td rowspan=2 class="col3btn"><a href="#"><img src="<?php print $CONF['base_url'] ?>/img/modify.gif" width="20" height="20" border="0" ALT="Dettaglio" TITLE="Dettaglio"></a></td>
<td rowspan=2 class="col3btn"><a href="ip.php?ip=<?php print $dato['ip'] ?>"><img src="<?php print $CONF['base_url'] ?>/img/modify.gif" width="20" height="20" border="0" ALT="Dettaglio" TITLE="Dettaglio"></a></td>
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td rowspan=2 class="colip"><?php print $dato['ip'] ?></td>

84
proxy/ip.php Executable file
View File

@@ -0,0 +1,84 @@
<?php
include_once ("../core/config.php");
$UTENTE = login();
$DIRITTI = diritti(1);
view_top();
if (isset($_GET['ip'])) {
$ip = $_GET['ip'];
} else {
// ERRORE
}
if (isset($_POST['tempo'])) {
$tempo = $_POST['tempo'];
} else {
$tempo = "DAY";
}
?>
<form name="" method="post">
<table cellpadding="0" cellspacing="0" border="0" width="90%">
<tr>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td colspan="2">
<select name="tempo" onchange="this.form.submit()">
<option value="DAY" <?php if ($tempo == "DAY") {print "selected=\"selected\""; } ?>>Ultimo Giorno</option>
<option value="WEEK" <?php if ($tempo == "WEEK") {print "selected=\"selected\""; } ?>>Ultima Settimana</option>
<option value="MONTH" <?php if ($tempo == "MONTH") {print "selected=\"selected\""; } ?>>Ultimo Mese</option>
<option value="YEAR" <?php if ($tempo == "YEAR") {print "selected=\"selected\""; } ?>>Ultimo Anno</option>
</select>
</td>
<td colspan="6" class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
</tr>
<tr><td class="spaziov" colspan=9><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
<?php
$query = " SELECT
ip,
MIN(data_destroy) AS first,
MAX(data_destroy) AS last,
SUM(inviati) AS inviati,
SUM(ricevuti) AS ricevuti
FROM
proxy_dati
WHERE
ip = '$ip'
AND
data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo)
";
$res = mysql_query( $query, $DB_ID );
$dato = mysql_fetch_array ( $res );
?>
<tr>
<td rowspan=2 class="col3btn"><img border=0 src="<?php print $CONF['base_url'] ?>/img/attivo.gif" ALT="Utente attivo" TITLE="Utente attivo"> </td>
<td rowspan=2 class="colip"><?php print $dato['ip'] ?></td>
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colip"><?php print $dato['first'] ?></td>
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="descrizione">Inviati</td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colspeed"><?php print byteConvert($dato['inviati']) ?></td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
</tr>
<tr>
<td class="colip"><?php print $dato['last'] ?></td>
<td class="descrizione">Ricevuti</td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colspeed"><?php print byteConvert($dato['ricevuti']) ?></td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
</tr>
<tr><td class="spaziov" colspan=9><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
<tr><td colspan=9 align="center"><img src="<?php print $CONF['base_url'] ?>/proxy/graph.php?ip=<?php print $dato['ip'] ?>&tempo=<?php print $tempo ?>"></td></tr>
<tr><td class="spaziov" colspan=9><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
</table>
</form>
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">
<?php view_footer(); ?>

View File

@@ -3,25 +3,67 @@ include_once ("../core/config.php");
$UTENTE = login();
$DIRITTI = diritti(1);
view_top();
if (isset($_POST['tempo'])) {
$tempo = $_POST['tempo'];
} else {
$tempo = "DAY";
}
?>
</script>
<form name="" method="post">
<table cellpadding="0" cellspacing="0" border="0" width="90%">
<tr>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td colspan="2">
<select name="tempo" onchange="this.form.submit()">
<option value="DAY" <?php if ($tempo == "DAY") {print "selected=\"selected\""; } ?>>Ultimo Giorno</option>
<option value="WEEK" <?php if ($tempo == "WEEK") {print "selected=\"selected\""; } ?>>Ultima Settimana</option>
<option value="MONTH" <?php if ($tempo == "MONTH") {print "selected=\"selected\""; } ?>>Ultimo Mese</option>
<option value="YEAR" <?php if ($tempo == "YEAR") {print "selected=\"selected\""; } ?>>Ultimo Anno</option>
</select>
</td>
<td colspan="10" class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
</td>
</tr>
<tr><td class="spaziov" colspan=13><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
<?php
$query = "SELECT GREATEST (sum(inviati), sum(ricevuti)) AS max from proxy_dati";
$query = "SELECT GREATEST (sum(inviati), sum(ricevuti)) AS max from proxy_dati WHERE data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo)";
$res = mysql_query( $query, $DB_ID );
$valori = mysql_fetch_array ( $res );
$max = $valori['max'];
$query = " SELECT
ip,
MIN(data_destroy) AS first,
MAX(data_destroy) AS last,
SUM(inviati) AS inviati,
SUM(ricevuti) AS ricevuti
FROM
proxy_dati
WHERE
data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo)
GROUP BY
ip
UNION
SELECT
ip,
NULL,
NULL,
0,
0
FROM
proxy_dati
WHERE
data_destroy < DATE_SUB(NOW(), INTERVAL 1 $tempo)
AND
ip NOT IN (
SELECT
ip
FROM
proxy_dati
WHERE
data_destroy >= DATE_SUB(NOW(), INTERVAL 1 $tempo))
ORDER BY
ip
";
@@ -32,10 +74,14 @@ while ($dato = mysql_fetch_array ( $res )) {
<tr>
<td rowspan=2 class="col3btn"><img border=0 src="<?php print $CONF['base_url'] ?>/img/attivo.gif" ALT="Utente attivo" TITLE="Utente attivo"> </td>
<td rowspan=2 class="col3btn"><a href="#"><img src="<?php print $CONF['base_url'] ?>/img/modify.gif" width="20" height="20" border="0" ALT="Dettaglio" TITLE="Dettaglio"></a></td>
<td rowspan=2 class="col3btn"><a href="ip.php?ip=<?php print $dato['ip'] ?>"><img src="<?php print $CONF['base_url'] ?>/img/modify.gif" width="20" height="20" border="0" ALT="Dettaglio" TITLE="Dettaglio"></a></td>
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td rowspan=2 class="colip"><?php print $dato['ip'] ?></td>
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colip"><?php print $dato['first'] ?></td>
<td rowspan=2 class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="descrizione">Inviati</td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
@@ -46,6 +92,7 @@ while ($dato = mysql_fetch_array ( $res )) {
</td>
</tr>
<tr>
<td class="colip"><?php print $dato['last'] ?></td>
<td class="descrizione">Ricevuti</td>
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
<td class="colspeed"><?php print byteConvert($dato['ricevuti']) ?></td>
@@ -54,10 +101,11 @@ while ($dato = mysql_fetch_array ( $res )) {
<td class="spazioh"><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td>
</tr>
<tr><td class="spaziov" colspan=11><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
<tr><td class="spaziov" colspan=13><img src="<?php print $CONF['base_url'] ?>/img/spazio.gif"></td></tr>
<?php
} ?>
</table>
</form>
<img src="<?php print $CONF['base_url'] ?>/img/spazio.gif" width="1" height="20" alt="">
<?php view_footer(); ?>