#!/bin/bash

#Program Locations
SENDMAIL=/usr/sbin/sendmail
MIMENCODE=/usr/bin/mimencode
FILE=/usr/bin/file
PS2PDF=/usr/bin/ps2pdf
SED=/bin/sed
CAT=/bin/cat
DATE=/bin/date
RM="/bin/rm -f"

#Storage Location
TMPDIR=/tmp/.lppdf
if [ ! -d $TMPDIR ]; then
    mkdir -p $TMPDIR
fi

#File Names
CURDATE=`$DATE +"%Y%m%d%H%M"`
FILENAME=$TMPDIR/${CURDATE}-$$
PSFILE=$FILENAME.ps
PDFFILE=$FILENAME.pdf
LOGFILE=$FILENAME.log

#Save the file.
$CAT > $PSFILE

#Check Filetype (Depends on Printer Driver)
FILETYPE=`$FILE -i $PSFILE | $SED -e 's/.*: //'`
echo "Filetype = '$FILETYPE'" >> $LOGFILE

#if [ "$FILETYPE" != "application/postscript" ]; then
#    echo "Failure: Filetype = '$FILETYPE'" > $LOGFILE
#    exit 3 #Fail need postscript file return JREMOVE
#fi

#Email Parameters
FROM="PDF Distiller <lppdf@titan.westrope.com>"
SENDER=lppdf
DOMAIN="westrope.com"
echo "Number of Arguments = $#" >> $LOGFILE
COUNT=1
for i in "$@"; do
    echo "$COUNT: $i" >> $LOGFILE
    ARGARR[${COUNT}]=$i
    COUNT=$(( $COUNT + 1 ))
done
NAME=`echo ${ARGARR[18]} | $SED -e 's/-n.//'`
SENDTO=${NAME%%.*}@$DOMAIN
echo "SENDTO = '$SENDTO'" >> $LOGFILE
DOCNAME="`echo ${ARGARR[5]} | $SED -e 's/-N//'`.pdf"
SUBJECT="$DOCNAME"

#Convert to PDF.
$PS2PDF $PSFILE $PDFFILE >> $LOGFILE 2>&1

# Check to see if pdf file was created
if [ -f $PDFFILE ]; then
    if [ -n "$SENDTO" ]; then
	(MIMEBOUNDARY="NextPart$$"
	 echo "Mime-Version: 1.0"
	 echo "Content-Type: Multipart/Mixed; Boundary=\"$MIMEBOUNDARY\""
	 echo "Content-Transfer-Encoding: 7bit"
	 echo "To: $SENDTO"
	 echo "From: $FROM"
	 echo "Subject: $SUBJECT"
	 echo ""
	 echo "--$MIMEBOUNDARY"
	 echo "Content-Type: text/plain; charset=us-ascii"
	 echo "Content-Transfer-Encoding: 7bit"
	 echo ""
	 echo "LOGFILE:"
	 echo ""
	 $CAT $LOGFILE
	 echo ""
	 echo "--$MIMEBOUNDARY"
	 echo "Content-Type: application/pdf; name=\"$DOCNAME\""
	 echo "Content-Description: PDF document"
	 echo "Content-Transfer-Encoding: base64"
	 echo "Content-Disposition: attachment; filename=\"$DOCNAME\""
	 echo ""
	 $MIMENCODE $PDFFILE 2>/dev/null
	 echo ""
	 echo "--$MIMEBOUNDARY--"
	) | 2>&1 $SENDMAIL -f$SENDER -oi $SENDTO >> $LOGFILE 2>&1
    fi
else
    #
    # Generate notification mail for a failed attempt.
    #
    (echo "To: $SENDTO"
     echo "From: $FROM"
     echo "Subject: *ERROR* PDF Not created"
     echo ""
     echo "The PDF file was not created."
     echo ""
    ) | 2>&1 $SENDMAIL -f$SENDER -oi $SENDTO >> $LOGFILE 2>&1
fi

#  Clean up.
$RM $PSFILE $PDFFILE

