#!/bin/sh

me=`echo $0 | sed 's@.*/@@g'`

if [ $# -eq 0 ]; then
	echo "Usage: $me <arguments to zwrite>"
	exit 1
fi

i=1

while [ $i -le $# ]; do
   if [ "$1" = "-m" ]; then
      dashm="true"
   else 
      if [ "$dashm" = "true" -a ! "$message" ]; then
         message="$1"
      else 
         if [ ! "$user" ]; then user="$1"; fi
      fi 
   fi
   shift
done

IFS=' '

logged_in=`zwrite -s "" -O PING -n $user -m ""`

if [ "$logged_in" = "$user: Not logged in or not subscribing to messages" ]; then
   echo $logged_in
   exit 2
fi

tmpfile="/tmp/zwgc-outgoing.$user.$$"
outfile="/tmp/zwgc-outgoing.$user"

if [ "$dashm" = "true" ]; then
   echo "" >> $outfile
   date >> $outfile
   echo $message >> $outfile 
   zwrite -n $user -m "$message"
   exit 0
fi

echo "Type your message now.  End with control-D or a dot on a line by itself."

first="true"

while :; do
	read line || break
	case $line in
	.)
		break ;;
	~e) 
		echo invoking editor...
		echo $message > $tmpfile
		$EDITOR $tmpfile
		message=`cat $tmpfile`
		rm -f $tmpfile
		break ;;
	*) 
		if [ $first != "true" ];  then 
		   message=$message'
'$line
		else 
		   message=$line
		   first="false"
		fi ;;
	esac
done

echo "" >> $outfile
date >> $outfile	
echo $message >> $outfile
echo $message | zwrite -n $user

