#!/usr/bin/env bash
# restart: Panilux Postfix and Dovecot services restart|reload|start|stop script.

RETVAL_AGENT=0
RETVAL_NGINX=0
RETVAL_PHPFPM=0

COMMAND=$1

if [ ! ${COMMAND} ]; then
    echo "commands: start, stop, status, restart"
    exit 1
fi
if [ ${COMMAND} == 'status' ]; then
	echo -n "${COMMAND} panilux"
else
	echo -n "${COMMAND}ing panilux"
fi

function doCommand()
{
    SERVICE_NAME=$1
    COMMAND=$2

    service ${SERVICE_NAME} status >/dev/null 2>&1
    STATUS=$?

    if [ ${COMMAND} == "start" ]; then
        if [ ${STATUS} -eq 0 ]; then
            RETVAL=0
        else
            service ${SERVICE_NAME} ${COMMAND} >/dev/null 2>&1
            RETVAL=$?
        fi
    else
        service ${SERVICE_NAME} ${COMMAND} >/dev/null 2>&1
        RETVAL=$?
    fi

    return ${RETVAL}
}

doCommand "panilux_nginx" ${COMMAND}; RETVAL_NGINX=$?
echo -n "."
sleep 1
doCommand "panilux_php-fpm" ${COMMAND}; RETVAL_PHPFPM=$?
echo -n "."
sleep 1
doCommand "panilux_agent" ${COMMAND}; RETVAL_AGENT=$?
echo -n "."
sleep 1

echo -n " "

if
    [ ${RETVAL_AGENT} -eq 0 ]
    [ ${RETVAL_NGINX} -eq 0 ]
    [ ${RETVAL_PHPFPM} -eq 0 ]
then
        exitval=0
        echo "[ OK ]"
else
        exitval=1
        echo "[ FAIL ]"
fi

exit ${exitval}
exit