#!/usr/bin/env bash

##############################################################################
#                                                                            #
#  This script process flags, that are raised by flagcheck subcommands       #
#  i.e. filecheck or others                                                  #
#                                                                            #
##############################################################################

# These vars must be provided from
# FidoNMS base config

NMSBASE=/opt/fidonms
FIDOBASE=/var/spool/ftn
NEED_POLL=0
NOTIFY_BIN=/opt/fidonms/bin/notifymail
FLAGLOG=$FIDOBASE/flaglog.txt

# These vars are built in-script
HPT_BIN=$(which hpt)
HTICK_BIN=$(which htick)

if [ -z "${FIDOCONFIG}" ]; then
    FIDOCONFIG=$NMSBASE/etc/config
fi

FLAGDIR=${FIDOBASE}/flags

#Internal BSY flag
FLAG_FBSY=$FIDOBASE/flags/flagcheck_bsy

CURDATE=$(date '+%d.%m.%Y %H:%M:%S') 

EXTFLAGS=('npkmail' 
         'npkfile')

EXTACTS=('perl /opt/fidonms/npk/npk.pl -u=n -c /opt/fidonms/npk/npk.conf'
         'perl /opt/fidonms/npk/npk.pl -u=n -c /opt/fidonms/npk/npk.conf')

###########################################################################
#                                                                         #
###########################################################################

if [ ! -e $FLAG_FBSY ]; then
	# MAIN Sequence
	touch $FLAG_FBSY
	# echo "Begin"
	for aidx in ${!EXTFLAGS[@]}; do
#	    echo "idx: $aidx, flag: ${EXTFLAGS[${aidx}]}, act: ${EXTACTS[${aidx}]}"
	    if [[ -e ${FLAGDIR}/${EXTFLAGS[$aidx]} ]]; then
	        if [[ ! -e ${FLAGDIR}/${EXTFLAGS[aidx]}.bsy ]]; then
		    mv -f ${FLAGDIR}/${EXTFLAGS[$aidx]} ${FLAGDIR}/${EXTFLAGS[$aidx]}.bsy
		    echo -ne "EXT_${EXTFLAGS[$aidx]} " >> ${FLAGLOG}
		    ${EXTACTS[$aidx]}
		    rm -f ${FLAGDIR}/${EXTFLAGS[$aidx]}.bsy
		fi
	    fi
	done
	# echo "Done."
	rm $FLAG_FBSY
fi