#!/bin/sh

if [ -d /lib/lsb/ ]; then
    uselsb=1
else
    uselsb=0
fi

if [ $uselsb -eq 1 ]; then
    . /lib/lsb/init-functions
fi


MSG_START="Starting FRED webadmin HTTP server..."
MSG_STOP="Stopping FRED webadmin HTTP server..."

WEBADMIN_EXEC="DU_PREFIX/sbin/fred-webadmin"
PIDFILE="DU_PREFIX/var/run/fred-webadmin"

PATH=$PATH:/sbin
fred_start() {
    ${WEBADMIN_EXEC} &
    if [ $? != 0 ]; then
        if [ $uselsb -eq 1 ]; then
            log_failure_msg ${MSG_START}
        else
            echo "ERROR: ${MSG_START}"
        fi
    else
        if [ $uselsb -eq 1 ]; then
            log_success_msg ${MSG_START}
        else
            echo "SUCCESS: ${MSG_START}"
        fi
        PID=$(pidof -o $$ -o $PPID -o %PPID -x "$WEBADMIN_EXEC" || \
                pidof -o $$ -o $PPID -o %PPID -x "${WEBADMIN_EXEC##*/}")
        echo "$PID" > $PIDFILE
    fi
}

fred_stop() {
    if [ -f $PIDFILE ]
    then
        kill $(cat $PIDFILE)
        if [ $uselsb -eq 1 ]; then
            log_success_msg ${MSG_STOP}
        else
            echo "ERROR: ${MSG_STOP}"
        fi
        rm $PIDFILE
    else
        if [ $uselsb -eq 1 ]; then
            log_failure_msg ${MSG_STOP}
        else
            echo "SUCCESS: ${MSG_STOP}"
        fi
    fi
}

case "$1" in
start)
        fred_start
  ;;
restart)
        fred_stop
        fred_start
  ;;
stop)
        fred_stop
  ;;
*)
  echo "Usage: /etc/init.d/fred-webadmin-server {start|stop|restart}"
  exit 1
esac

exit 0
