﻿# !bin/bash
#######################################################################
# Program name: Terminkalender
# Author: Philipp Petersen
# Creation time: 27.11.2005
# Modification time: 28.11.2005
#
# 
#######################################################################

##################################
#functions########################
##################################
ZEIGEN() {

[ -z "$TERMDAT" ]#&& exit 1

	clear
	declare aw1=0
	declare aw2
	#while [ "$aw1" ]; do
		clear
		echo "T r e f f e n   S i e   e i n e   A u s w a h l: "
		echo "1. Alle Termine Anzeigen"
		echo "2. ausgewählte Termine"
		echo "Return = zurück ins Hauptmenü"
		echo
		#Benutzereingabe einlesen:
		echo -n "Auswahl: "
		read aw1
		
		case $aw1 in
			1) clear
				DATEI=`cat "$TERMDAT"`
				ANZ=`echo "$DATEI" | wc -l | tr -d ' '`
				ZHL=0

				while [ "$ZHL" -lt "$ANZ" ]
				do

  				ZHL=`expr $ZHL + 1`
  
  				# die aktuelle Zeile holen

  				ZEILE=`echo "$DATEI" | head -$ZHL | tail -1`


  				echo "*****************************************"
  				echo "${ZHL}/${ANZ}"

  				DAT=`echo "$ZEILE" | cut -d'#' -f1`
  				UHR=`echo "$ZEILE" | cut -d'#' -f2`
  				NOZ=`echo "$ZEILE" | cut -d'#' -f3`


  				echo ""
  				echo "Datum             : $DAT "
  				echo "Uhrzeit           : $UHR "
  				echo "Notiz             : $NOZ "
  
  				echo ""


				echo -e "(Enter)\c" ; read EINGABE


				done
				shift;;
			2) clear
				echo -n "Bitte geben Sie das Datum oder einen Suchbegriff ein: "
				read aw2
				echo	
				echo -n "Datum: "
				fgrep -w $aw2 $TERMDAT |cut -d'#' -f1
				echo -n "Uhrzeit: "				
				fgrep -w $aw2 $TERMDAT |cut -d'#' -f2
                                echo -n "Notiz: "
				fgrep -w $aw2 $TERMDAT |cut -d'#' -f3
				echo
				echo "Bitte Return drücken!"
				read
				shift;;
		esac
#done


}


EINGEBEN() {

[ -z "$TERMDAT" ] && exit 1

QUIT=""
until [ "$QUIT" = "j" -o "$QUIT" = "J" ]
do

clear

echo ""
echo "E i n g a b e"
echo ""

echo -e "  Datum        : \c" ; read TMP ; [ -n "$TMP" ] && DAT="$TMP"
echo -e "  Uhrzeit      : \c" ; read TMP ; [ -n "$TMP" ] && UHR="$TMP"
echo -e "  Notiz        : \c" ; read TMP ; [ -n "$TMP" ] && NOZ="$TMP"


echo ""
echo -e "Sind die Eingaben richtig (J/N)? \c"
read QUIT
echo ""

done

echo "${DAT}#${UHR}#${NOZ}" >> $TERMDAT

}


AENDERN() {

[ -z "$TERMDAT" ] && exit 1
clear
echo "A E N D E R U N G E N "
echo
echo
echo "Welcher Termin soll geaendert werden. Bitte String eingeben."
echo -e "  --> \c"
read SUCH
echo ""

cat "$TERMDAT" | grep "$SUCH" > termine.tmp
ANZ=`cat termine.tmp | wc -l | tr -d ' '`

if [ -z "$ANZ" -o "$ANZ" -eq 0 ]
then
  # kein Eintrag gefunden
  echo -e "Mit $SUCH wurde kein Termin gefunden. (Enter) \c"
  read EINGABE
else
 
      cat $TERMDAT | grep -v "$SUCH" > termine.rest
      cp termine.rest $TERMDAT
      export DAT UHR NOZ        #Termin to
      				  # original Dat
      export TERMDAT="$TERMDAT"
      EINGEBEN
      
      echo "Der Termin wurde geandert."
      echo -e "(Enter)\c" ; read EINGABE

fi

}

LOESCHENAW()
{
clear
echo "B i t t e   t r e f f e n   S i e   I h r e   A u s w a h l : "
echo
echo "1) Einzelne Termine loeschen!"
echo "2) alle Termine loeschen!"
echo
echo -n "--> "
read MENU 
if [ -n "$MENU" ]
  then
    case "$MENU" in
      1) LOESCHEN ;;
      2) LOESCHENALL;;
      *) echo "  Fehler, Sie haben \"$MENU\" eingegeben."
         echo -e "  (Enter) \c" ; read TASTE
    esac
  fi
}

LOESCHENALL()
{
clear
[ -z "$TERMDAT" ] && exit 1
rm $TERMDAT
      
echo "Alle Daten wurden geloescht."

echo -e "(Enter)\c" ; read EINGABE
}
LOESCHEN() {

[ -z "$TERMDAT" ] && exit 1

echo ""
echo  "Welcher Termin soll geloescht werden. Bitte String eingeben. "
echo -e "--> \c"
read SUCH
echo ""

cat "$TERMDAT" | grep "$SUCH" > termine.tmp
ANZ=`cat termine.tmp | wc -l | tr -d ' '`

if [ -z "$ANZ" -o "$ANZ" -eq 0 ]
then
  # keine Einträge mehr gefunden
  echo -e "Mit $SUCH wurde kein Termin gefunden. (Enter) \c"
  read EINGABE
else

    # löschen
      cat "$TERMDAT" | grep -v "$SUCH" > termine.rest
      cp termine.rest $TERMDAT
      # Quittieren
      echo "Der Eintrag wurde geloescht."
      echo -e "(Enter)\c" ; read EINGABE

fi

}

###################################
#MAIN##############################
###################################
export TERMDAT=$HOME/termine.dat

MENU=""
while [ "$MENU" != "q" ]
do
  clear
  tput cup 2 0; tput smul; echo -e "******** T E R M I N K A L E N D E R *********\c"; tput rmul
  tput cup 7 1; cal
  tput cup 7 26; echo -e "M E N U E\c"
  tput cup 8 26; echo -e "1. Termine anzeigen \c"
  tput cup 9 26; echo -e "2. Termine eingeben \c"
  tput cup 10 26; echo -e "3. Termine aendern \c"
  tput cup 11 26; echo -e "4. Termine loeschen \c"
  tput cup 12 26; echo -e "q. Quit program \c"
 
  
  
 tput cup 17 12; echo -e "Auswahl:  \c"
  read MENU
  echo ""

  				# leere Eingabe verarzten:
  if [ -z "$MENU" ]
  then
    echo "  Bitte richtig eingeben !"
    echo -e "--> (return)\c" ; read MENU
   
  fi

  				# wenn nicht leer, dann mache...
  if [ -n "$MENU" ]
  then
    case "$MENU" in
      1) ZEIGEN ;;
      2) EINGEBEN ;;
      3) AENDERN;;
      4) LOESCHENAW ;;
      q)echo "ByeBye "  ;;

      *) echo "  Fehler, Sie haben \"$MENU\" eingegeben."
         echo -e "  (Enter) \c" ; read TASTE
    esac
  fi

done
