#!/bin/bash

LOG_DESTINATION=/var/gdclog

if [ -e gdc.lock ] ; then
	echo -e "GDC already running.\n"
	exit 1
fi

touch gdc.lock

games=(
	"CStrike"
)

email_test=(
	"self@example.com"
)

email_all=(
	"self@example.com"
)

email_cstrike=(
	"css-op@example.com"
	"css-op2@example.com"
	"css-op3@example.com"
)

for i in "${games[@]}"
do
	lcgame=$(echo $i | tr '[A-Z]' '[a-z]')

	filename=$(date +%Y-%m-%d-%H%M%S)-${lcgame}.log
	fullfilename=log/$filename

	./gdc_${lcgame}.sh auto 2>&1 | tee -a ${fullfilename}

	if [ ${PIPESTATUS[0]} -ne 0 ] ; then
	       	echo -e "No change. Removing useless log.\n"
	        rm $fullfilename
	else
		cp $fullfilename $LOG_DESTINATION


		if [ "$1" == "test" ] ; then
			for j in "${email_test[@]}"
			do
				echo -e "Sending test email to ${j}\n"
				mutt -s "$i GDC update" $j < $fullfilename
			done

			if [ "$2" == "log" ] ; then
				# when testing, don't write to log unless we really want the bot to show it
				echo $(date +%s),${filename},$i >> ~/gdclog
			fi
		else
			# log for pickup by bot
			echo $(date +%s),${filename},$i >> ~/gdclog

			for j in "${email_all[@]}"
			do
				echo -e "Sending email to ${j}\n"
			        mutt -s "$i GDC update" $j < $fullfilename
			done

			varname=email_$lcgame
			eval k=\${#$varname[@]}

			max=($k - 1)

			for (( m=0; m < $max; m++ ));
			do
				eval k=\${$varname[m]}
				echo -e "Sending email to ${k}\n"
				mutt -s "$i GDC update" $k < $fullfilename
			done
		fi  # just testing

	fi
done

rm -f gdc.lock