#!/bin/sh -u
#-------------------------------------------------------------------------------
# reminder.sh                                    (C) 2006 H.Gottschalk OSTC GmbH
# Verschickt zu einer gewaehlten Zeit eine Mail (per "mail" und "at").
# Abgefragt werden SUBJECT, MESSAGE, MAILADDR, DATE und TIME.
# $Id: reminder.sh,v 1.3 2006-04-24 18:06:25 hngott Exp $
#-------------------------------------------------------------------------------
PATH=/bin:/usr/bin

clear
echo "This is reminder.sh  -(C) OSTC GmbH-"

SYSTEM="$(uname)"
case $SYSTEM in
	Linux)
		HOSTNAME="$(hostname -f)"
		;;
	OpenBSD)
		HOSTNAME="$(hostname)"
		;;
esac

echo
echo -n "Subject: "
read SUBJECT
echo

echo "Message (end with a single colon in a line):"
MESSAGE=""
while true
do
	read LINE
	[ "${LINE}" = "." ] && break
	MESSAGE="${MESSAGE}${LINE}\\n"
done

echo
echo -n "Mailaddress(es) (space separated) [${USER}@${HOSTNAME}]: "
read MAILADDR
[ -z "${MAILADDR}" ] && MAILADDR="${USER}@${HOSTNAME}"

echo
case $SYSTEM in
	Linux)
		echo -n "Date (DD.MM.YY) [$(date +"%d.%m.%Y")]: "
		read DATE
		[ -z "${DATE}" ] && DATE="$(date +"%d.%m.%Y")"
		if [ "${DATE}" != "$(date +"%d.%m.%Y")" ]
		then
			echo -n "Time (HH:MM)    [04:00]     : "
			read TIME
			[ -z "${TIME}" ] && TIME="04:00"
		else
			HOUR="$(expr $(date +"%H") + 1)"
			MIN="$(date +"%M")"
			echo -n "Time (HH:MM)    [${HOUR}:${MIN}]     : "
			read TIME
			[ -z "${TIME}" ] && TIME="${HOUR}:${MIN}"	
		fi
		echo "echo -e \"${MESSAGE}\" | mail -s \"[REMINDER] ${SUBJECT}\" ${MAILADDR} " |
		at $(echo "${TIME} ${DATE}") > /dev/null
		;;
	OpenBSD)
		echo -n "Enter date (YYYY-MM-DD) [$( date +"%Y-%m-%d")]: "
		read DATE
		[ -z "${DATE}" ] && DATE="$( date +"%Y-%m-%d" )"
		if [ "${DATE}" != "$(date +"%Y-%m-%d")" ]
		then
			echo -n "Time (HH:MM)    [04:00]     : "
			read TIME
			[ -z "${TIME}" ] && TIME="4:00"
		else
			HOUR="$(expr $(date +"%H") + 1)"
			MIN="$(date +"%M")"
			echo -n "Time (HH:MM)    [${HOUR}:${MIN}]     : "
			read TIME
			[ -z "${TIME}" ] && TIME="${HOUR}:${MIN}"	
		fi
		echo "echo -e \"${MESSAGE}\" | mail -s \"[REMINDER] ${SUBJECT}\" ${MAILADDR} " |
		at -t $( echo "${DATE}${TIME}" | sed 's/[:-]//g' ) > /dev/null
		;;
esac

