#!/bin/sh
#
# $Header: $
#
# Use mailin to publish CVS commits into Tiki...
#
# Usage:
#   $CVSROOT/CVSROOT/tikilogger %{svV} module-name
#

# Suffix of Tiki page to publish info
tikipagesuffix="-cvs-`date +'%b-%Y'`"
# Tiki mailin address
toaddress="mailin@yourdomain"
# dont check if file already exits!?
wikifile="/tmp/`basename $0`-$RANDOM"

# Spam to user
echo -n "Publish update to Tiki page '${2}${tikipagesuffix}'... "

# Get log message from pipe
message=`cat`
tag=`echo "$message" | grep "      Tag:" | awk -F: ' { print $2 }' | sed -e 's/ //'`
lineno=`echo "$message" | grep -n "Log Message:" | awk -F: ' { print $1 } '`
message=`echo "$message" | sed "1,${lineno}d"`

projectname=$2
username=`id -un`
module=`echo $1 | cut -d/ -f1`
directory=`echo $1 | cut -d" " -f1`
firstime='yes'

# Make header
echo "''"`date`" by $username''" > $wikifile
if test "x$message" != "x"; then
    echo -n "{SPLIT()}" >> $wikifile
fi
# Loop through all files in this commit
files=''
if test "x$tag" == "x"; then
    echo "__''$directory''__" >> $wikifile
else
    echo "__''$directory($tag)''__" >> $wikifile
fi
for i in `echo $1 | cut -d\  -f2-`; do
    file=`echo $i | awk -F ',' '{print $1}'`
    newver=`echo $i | awk -F ',' '{print $2}'`
    oldver=`echo $i | awk -F ',' '{print $3}'`
    if test "$firstime" == 'yes'; then
        files="$file($newver)"
        firstime='no'
    else
        files="$files, $file($newver)"
    fi
done
echo "* $files"  >> $wikifile
if test "x$message" != "x"; then
    echo "---" >> $wikifile
    echo "Log Message:" >> $wikifile
    if `echo $message | grep -q '^\*'`; then
      echo $message >> $wikifile
    else
      echo "* $message" >> $wikifile
    fi
    echo "{SPLIT}" >> $wikifile
fi
# Send mail
mail -s "PREPEND:${projectname}${tikipagesuffix}" $toaddress < $wikifile
#
rm -f $wikipage

echo "OK"
