#!/bin/bash
# $Id: s9y 7 2010-02-24 22:15:37Z root $ 
# $Rev: 7 $
# $Author: root $
# $Date: 2010-02-24 23:15:37 +0100 (Mi, 24. Feb 2010) $ 
#
#
: <<EOF

=head1 NAME

s9y - Plugin to monitor the daily Spam entries for the Blog Serendipity
http://s9y.org

=head1 CONFIGURATION

The user running this plugin needs read access to the
mysql Database will need to add this:

 [s9y]
 user root


The following configuration parameters are used by this plugin

 [s9y]
  env.database
  env.extrafile  path/to/extrafile e.g. /etc/mysql/debian.cnf
  env.warning    Warning Count of Spam
  env.critical   Critical Count of Spam
  env.resettype  one of monthly weekly daily number (must be greater than env.critical)
                 (currently only monthly is supported)
                                
=head2 DEFAULT CONFIGURATION

 [s9y]
  env.database  null
  env.extrafile null
  env.warning   15000
  env.critical  20000
  env.resettype monthly

=head1 AUTHORS

Bernd Dau
visit my Blog: http://zockertown.de/s9y/

=head1 LICENSE

GPL3.0

=head1 VERSION

Version # $Rev: 7 $

=head1 BUGS

The resetting is done only when the minute is 00 and the hour is 00
if the script is running to late because of heavy load or when other
plungins are running to long, the emptiness of the table is not guarantied

This plugin is in heavy development
expect all but functionality


=head1 MAGIC MARKERS

 #%# family=manual
 #%# capabilities=autoconf

=cut

EOF

. $MUNIN_LIBDIR/plugins/plugin.sh
#echo "ENV=`env`">/tmp/s9y-env.txt

if [ "$1" = "autoconf" ]; then
	echo no
        echo "Set the needed Variables in munin-node"
	exit 0
fi
	SPAM=`mysql --defaults-extra-file=$extrafile -D $database -B --skip-column-names -e "select count(*) from  serendipity_spamblocklog;"`

if [ "$1" = "config" ]; then

	echo 'graph_title Spam Entries in Serendipity'
	echo 'graph_args --base 1000 --lower-limit 0'
	echo 'graph_vlabel Entries'
	echo 'graph_category other'
	echo 'graph_total Total'
        echo 'graph_info counts the moderated and rejected Comment Entries in Serendipity which where classified as Spam'
        echo 'spam.label SPAM'
        echo "resettype $resettype"
        echo "spam.value $SPAM"
        
	exit 0
fi

#### resettype?
if [ -n $resettype ]
then
  if [ "$resettype" = "monthly" ]
    then
       day=`date '+%d'`
       if [ $day -eq 1 && "`date '+%H%M'`" -eq 0 ]
       then
         mysql --defaults-extra-file=$extrafile -D $database -B --skip-column-names -e "delete from  serendipity_spamblocklog where 1=1;"
       fi
   fi  
fi

echo "spam.value $SPAM"
