#! /bin/sh
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin:/opt/RAYLASE/SPICE3/bin"

PROGRAM_NAME="web_app"
PROGRAM=/opt/RAYLASE/SPICE3/lib/RAYLASE.SPICE3.Webinterface

USER="webuser"

test -x $PROGRAM || (echo "$PROGRAM is not an executable file." && exit 0)

_FLAGS=""
flag_init(){
	local flags="$PROGRAM_NAME $PROGRAM "
	flags+=" -p9980 "
	_FLAGS="$flags"
}
settings_init(){
	local webinterfaceDir="/home/${USER}"

	[ -d "/var/www/Content" ] || ln -s "/opt/RAYLASE/SPICE3/lib/Content" "/var/www/Content"

	# Creating directories
	[ -d "${webinterfaceDir}" ] || mkdir -p ${webinterfaceDir}

	# Delete old updates
	rm -f /var/updates/*

	# Make sure we have a user db for the WebIF. Create it if necessary.	
	if [ ! -f "${webinterfaceDir}/user.config" ] || [ ! -s "${webinterfaceDir}/user.config" ]; then
		cp "/opt/RAYLASE/SPICE3/lib/user.config" "${webinterfaceDir}"
		chown -R ${USER}:users ${webinterfaceDir}
	fi
}

case "$1" in
  start)
	echo "Starting $PROGRAM_NAME daemon: $PROGRAM_NAME"

	settings_init &
	pids="$pids $!"

	flag_init

	wait $pids

	start-stop-daemon -S -c $USER -n $PROGRAM_NAME  -x dotnetDaemon -- ${_FLAGS}
	echo "Done"
	;;
  stop)
	echo "Stopping $PROGRAM_NAME daemon: $PROGRAM_NAME"
	start-stop-daemon -K -n $PROGRAM_NAME $PROGRAM_NAME -x dotnetDaemon
	echo "."
	;;

  restart)
	echo -n "Restarting $PROGRAM_NAME daemon: $PROGRAM_NAME"
	start-stop-daemon -K -n $PROGRAM_NAME --oknodo $PROGRAM_NAME -x dotnetDaemon

	settings_init &
	pids="$pids $!"

	flag_init

	wait $pids

	sleep 2
	start-stop-daemon -S -c $USER -n $PROGRAM_NAME -x dotnetDaemon -- ${_FLAGS}
	echo "."
	;;

  *)
	echo "Usage: /etc/init.d/$PROGRAM_NAME {start|stop|restart}"
	exit 1
esac

exit 0
