#!/bin/bash
#
# $Id: proxy_for_clients,v 1.1 2002/02/07 18:31:15 syatskevich Exp $
#
#     -    
#  -   
#
#        .
#   ,    
#     names  :
#
# 1) <IP->, < ,   >
# 2) < ,   >, < e-mail   >
#

#  
if [ "x$PSQL" = "x" -o "x$PSQLQ" = "x" ]; then
	echo "   (PSQL  PSQLQ).  $0 "
	exit 1
fi

if [ "x$PROXY_REPORT" = "x" ]; then
	echo "      (PROXY_REPORT).  $0 "
	exit 1
fi

#    
OLD_FILTER="$FILTER"
if [ "x$FILTER" != "x" ]; then
	WHERE_FILTER="WHERE ($FILTER)"
	AND_FILTER="AND ($FILTER)"
fi

SENDFROM="logreporter"
SENDMAIL=/usr/sbin/sendmail

CLIENT_LIST=`$PSQLQ -c "SELECT DISTINCT client_address FROM proxy_log $WHERE_FILTER"`

if [ "x$CLIENT_LIST" = "x" ]; then
	echo "**************************************************************"
	echo "*     "
	echo "**************************************************************"
	echo
	echo "      ."
	echo "       "
	echo

	exit 0
fi

echo "**************************************************************"
echo "*        -"
echo "*  "
echo "**************************************************************"

RPTDIR="/usr/lib/loganalyzer/reports"

for client in $CLIENT_LIST; do
	# ,        
	#   -    (    )
	client_name=`$PSQLQ -c "SELECT name FROM names WHERE data = '$client'"`
	sendto_list=`$PSQLQ -c "SELECT name FROM names WHERE data = '$client_name'"`

	if [ "x$sendto_list" != "x" ]; then
		MAILFILE=`mktemp /tmp/proxy_by_host_for_clients-report.XXXXXX`

		echo "To: Administrator <$client_name>"                                >> $MAILFILE
		echo "From: Log Reporter <$SENDFROM>"                                  >> $MAILFILE
		echo "Subject:   $client_name ($client)  ($OLD_FILTER)" >> $MAILFILE
		echo "Mime-Version: 1.0"                                               >> $MAILFILE
		echo "Content-Transfer-Encoding: 8bit"                                 >> $MAILFILE
		echo "Content-Type: text/plain; charset=KOI8-R"                        >> $MAILFILE
		echo                                                                   >> $MAILFILE

		export FILTER="client_address = '$client' $AND_FILTER"

		for report in $PROXY_REPORT; do
			if [ -x "$RPTDIR/$report" ]; then
				$RPTDIR/$report >> $MAILFILE
			else
				echo ">>>>>>>  logreporter' >>>>>>>"
				echo " $report      "
				echo ">>>>>>>>>>>>> logreporter >>>>>>>>>>>>>"
				echo
			fi
		done

		$SENDMAIL -f $SENDFROM -oi "$sendto_list" < $MAILFILE

		rm -f $MAILFILE

		echo "  $client_name ($client)    <$sendto_list>"
	fi
done

echo
