#!/bin/bash

ROOT=/usr/local/etc/httpd/fax/admin

ls $ROOT/newfax-* >&/dev/null || exit 0
umask 007

AWK=/usr/bin/awk
FINFO=/usr/local/sbin/faxinfo
TINFO=/usr/local/bin/tiffinfo
FAX2PS=/usr/local/bin/fax2ps
TIFFCP=/usr/local/bin/tiffcp
TIFFSPLIT=/usr/local/bin/tiffsplit
TIFF2PNM=/usr/local/bin/tifftopnm
FLIP=/usr/local/bin/pnmflip
PPM2GIF=/usr/local/bin/ppmtogif

DBFILE=$ROOT/incoming-db

for f in $ROOT/newfax-*; do
	rm -f $ROOT/newfax-*
	FILENAME="`echo $f | $AWK -F- '{ print $NF }'`"

	chgrp httpd  $ROOT/$FILENAME
	chmod 660 $ROOT/$FILENAME
        touch $ROOT/processing-$FILENAME
	# add the new fax to the database
	MODE=`$FINFO $ROOT/$FILENAME   2>/dev/null | grep Quality      | $AWK '{print $2}'`
	#HEIGHT=`$TINFO $ROOT/$FILENAME 2>/dev/null | sed -n -e '1,20p' | grep Length      | $AWK '{print $6}'`
	#WIDTH=`$TINFO $ROOT/$FILENAME  2>/dev/null | sed -n -e '1,20p' | grep Width       | $AWK '{print $3}'`
	SENDER=`$TINFO $ROOT/$FILENAME 2>/dev/null | sed -n -e '1,20p' | grep Description | $AWK -F \" '{print $2}'`
	WHEN=`$FINFO $ROOT/$FILENAME   2>/dev/null | grep Received     | $AWK '{print $2,$3}' | sed -e 's/^\([^:]*\):\([^:]*\):\([^:]*\)\ /\3.\2.\1\ /'`
	while [ -e $ROOT/faxdblock ]; do
	  sleep 2
	done
	touch $ROOT/faxdblock
	mv $DBFILE $DBFILE.bak
	echo $FILENAME"|"$MODE"|0|0|"$SENDER"|"$WHEN"|"`$FINFO $ROOT/$FILENAME 2>/dev/null|grep Pages:|awk '{print $2}'`"|NEW" >$DBFILE
	cat $DBFILE.bak >>$DBFILE
	rm -f $DBFILE.bak
	chmod 660 $DBFILE
	chgrp httpd $DBFILE
	rm -f $ROOT/faxdblock

	while [ -e $ROOT/fax.lock ]; do
		sleep 20
	done
	touch $ROOT/fax.lock
	$TIFFSPLIT $ROOT/$FILENAME $ROOT/$FILENAME.sp
	count=0
	for i in $ROOT/$FILENAME.sp*; do
	  count=$((count+1))
	  $TIFFCP $i $i.cp                                         2>/dev/null
	  $TIFF2PNM $i.cp > $i.pnm                                 2>/dev/null
          $FLIP -r180 $i.pnm >$i.pnm.rev                           2>/dev/null
	  $PPM2GIF $i.pnm > $ROOT/$FILENAME-$count.gif             2>/dev/null
	  $PPM2GIF $i.pnm.rev > $ROOT/$FILENAME-$count-rev.gif     2>/dev/null
	  rm -f $i*
	done
	rm -f $ROOT/fax.lock

        rm -f $ROOT/processing-$FILENAME
	chmod 770 $ROOT
done
exit 0

