#!/bin/sh

# Simple script to convert a specified postscript file into a PDF document
# and place it in a location that is shared by the Samba server.
# 
# Arguments:
#   1st - The name of the spool file
#
# John Bright, 2001, jbright@winfordeng.com

# We will create the pdf into a temporary file based upon the current date and time.
# After we are finished, we'll rename it to a file with the same date, but ending
# in .pdf.  We do this because if a user tries to open a PDF that is still being written,
# they will get a message that it is corrupt, when it is actually just not done yet.

DATE=`date +%b%d-%H%M%S`

# Directory in which to place the output
# Be sure this directory exists and is writable by the user that Samba
# is running as (for example, the nobody user)
OUTDIR=/home/fsadmin/COMMON/pdfshare

FILENAME=$1
USERNAME=$2
#FILENAME="/tmp/test.ps"
LOGFILE="/tmp/printpdf.log"
LOOP='yes'

while [ "$LOOP" = 'yes' ]; do
    FILESTATE=`/usr/sbin/lsof | grep $FILENAME`
    echo "$FILESTATE" >> $LOGFILE
    if [ "$FILESTATE" != '' ]; then
	sleep 5
	echo "Printfile is still open. Sleeping 5...">> $LOGFILE
    else
	ps2pdf $FILENAME /tmp/$DATE.temp
	mv /tmp/$DATE.temp $OUTDIR/$USERNAME-$DATE.pdf
	rm $FILENAME
	echo "PDF print to file $OUTDIR/$USERNAME-$DATE.pdf is finished" >> $LOGFILE
	LOOP='no'
    fi
done