#!/bin/sh
#
# tdiary-FreeBSD.sh - tDiary user directory copy script
#
# $FreeBSD: ports/www/tdiary/files/tdiary-FreeBSD.sh.in,v 1.4 2003/11/09 12:59:57 jeh Exp $
#
# usage:
#        % /usr/local/share/examples/tdiary/tdiary-FreeBSD.sh install
#    or
#        # /usr/local/share/examples/tdiary/tdiary-FreeBSD.sh USERid
#

USERNAME=$1
DIARYDIR=diary
PUBLICHTML=public_html
PREFIX=/usr/local
TDCONFIG=tdiary.conf-ja
EXAMPLES=${PREFIX}/share/examples
HOMEOWN=`grep ^$1: /etc/passwd | cut -f3 -d':'`
HOMEGRP=`grep ^$1: /etc/passwd | cut -f4 -d':'`
AUTHORN=`grep ^$1: /etc/passwd | cut -f5 -d':'`
HOMEDIR=`grep ^$1: /etc/passwd | cut -f6 -d':'`
HOSTSMTP=`hostname`

cd ${EXAMPLES} 

if [ -z "$1" ]; then
	echo "Usage: `basename $0` {username} or install"
	exit 1
else
	if [ -z "${HOMEOWN}" ] ; then
		if  [ "$1" = "install" ] ; then
			if [ $(id -u) -eq 0 ]; then
				echo "root can not use 'install' parameter."
				exit 1
			fi
		else
			echo "User unknown  or  no exist  User Directory -> " $1 "-" ${HOMEDIR}
			echo "Usage: `basename $0` {username}  or  install"
			exit 1
		fi
	fi
fi

echo "************************************************************"
echo ""

case "$1" in
root)
	echo "You can not copy ROOT Directory" 
	exit 1
	;;
install)
	HOMEOWN=`grep ^$USER: /etc/passwd | cut -f3 -d':'`
	HOMEGRP=`grep ^$USER: /etc/passwd | cut -f4 -d':'`
	HOMEDIR=`grep ^$USER: /etc/passwd | cut -f6 -d':'`	
	echo "HOME Directory : " ${HOMEDIR}
	USERNAME=$USER
	;;
*)
	echo "HOME Directory : " ${HOMEDIR}	
	echo "USERNAME       : " ${USERNAME}
	USERNAME=$USER
	;;
esac

if [ -x ${HOMEDIR} ]; then
	if [ -z "$1" ]; then
		echo "Usage: `basename $0` {username} or install"
		exit 1
	else
		echo ""
		echo "************************************************************"
		echo "Starting tDiary for FreeBSD  user directory installation ..."
		echo ""
		if [ ! -e ${HOMEDIR}/${DIARYDIR} ]; then
			echo "Create ..." ${HOMEDIR}/${DIARYDIR} 
			mkdir ${HOMEDIR}/${DIARYDIR}
			echo "Done"
		fi
		chmod o+rwx ${HOMEDIR}/${DIARYDIR}
		chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${DIARYDIR}
		if [ ! -e ${HOMEDIR}/${PUBLICHTML} ]; then
			echo "Create ..." ${HOMEDIR}/${USERNAME}/${PUBLICHTML}
			mkdir ${HOMEDIR}/${PUBLICHTML}
			chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}
			echo "Done"
		fi
		echo "Copy tDiary ..." ${EXAMPLES}/tdiary/
		echo "            to " ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/
		cp -pR ${EXAMPLES}/tdiary/ ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/
		chown -R ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/
		chmod o+rwx ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}
		echo "Done"
		sed -e 's#'/home/foo/diary'#'${HOMEDIR}'/'${DIARYDIR}'#g' \
			-e 's#smtp.example.net#'${HOSTSMTP}'#g' \
			-e "s#foo@example.net#"${USERNAME}"@"${HOSTSMTP}"#g" \
			-e "s#Your name#${AUTHORN}#g" \
			-e "s#hogehoge diary#${AUTHORN} Diary#g" \
			-e "s#http://www.example.net/~foo/#http://"${HOSTSMTP}"/~"${USERNAME}"#g" \
			< ${EXAMPLES}/tdiary/tdiary.conf.sample > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-ja
		chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-ja
		if [ -e ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/.htaccess ]; then
			sed -e 's#foo#'${USERNAME}'#g' < ${EXAMPLES}/tdiary/dot.htaccess > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/dot.htaccess.orig
			chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/dot.htaccess.orig
		else
			sed -e 's#foo#'${USERNAME}'#g' < ${EXAMPLES}/tdiary/dot.htaccess > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/.htaccess
			chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/.htaccess
		fi
		sed -e 's#'/home/foo/diary'#'${HOMEDIR}'/'${DIARYDIR}'#g' \
			-e 's#smtp.example.net#'${HOSTSMTP}'#g' \
			-e "s#foo@example.net#"${USERNAME}"@"${HOSTSMTP}"#g" \
			-e "s#Your name#${AUTHORN}#g" \
			-e "s#foobar diary#${AUTHORN} Diary#g" \
			-e "s#Foo\'s diary#${AUTHORN}\'s Diary#g" \
			-e "s#http://www.example.net/~foo/#http://"${HOSTSMTP}"/~"${USERNAME}"#g" \
			< ${EXAMPLES}/tdiary/misc/i18n/tdiary.conf.sample-en > ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-en
		chown ${HOMEOWN}:${HOMEGRP} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf-en
		rm -f ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary-FreeBSD.sh
		if [ -e ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf ]; then
			echo ""
		else
			echo "Install ${TDCONFIG} ... Done"
			mv ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/${TDCONFIG} ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/tdiary.conf
		fi
	fi
else
	echo ""
	echo "User unknown  or  no exist  User Directory -> " $1 "-" ${HOMEDIR}
	echo "Usage: `basename $0` {username}  or  install"
	exit 1 
fi
echo ""
echo ""
echo "***"
echo "You have to execute the following commands:"
echo "      % /usr/local/sbin/htpasswd -c" ${HOMEDIR}/.htpasswd ${USERNAME}
echo "" 
echo "Be sure to read the ${HOMEDIR}/${PUBLICHTML}/${DIARYDIR}/README"
echo "    file for additional information."
echo "************************************************************"
echo ""
exit 0
