#!/bin/sh

progname=`basename $0`

PHP="/usr/bin/php4 -d include_path=.:/usr/lib/gforge:/usr/lib/gforge/www/include:/etc/gforge/"

output_directory=/home/chaselgrove/incf
prepare=/usr/lib/gforge/utils/import/incf/prepare
update=/usr/lib/gforge/utils/import/update_nitrc

report_error()
{

	if [ -d $output_directory -a -w $output_directory ]
	then
		echo "$*" | tr '|' '\n' > $output_directory/error
	fi

	if true
	then
		# mail to moderator
		echo "$*" | tr '|' '\n' | mail -s "$progname error" moderator@nitrc.org
	else
		# to stdout
		echo "$*" | tr '|' '\n' | while read message
		do
			echo "$progname: $message" >&2
		done
	fi

	return 0

} # end report_error()

if [ ! -d $output_directory ]
then
	report_error "can't find directory \"$output_directory\""
	exit 1
fi

date > $output_directory/date

$PHP $prepare $output_directory/incoming.xml > $output_directory/prepare.out 2> $output_directory/prepare.err
if [ $? -ne 0 ]
then
	report_error "prepare failed"
	exit 1
fi

$PHP $update $output_directory/incoming.xml > $output_directory/update.out 2> $output_directory/update.err
if [ $? -ne 0 ]
then
	report_error "update failed"
	exit 1
fi

if [ -s $output_directory/prepare.err -o -s $output_directory/update.err ]
then
	if [ -s $output_directory/prepare.err ]
	then
		error="errors in prepare"
	else
		error="$error|prepare okay"
	fi
	if [ -s $output_directory/update.err ]
	then
		error="errors in update"
	else
		error="$error|update okay"
	fi
	report_error "$error"
	exit 1
fi

exit 0

# eof
