#!/bin/csh -f
# erinnert an einen Termin
set LANG = de
set LANG = en
if ($LANG == "de") then
 setenv LC_TIME "de_AT.ISO8859-15"
 set months = (Jän Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez)
else
 setenv LC_TIME "en"
 set months = (Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
endif
cd ~/exec
if ($#argv != 0) then
 echo "interaktiv - rufen Sie einfach $0 auf"
 exit 1
endif
weiter:
echo -n 'Bestehende Eintraege lesen (l), Neueintrag (n) oder Ende [e] - '
set was = $<

if ($was == "l") then   # Eintraege lesen

 ls echo_* >& /dev/null
 if ($status != 0) then
  echo "keine Eintraege vorhanden"
 else
  foreach month (`echo $months`)
   ls echo_${month}* >& /dev/null
   if ($status == 0) then
    foreach file ("`ls echo_${month}*`")
     set monat = `echo "$file" | awk '{FS="_"}{print $2}'`
     @ tag = `echo "$file" | awk '{FS="_"}{print $3}'`
     if ($tag < 10) set tag = " $tag"
     set zeit  = `echo "$file" | awk '{FS="_"}{print $4}'`
     echo -n "${tag}. ${monat}, ${zeit}: "
     cat "$file"
     echo -n 'Löschen (y/[n]) - '
     set ant = $<
     if ($ant == "y") then
      set job = (`at -l | grep "$monat $tag $zeit" | awk '{print $1}'`)
      at -r $job >& /dev/null
      rm "$file"
     endif
    end
   endif
  end
 endif

else if ($was == "n") then    # Neueintrag

 echo 'Wann mußt Du gehen? '
month:
 set this = `date +%b`
 echo -n "Monat ($this): "
 set datum = $<
 if ("${datum}" == "") set datum = `date +%b`
 @ MM = 0
 foreach month (`echo $months`)
  @ MM ++
  if ($MM < 10) set MM = "0$MM"
  if ($datum == $month) goto day
 end
 echo "Falsches Datumsformat (${datum}) - verwende bitte `echo $months`"
 goto month
day:
 set tag = `date +%e`
 echo -n "Tag (${tag}): "
 set day = $<
 if ("+${day}-" == "+-") set day = $tag
 if (${day} < 10) set day = "0$day"
 set datum = "${datum}_$day"
hour:
 echo -n 'hh: '
 set hh = $<
 if ($hh == '') goto hour
minutes:
 echo -n 'mm: '
 set mm = $<
 if ("min$mm" == "min") set mm = "0"
 if (($mm > 59) || ($mm < 0)) goto minutes
 @ mm = $mm             # 00 wird wieder 0
time:
 if ($mm < 10) set mm = "0$mm"
 if (-e "echo_${datum}_${hh}:${mm}") then
  @ mm ++
  goto time
 endif
 set file = "echo_${datum}_${hh}:${mm}"
 echo "Zeit auf ${hh}:${mm} am ${day}. $month gesetzt"
 echo -n 'Text der Nachricht: '
 set text = "$<"
 if ("$text" == "") then
  echo "Es ist Zeit zu gehen\!" > "$file"
 else
  echo "$text" > "$file"
 endif
 chmod 700 "$file"
 (echo HANDY ${month} ${day} ${hh} ${mm} | at -t "${MM}${day}${hh}${mm}") >& /dev/null

else    # Ende
 exit
endif

goto weiter
