#!/bin/sh
#by cuma


. /mod/etc/conf/vnstat.cfg

_NICE=$(which nice)
NOCACHE="?nocache=$(date -Iseconds | sed 's/T/_/g;s/+.*$//g;s/:/-/g')"
TEMPDIR=/tmp/vnstat
mkdir -p $TEMPDIR

gen_pic() {
	$_NICE vnstati -i $1 --$2 -o $TEMPDIR/$1-$2.png --config /tmp/flash/vnstat/vnstat.conf
	echo "<p><img src=\"/vnspix/$1-$2.png$NOCACHE\" alt=\"vnstat: $2 of $1\" border=\"0\"/></p>"
}

#main
echo "<center>"
netif=$(cgi_param netif)

#count ifs
ifcnt=0
for ifname in $VNSTAT_INTERFACES; do
	let ifcnt++
done
[ $ifcnt -eq 1 ] && netif=$VNSTAT_INTERFACES

#show pix
if [ -n "$netif" ]; then
	#subpages
	echo "<p><font size=+1><b>vnstat: $netif</b></font></p>"
	for period in summary hours days months top10; do
		[ $ifcnt -ne 1 ] && echo "<a href=\"$SCRIPT_NAME\" class='image'>"
		gen_pic $netif $period
		[ $ifcnt -ne 1 ] && echo "</a>"
	done
	if [ $ifcnt -ne 1 ]; then
		[ -n "$HTTP_REFERER" ] && backdest="history.go(-1)" || backdest="window.location.href='$SCRIPT_NAME'"
		echo "<br><input type=\"button\" value=\"Back\" onclick=\"javascript:$backdest\" />"
	fi
else
	#mainpage
	echo "<p><font size=+1><b>vnstat</b></font></p>"
	[ -z "$VNSTAT_INTERFACES" ] && VNSTAT_INTERFACES=$(ls /var/lib/vnstat/ 2>/dev/null)
	for dbfile in $VNSTAT_INTERFACES; do
		echo "<a href=\"$SCRIPT_NAME?netif=$dbfile\" class='image'>"
		gen_pic $dbfile summary
		echo "</a>"
	done
fi

echo "</center>"