#! /bin/sh
#
# vdr start-stop script
#
### BEGIN INIT INFO
# Provides:          vdradmin-am
# Required-Start:    $network $syslog
# Required-Stop:     $network $syslog
# Should-Start:      $local_fs $remote_fs
# Should-Stop:       $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts vdradmin-am
# Description:       Starts vdradmin-am, the web-based administration
#                    tool for VDR, if it is enabled in /etc/default/vdradmin-am.
### END INIT INFO

# Default settings - don't change them here, override them in
# /etc/default-vdradmin-am!
#
USER=vdradmin-am
GROUP=vdradmin-am
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/vdradmind.pl
NAME=vdradmin
DESC="VDR Webadministration interface"
PIDFILE=/var/run/vdradmin.pid
NICE="10"

test -x $DAEMON || exit 0

# Include vdradmin defaults if available
if [ -f /etc/default/vdradmin-am ] ; then
    . /etc/default/vdradmin-am
fi

set -e

# Check if the logfile exists allready, if not, create it and set 
# group and owner to $USER:$GROUP
create_logfile ()
{
    LOGFILE="/var/log/vdradmind.log"
    if [ ! -e $LOGFILE ] ; then
        touch $LOGFILE 
        chown $USER:$GROUP $LOGFILE
    fi
}

init_language_environment()
{
    if [ -f /etc/environment ]
    then
         for var in LANG LC_ALL LC_CTYPE ; do
	     value=$(egrep "^[^#]*${var}=" /etc/environment | tail -n1 | cut -d= -f2)
	     eval $var=$value
	 done
    fi
}

start_daemon()
{
    if [ "$ENABLED" != "0" ] ; then
        init_language_environment
        create_logfile
        LANG=$LANG start-stop-daemon --start \
          -c $USER:$GROUP -b -m --nicelevel $NICE --pidfile $PIDFILE \
          --exec $DAEMON -- -nf
	echo "$NAME."
    else
        echo -n "- aborted (to enable the daemon, edit /etc/default/vdradmin-am)"
    fi
}

get_status()
{
    if start-stop-daemon --start --startas $DAEMON --test \
        --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null
    then
        echo " - is not running."
        exit 3
    else
        echo " - is running."
        exit 0
    fi
}

stop_daemon()
{
    start-stop-daemon --stop -q -o --pidfile $PIDFILE > /dev/null
}

case "$1" in
    start)
        echo -n "Starting $DESC: "
        start_daemon 
        ;;
    stop)
        echo -n "Stopping $DESC: "
        stop_daemon
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        stop_daemon
        start_daemon
        ;;
  status)
        echo -n "Getting status of $DESC: $NAME"
        get_status
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
