#!/bin/sh
##-----------------------------------------------------------------------------
## imonc2do                                                               0.6.1
##
## Creation:     04.05.2002  tc
## Last Update:  26.02.2003  tc
##
## Copyright (c) 2003 Thomas Creutz <thomas.creutz@epost.de>
##                    http://projekte.alientxc.de
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##-----------------------------------------------------------------------------

#set -x

usage="imonc2do [Option] [Zeit] [Wiederholung]
--------------------------------------------------------------------------------
       [Option] =  Angabe was zu tun ist.
Format: setoff  = Setzt den Dialmode auf OFF
        seton   = Setzt den Dialmode auf MANUELL
        setauto = Setzt den Dialmode auf AUTO
        rmc     = Trennt die zweite Leitung bei einer Multiline-Verbindung(ISDN)
        addc    = Schaltet eine zweite Leitung zur aktuellen Verbindung(ISDN)
        dial	= Baut eine Verbindung auf
        hangup  = Beendet die Verbindung
        def     = Wechselt zur automatischen Circuit-Route
--------------------------------------------------------------------------------
         [Zeit] = Angabe um wieviel Uhr was zu tun ist.
Format:  [Wochentag Stunde Minute] --> naeheres dazu sie in der Doku
--------------------------------------------------------------------------------
         [Wiederholung] = Angabe ob dieser Befehl einmalig oder
                          immer wieder Ausgefuehrt werden soll
Format:               1 = Einmalig
                      x = Immer wieder
--------------------------------------------------------------------------------
Hier ein kleines Beispiel:
Der Dialmode soll immer wieder um 8 Uhr an einem Sonntag auf OFF gesetzt werden:
imonc2do setoff 7 08 00 x"

#-----------------------------------------------
# Befehlseingaben ueberpruefen
#--------------------------------------------------
case "$1" in
    "setoff") ;;
    "seton") ;;
    "setauto") ;;
    "rmc") ;;
    "addc") ;;
    "dial") ;;
    "hangup") ;;
    "def") ;;
    *) echo "$usage"
       exit 1
       ;;
esac
case "$5" in
    "x") ;;
    "1") ;;
    *) echo "$usage"
       exit 1
       ;;
esac
#-----------------------------------------------------------------------
# Variablen laden/setzten und Wochentage fuer die Textausgabe vorbereiten
#--------------------------------------------------------------------------
. /etc/imonc2do.conf
pfad=$IMONC2DO_HTTP_PATH

case "$2" in
     "1")	wochentag="Montag";;
     "2")	wochentag="Dienstag";;
     "3")	wochentag="Mittwoch";;
     "4")	wochentag="Donnerstag";;
     "5")	wochentag="Freitag";;
     "6")	wochentag="Samstag";;
     "7")	wochentag="Sonntag";;
     "*")	wochentag="beliebigen Wochentag";;
esac

