#!/bin/sh
#################################################################
#                    message-counter 1.2                     4/02
#
#                     by Orange-Admin   
#                  <http://www.arancio.net>
#
# parses remailer-stats request and outputs a nice little html file
# with yesterdays message total, and remailer total
#
# crontab: 1 0 * * * /home/mix/scripts/message-counter
#################################################################

# a current remailer stats request: best aquired by parse-stats script
STATS=/home/users/anon/stats/remailer-stats.txt

if [ -e $STATS ]; then

 # file to keep track of total messages
 MCOUNTER=/home/users/anon/tmp/mix-counter.txt 
 CCOUNTER=/home/users/anon/tmp/cpunk-counter.txt
 HTMLSTAT=/home/users/anon/stats/messages.html
 WWWREMAILERSTATS=remailer-stats.txt #WWW URL for local stats 
 NOW=`date "+%H:%M:%S %m-%d-%y"`

 # YESTERDAY
 MIXDAY=`tail -n 2 $STATS | grep "." | sed 's/[a-z|A-Z|:]/ /g' | awk '{ print $2 }'`
 CPUNKDAY=`tail -n 2 $STATS | grep "." | sed 's/[a-z|A-Z|:]/ /g' | awk '{ print $3 }'`
 DAY=$(($MIXDAY + $CPUNKDAY))

 MCHECK=`tail -n 1 $MCOUNTER`
 CCHECK=`tail -n 1 $CCOUNTER`


 # send stats to counter files

echo $MIXDAY >> $MCOUNTER
echo $CPUNKDAY >> $CCOUNTER
		

 if [ $MIXDAY -ne $MCHECK ]; then
  if [ $CPUNKDAY -ne $CCHECK ]; then
	
	echo $MIXDAY >> $MCOUNTER  
 	echo $CPUNKDAY >> $CCOUNTER
  else
        echo "ERROR: The count for today is the same as it was yesterday, which is pretty"
        echo "unlikely (unless the count is 0). You probably ran me more than once in a "
        echo "24 hour period didn't you? I should really only be run as a cronjob."
        echo "Quitting now..."
        exit 0
  fi
 else
	echo "ERROR: The count for today is the same as it was yesterday, which is pretty"
	echo "unlikely (unless the count is 0). You probably ran me more than once in a "
	echo "24 hour period didn't you? I should really only be run as a cronjob."
	echo "Quitting now..."
	exit 0
 fi


# add mix
MNUM=`cat $MCOUNTER | grep [0-9]`
awk 'BEGIN { sum = 0 }
           { sum += $1 }
     END   { avg = sum;
             print avg }' << -EOF- > /tmp/mcount.txt
$MNUM
-EOF-

# add cpunk
CNUM=`cat $CCOUNTER | grep [0-9]`
awk 'BEGIN { sum = 0 }
           { sum += $1 }
     END   { avg = sum;
             print avg }' << -EOF- > /tmp/ccount.txt  
$CNUM   
-EOF-

 # cat totals
 MIXT=`cat /tmp/mcount.txt`
 CPUNKT=`cat /tmp/ccount.txt`
 TOTAL=$(($MIXT + $CPUNKT))


 # make the HTML
 echo "" > $HTMLSTAT
 echo "<center><table width=15% border=0><tr>" > $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><font face=Verdana, Arial, Helvetica, sans-serif size=1><a href=$WWWREMAILERSTATS>processed</a></font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><font face=Verdana, Arial, Helvetica, sans-serif size=1>mix</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><font face=Verdana, Arial, Helvetica, sans-serif size=1>cpunk</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><b><font face=Verdana, Arial, Helvetica, sans-serif size=1>total</font></b></td>" >> $HTMLSTAT
 echo "</tr><tr>" >> $HTMLSTAT
 echo "<td bgcolor=#EDEDED><font face=Verdana, Arial, Helvetica, sans-serif size=1>yesterday</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#EDEDED><font face=Verdana, Arial, Helvetica, sans-serif size=1>$MIXDAY</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#EDEDED><font face=Verdana, Arial, Helvetica, sans-serif size=1>$CPUNKDAY</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#EDEDED><font face=Verdana, Arial, Helvetica, sans-serif size=1><b>$DAY</b></font></td>" >> $HTMLSTAT
 echo "</tr><tr>" >> $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><font face=Verdana, Arial, Helvetica, sans-serif size=1>est. birth</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><font face=Verdana, Arial, Helvetica, sans-serif size=1>$MIXT</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><font face=Verdana, Arial, Helvetica, sans-serif size=1>$CPUNKT</font></td>" >> $HTMLSTAT
 echo "<td bgcolor=#CCCCCC><font face=Verdana, Arial, Helvetica, sans-serif size=1><b>$TOTAL</b></font></td>" >> $HTMLSTAT
 echo "</tr></table><font face=Verdana, Arial, Helvetica, sans-serif size=1>$NOW</font></center>" >> $HTMLSTAT

 # cleanup
 rm -f /tmp/ccount.txt
 rm -f /tmp/mcount.txt

else
	echo "Error! no valid $STATS file."
fi

