#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nginx
NAME=nginx
DESC=nginx
PID=/var/run/nginx/nginx.pid
STORAGE=/mnt/data/.$NAME

test -x $DAEMON || exit 0

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

[ -f /etc/exorint.funcs ] && . /etc/exorint.funcs

create_volatile()
{
    mkdir -p "/run/nginx";
    chown www:www-data /run/nginx || echo "Failed to set owner -www- for -/run/nginx-." >/dev/tty0 2>&1;
    chmod 0755 /run/nginx || echo "Failed to set mode -0755- for -/run/nginx-." >/dev/tty0 2>&1

    mkdir -p "/var/log/nginx";
    chown root.root /var/log/nginx || echo "Failed to set owner -root- for -/var/log/nginx-." >/dev/tty0 2>&1;
    chmod 0755 /var/log/nginx || echo "Failed to set mode -0755- for -/var/log/nginx-." >/dev/tty0 2>&1
}

mkstorage()
{
    [ -e $STORAGE -a "$(stat -c "%U:%G" /mnt/data/.nginx/ 2>/dev/null)" = "www:www-data" ] && return 0
    rm -rf $STORAGE
    mkdir -p $STORAGE
    chown www:www-data $STORAGE
}

setup_config()
{
    mkdir -p /tmp/nginx/sites-enabled
    /etc/nginx/sites-available/jmuconfig.sh > /tmp/nginx/sites-enabled/jmuconfig

    # Make sure application proxy settings are up to date
    if [ "$(exorint_ver_component)" == "M" ]; then
        # Avoid waiting for a reply (may time out + error) [BSP-2211]
        dbus-send --system --dest=com.exor.JMLauncher '/' com.exor.JMLauncher.updateNginxConf
    fi
}

do_start()
{
    echo -n "Starting $DESC: "
    create_volatile
    mkstorage
    setup_config
    sync
    start-stop-daemon --start --quiet --pidfile $PID \
        --name $NAME --exec $DAEMON -- $DAEMON_OPTS
    echo "$NAME."
}

do_stop()
{
   echo -n "Stopping $DESC: "
   start-stop-daemon -K --quiet --pidfile $PID \
       --name $NAME
   echo "$NAME."
}

case "$1" in
  start)
        do_start
        ;;
  stop)
        do_stop
        ;;
  restart|force-reload)
        do_stop
        sleep 1
        do_start
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      setup_config
      sync
      start-stop-daemon --stop --signal HUP --quiet --pidfile $PID \
          --exec $DAEMON
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