#-----------------------------------------------
# Befehle fuer setoff
#--------------------------------------------------
if [ "$1" = "setoff" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x setoff" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x setoff" >> $pfad/imonc2do_conf
		fi
		echo "Der Dialmode wird an jedem $wochentag um $3:$4 Uhr auf OFF gestellt."
	else
		echo "$4 $3 * * $2 cron2do_1 setoff" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 setoff" >> $pfad/imonc2do_conf
		fi
	echo "Der Dialmode wird am naechsten $wochentag um $3:$4 Uhr auf OFF gestellt."
	fi
fi

#-----------------------------------------------
# Befehle fuer seton
#--------------------------------------------------
if [ "$1" = "seton" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x seton" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x seton" >> $pfad/imonc2do_conf
		fi
		echo "Der Dialmode wird an jedem $wochentag um $3:$4 Uhr auf MANUAL gestellt."
	else
		echo "$4 $3 * * $2 cron2do_1 seton" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 seton" >> $pfad/imonc2do_conf
		fi
	echo "Der Dialmode wird am naechsten $wochentag um $3:$4 Uhr auf MANUAL gestellt."
	fi
fi

#-----------------------------------------------
# Befehle fuer setauto
#--------------------------------------------------
if [ "$1" = "setauto" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x setauto" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x setauto" >> $pfad/imonc2do_conf
		fi
		echo "Der Dialmode wird an jedem $wochentag um $3:$4 Uhr auf AUTO gestellt."
	else
		echo "$4 $3 * * $2 cron2do_1 setauto" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 setauto" >> $pfad/imonc2do_conf
		fi
	echo "Der Dialmode wird am naechsten $wochentag um $3:$4 Uhr auf AUTO gestellt."
	fi
fi

#-----------------------------------------------
# Befehle fuer rmc
#--------------------------------------------------
if [ "$1" = "rmc" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x rmc" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x rmc" >> $pfad/imonc2do_conf
		fi
		echo "Die zweite Leitung wird an jedem $wochentag um $3:$4 Uhr getrennt."
	else
		echo "$4 $3 * * $2 cron2do_1 rmc" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 rmc" >> $pfad/imonc2do_conf
		fi
	echo "Die zweite Leitung wird am naechsten $wochentag um $3:$4 Uhr getrennt."
	fi
fi

#-----------------------------------------------
# Befehle fuer addc
#--------------------------------------------------
if [ "$1" = "addc" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x addc" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x addc" >> $pfad/imonc2do_conf
		fi
		echo "Die zweite Leitung wird an jedem $wochentag um $3:$4 Uhr getrennt."
	else
		echo "$4 $3 * * $2 cron2do_1 addc" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 addc" >> $pfad/imonc2do_conf
		fi
	echo "Die zweite Leitung wird am naechsten $wochentag um $3:$4 Uhr getrennt."
	fi
fi

#-----------------------------------------------
# Befehle fuer dial
#--------------------------------------------------
if [ "$1" = "dial" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x dial" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x dial" >> $pfad/imonc2do_conf
		fi
		echo "An jedem $wochentag um $3:$4 Uhr wird eine Verbindung hergestellt."
	else
		echo "$4 $3 * * $2 cron2do_1 dial" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 dial" >> $pfad/imonc2do_conf
		fi
	echo "Am naechsten $wochentag um $3:$4 Uhr wird eine Verbindung hergestellt."
	fi
fi

#-----------------------------------------------
# Befehle fuer hangup
#--------------------------------------------------
if [ "$1" = "hangup" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x hangup" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x hangup" >> $pfad/imonc2do_conf
		fi
		echo "An jedem $wochentag um $3:$4 Uhr wird die Verbindung getrennt."
	else
		echo "$4 $3 * * $2 cron2do_1 hangup" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 hangup" >> $pfad/imonc2do_conf
		fi
	echo "Am naechsten $wochentag um $3:$4 Uhr wird die Verbindung getrennt."
	fi
fi

#-----------------------------------------------
# Befehle fuer def
#--------------------------------------------------
if [ "$1" = "def" ] ; then
	# Fuegt die Angaben zur Cron Tabelle hinzu
	if [ "$5" = "x" ]; then
		echo "$4 $3 * * $2 cron2do_x hangup" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_x hangup" >> $pfad/imonc2do_conf
		fi
		echo "Die default Route wird an jedem $wochentag um $3:$4 Uhr auf Automatik gestellt."
	else
		echo "$4 $3 * * $2 cron2do_1 hangup" >> /var/cron/tabs/root
		if [ "$OPT_IMONC2DO_HTTP" = "yes" ]; then
			echo "$4 $3 * * $2 cron2do_1 hangup" >> $pfad/imonc2do_conf
		fi
		echo "Die default Route wird am naechsten $wochentag um $3:$4 Uhr auf Automatik gestellt."
	fi
fi

#------------------------------------------------------
# Neustart des Cron um die aenderungen wirksam zu machen
#---------------------------------------------------------
killall cron
/usr/sbin/cron

exit 0
