#!/bin/sh

if [ "`whoami`" != "root" ] && [ "`whoami`" != "sbbs" ] && [ -z "`groups 2>&1 | grep sbbs`" ]; then
	echo "Must be a sysop to run these commands.";
	exit 1;
fi

if [ "$SBBSCTRL" == "" ]; then
	export SBBSCTRL=/var/lib/synchronet/ctrl
fi

function print_menu() {

	echo "sbbsutil usage:  sbbsutil <function> [params]"
	echo ""
	echo "scfg - Synchronet Configuration Editor"
	echo ""
	echo "addfiles - Add Files to Synchronet Filebase"
	echo "ans2msg - Convert .ANS file to .MSG format"
	echo "baja - Compile Baja source file"
	echo "chksmb - Check Synchronet Message Base"
	echo "echocfg - SBBSecho Configuration"
	echo "filelist - Generate Synchronet File Directory Lists"
	echo "fixsmb - Rebuild Synchronet Message Base Index"
	echo "jsexec - Execute Synchronet JavaScript Module"
	echo "makeuser - Adds User to Synchronet User Database"
	echo "msg2ans - Convert .MSG format to .ANS file"
	echo "node - Synchronet Node Display/Control Utility"
	echo "sbbsecho - Synchronet Fidonet Packet Tosser"
	echo "smbutil - Synchronet Message Base Utility"
	echo "umonitor - Synchronet UNIX monitor (node spying)"
	echo "";
}

function sbbsdo() {
	EXE=/usr/lib/synchronet/bin/$1;
	shift;
	$EXE $@
	exit 0;
}

# this should work as long as this stays in /usr/bin
CMD=`echo $0 | cut -d\/ -f4`

case "$CMD" in
	addfiles|chksmb|echocfg|filelist|fixsmb|jsexec|makeuser|msg2ans|node|sbbsecho|scfg|smbutil|umonitor)
		sbbsdo $CMD $*;;
	sbbsutil)
		if [ ! -z "$1" ] && [ -x "/usr/lib/synchronet/bin/$1" ]; then
			EXE=/usr/lib/synchronet/bin/$1;
			shift;
			$EXE $@
		else
			print_menu
			exit 0;
		fi
		;;
	"")
		print_menu;;
	*)
		echo $CMD is an incorrect link
		exit 1;;
esac

exit 1;
