/* PEA
   $VER: PEA Version 5.0
   ©1997-1998 by Dany Thinnes
*/

OPTIONS RESULTS

ADDRESS REXX
SHP=0
OPEN("File","PEA:PEA.status",r)
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  SoundPfad=ReadLn("File")
  PBPSA=ReadLn("File")
Close("File")

address PEAA

MUIA_Dtpic_Name = 0x80423d72
MUIA_Text_SetMax = 0x80424d0a
MUIA_Text_SetMin = 0x80424e10
MUIA_Text_SetVMax = 0x80420d8b
TRUE = 1
MUIA_ShowMe = 0x80429ba8
MUIA_Gauge_Horiz = 0x804232dd
MUIA_Gauge_Max = 0x8042bcdb
MUIA_Gauge_Current = 0x8042f0dd
MUIA_Disabled = 0x80423661
MUIA_ControlChar = 0x8042120b
MUIA_Text_SetMin = 0x80424e10

window ID Win COMMAND """hide""" PORT PEAA TITLE """PEA"""
 group
  menu LABEL "Programm"
   item COMMAND """CALL Config""" PORT PEAA.1 LABEL "Einstellungen"
   item COMMAND """CALL About""" PORT PEAA.1 LABEL "Über PEA"
   item COMMAND """CALL Ende""" PORT PEAA.1 LABEL "Ende"
  endmenu
  group
    text ID EIN LABEL "0 Briefe eingegangen"
    text ID AUS LABEL "0 Briefe verschickt"
    text ID FAC LABEL "0 Briefe im Postfach"
  endgroup
  space BAR HORIZ
  group HORIZ
   group FRAME
     label "Datum"
     label "Login"
     label "Logout"
     label "Speed"
   endgroup
   group HORIZ
    group
     text ID DAT ATTRS MUIA_Text_SetMin 17 LABEL "00 --- 0000"
     text ID LIN LABEL "00:00:00"
     text ID LOU LABEL "00:00:00"
     text ID GES LABEL "0"
    endgroup
    group
     button ID ICOE COMMAND """Call Ende""" PORT PEAA.1 ICON "PEA:Icons/empty" ATTRS MUIA_ShowMe 1 MUIA_ControlChar c2d('Q')
     button ID ICON COMMAND """Call Ende""" PORT PEAA.1 ICON "PEA:Icons/new" ATTRS MUIA_ShowMe 0 MUIA_ControlChar c2d('Q')
     button ID ICO COMMAND """Call About""" PORT PEAA.1 ICON "PEA:Icons/pea"
    endgroup
   endgroup
  endgroup
  SPACE BAR HORIZ
  group
   text ID TEX1 LABEL "\033c\033bOffline"
   gauge ID GAUG ATTRS MUIA_Gauge_Horiz 1 MUIA_Gauge_Max 12 MUIA_Gauge_Current 0 LABEL "Schritt %ld"
   text ID TEX2 LABEL "\033cNeuer Programmstart"
  endgroup
  SPACE BAR HORIZ
  group HORIZ
   menu LABEL "Notfall"
    item COMMAND """quit""" PORT PEAA LABEL "Notabschaltung"
   endmenu
   button ID BUT1 COMMAND """CALL Login""" PORT PEAA.1 ATTRS MUIA_ControlChar c2d('s') LABEL "\033u\033bS\033ntart"
   button ID BUT2 COMMAND """CALL SYAM""" PORT PEAA.1 ATTRS MUIA_ControlChar c2d('y') LABEL "\033u\033bY\033nAM"
  endgroup
  SPACE BAR HORIZ
  group HORIZ
   button ID BUT3 COMMAND """CALL Coder""" PORT PEAA.1 ATTRS MUIA_ControlChar c2d('v') LABEL "\033u\033bV\033nerschlüsseln"
   button ID BUT4 COMMAND """CALL Decoder""" PORT PEAA.1 ATTRS MUIA_ControlChar c2d('e') LABEL "\033u\033bE\033nntschlüsseln"
  endgroup
 endgroup
endwindow

ADDRESS REXX

IF ~SHOW('L','rexxsupport.library') THEN DO
  CALL ADDLIB('rexxsupport.library',0,-30,0)
END

OPENPORT('PEAA.1')

IF PBPSA=0 THEN CALL Warten

CALL Login

/* --------------------------------------------------------------- */

Login:

ADDRESS PEAA
button ID BUT1 ATTRS MUIA_Disabled 1
button ID BUT2 ATTRS MUIA_Disabled 1

ADDRESS REXX

Zeit=TIME('N')
Datum=Date('N')
Tag=WORD(Datum,1)
Monat=WORD(Datum,2)
Jahr=WORD(Datum,3)
IF Monat="Jan" THEN Monat="Jan"
IF Monat="Feb" THEN Monat="Feb"
IF Monat="Mar" THEN Monat="Mär"
IF Monat="Apr" THEN Monat="Apr"
IF Monat="May" THEN Monat="Mai"
IF Monat="Jun" THEN Monat="Jun"
IF Monat="Jul" THEN Monat="Jul"
IF Monat="Aug" THEN Monat="Aug"
IF Monat="Sep" THEN Monat="Sep"
IF Monat="Okt" THEN Monat="Okt"
IF Monat="Nov" THEN Monat="Nov"
IF Monat="Dez" THEN Monat="Dez"
Datum=Tag||" "||Monat||" "||Jahr

ADDRESS PEAA
text ID LIN LABEL Zeit
text ID DAT LABEL Datum

ADDRESS REXX
MIAMI=GETCLIP('MIAMI')
YAM=GETCLIP('YAM')

ADDRESS PEAA
text ID TEX1 LABEL "\033cStarte Miami"
gauge ID GAUG ATTRS MUIA_Gauge_Current 1

ADDRESS REXX
IF ~SHOW('P','MIAMI.1') THEN DO
  ADDRESS COMMAND "run >NIL: "||MIAMI
  ADDRESS COMMAND "WaitForPort MIAMI.1"
END

ADDRESS MIAMI.1
ISONLINE
TE=RC
IF TE=0 THEN DO
  ADDRESS PEAA
  text ID TEX1 LABEL "\033cGehe Online"
  gauge ID GAUG ATTRS MUIA_Gauge_Current 2

  ADDRESS MIAMI.1
  ONLINE

  ADDRESS PEAA
  text ID TEX1 LABEL "\033cPrüfe"
  gauge ID GAUG ATTRS MUIA_Gauge_Current 3

  ADDRESS MIAMI.1
  ISONLINE
  OL=RC
  IF OL=0 THEN DO
  ADDRESS PEAA
    text ID TEX1 LABEL "\033cLogin Fehler"
    gauge ID GAUG ATTRS MUIA_Gauge_Current 5
    ADDRESS MIAMI.1
    quit
    ADDRESS REXX
    Zeit2=TIME('N')
    ADDRESS PEAA
    text ID EIN LABEL "0 Briefe eingegangen"
    text ID AUS LABEL "0 Briefe ausgegangen"
    text ID FAC LABEL "Nicht geprüft"
    text ID LOU LABEL Zeit2
  END

  ADDRESS PEAA
  text ID TEX1 LABEL "\33cErmittle Speed"
  gauge ID GAUG ATTRS MUIA_Gauge_Current 4
END

ADDRESS MIAMI.1
GETCONNECT
Speed=RESULT
IF Speed="RESULT" THEN DO
  AA=2
  DO I=0 to AA
    GETCONNECT
    Speed=RESULT
    IF Speed="RESULT" THEN AA=AA+1
  END
  GETCONNECT
  Speed=RESULT
END
ADDRESS REXX
Speed=TRANSLATE(Speed," ","/"," ")
Speed=WORD(Speed,1)

ADDRESS PEAA
text ID GES LABEL Speed
text ID TEX1 LABEL "\033c\033bOnline"
gauge ID GAUG ATTRS MUIA_Gauge_Current 5

ADDRESS PEAA
text ID TEX1 LABEL "\033cStarte YAM"
gauge ID GAUG ATTRS MUIA_Gauge_Current 6

ADDRESS REXX
IF ~SHOW('P','YAM') THEN DO
  ADDRESS COMMAND "run >NIL: "||YAM
  ADDRESS COMMAND "WaitForPort YAM"
END

ADDRESS PEAA
text ID TEX1 LABEL "\033cÜberprüfe die Post"
gauge ID GAUG ATTRS MUIA_Gauge_Current 7

ADDRESS YAM
mailcheck;Einga=RESULT

ADDRESS REXX
Bild=Einga
SETCLIP('Bild',Bild)
IF Einga="-1" THEN Eingang="!! Fehler !!"
IF Einga="0" THEN Eingang="0 Briefe eingegangen"
IF Einga="1" THEN Eingang="1 Brief eingegangen"
IF Einga>"1" THEN Eingang=Einga||" Briefe eingegangen"


ADDRESS PEAA
text ID EIN LABEL Eingang
text ID TEX1 LABEL "\033cVerschicke die Post"
gauge ID GAUG ATTRS MUIA_Gauge_Current 8
IF Einga>"1" THEN DO
  text ID TEX2 LABEL "\033c\033bSie haben Post"
  SHP=1
END

ADDRESS YAM
mailsendall;Ausga=RESULT

ADDRESS REXX
IF Ausga="-1" THEN Ausgang="0 Briefe verschickt"
IF Ausga="0" THEN Ausgang="0 Briefe verschickt"
IF Ausga="1" THEN Ausgang="1 Brief verschickt"
IF Ausga>"1" THEN Ausgang=Ausga||" Briefe verschickt"

ADDRESS PEAA
text ID AUS LABEL Ausgang
text ID TEX1 LABEL "\033cPrüfe die Briefe im Postfach"
gauge ID GAUG ATTRS MUIA_Gauge_Current 9

ADDRESS YAM
setfolder 0
getfolderinfo MAX
Fa=RESULT

ADDRESS REXX
IF Fa="-1" THEN Fach="0 Briefe im Postfach"
IF Fa="0" THEN Fach="0 Briefe im Postfach"
IF Fa="1" THEN Fach="1 Brief im Postfach"
IF Fa>"1" THEN Fach=Fa||" Briefe im Postfach"

ADDRESS PEAA
text ID FAC LABEL Fach
text ID TEX1 LABEL "\033cBeende YAM"
gauge ID GAUG ATTRS MUIA_Gauge_Current 10

ADDRESS YAM
quit

IF TE=0 THEN DO
  ADDRESS PEAA
  text ID TEX1 LABEL "\033cLogoff"
  gauge ID GAUG ATTRS MUIA_Gauge_Current 11

  ADDRESS MIAMI.1
  OFFLINE

  ADDRESS PEAA
  text ID TEX1 LABEL "\033cBeende Miami"
  gauge ID GAUG ATTRS MUIA_Gauge_Current 12

  ADDRESS MIAMI.1
  quit
END

ADDRESS REXX
NZeit=TIME('N')

ADDRESS PEAA
text ID LOU LABEL NZeit
text ID TEX1 LABEL "\033c\033bOffline"
gauge ID GAUG ATTRS MUIA_Gauge_Current 0

IF Bild="-1" THEN DO
  button ID ICOE ATTRS MUIA_ShowMe 1
  button ID ICON ATTRS MUIA_ShowMe 0
END

IF Bild>0 THEN DO
  button ID ICOE ATTRS MUIA_ShowMe 0
  button ID ICON ATTRS MUIA_ShowMe 1
  IF SHP=0 THEN DO
    text ID TEX2 LABEL "\033c\033bSie haben Post"
  END
END

IF Bild=0 THEN DO
  button ID ICOE ATTRS MUIA_ShowMe 1
  button ID ICON ATTRS MUIA_ShowMe 0
END

ADDRESS REXX

SETCLIP('Eingang',Bild)

OPEN("File","PEA:PEA.status",r)
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  Sound=ReadLn("File")
  SoundPfad=ReadLn("File")
CLOSE("File")

IF Sound=0 THEN DO
  IF Bild=0 THEN DO
    ADDRESS COMMAND "run >NIL: "||SoundPfad||" PEA:Sound/KeinePost.maud"
  END
  IF Bild>0 THEN DO
    ADDRESS COMMAND "run >NIL: "||SoundPfad||" PEA:Sound/post.maud"
  END
END

CALL Warten

/* --------------------------------------------------------------- */

Warten:

ADDRESS REXX
NLI=GETCLIP('LoginZeit')

ADDRESS PEAA
button ID BUT1 ATTRS MUIA_Disabled 0
button ID BUT2 ATTRS MUIA_Disabled 0
text ID TEX1 LABEL "\033c\033bOffline bis "||NLI||" Uhr"
ADDRESS REXX

CALL WAITPKT('PEAA.1')
Eingang=GETPKT('PEAA.1')
Packet=GETARG(Eingang)

IF Packet="GO" THEN CALL Login

INTERPRET Packet

CALL Warten

/* --------------------------------------------------------------- */

Ende:

IF SHOW('P','DOPUS.1') THEN DO
  ADDRESS DOPUS.1
  dopus request '"Wollen Sie PEA wirklich beenden?" Ja|Nein'
  Benutzer=RC
  IF RC=1 THEN BREAK
  IF RC=0 THEN CALL Warten
END

ADDRESS PEAA
quit

ADDRESS REXX
CALL Closeport PEAA.1
exit

/* --------------------------------------------------------------- */

SYAM:

ADDRESS PEAA
text ID TEX2 LABEL "\033cKeine Post"
ADDRESS REXX
SHP=0

YAM=GETCLIP('YAM')

IF ~SHOW('P','YAM') THEN DO
  ADDRESS COMMAND "run >NIL: "||YAM
  ADDRESS COMMAND "WaitForPort YAM"
  ADDRESS YAM
  show
END

IF SHOW('P','YAM') THEN DO
  ADDRESS YAM
  show
END

CALL Warten

/* --------------------------------------------------------------- */

Config:

IF ~SHOW('P','PEAC') THEN DO
  ADDRESS COMMAND "run >NIL: MUIREXX PEA:PEAC PORT=PEAC"
  ADDRESS COMMAND "WaitForPort PEAC"
END

CALL Warten

/* --------------------------------------------------------------- */

About:

IF ~SHOW('P','ABOUT') THEN DO
  IF EXISTS('PEA:About') THEN DO
    ADDRESS COMMAND "run >NIL: muirexx >NIL: PEA:About PORT=ABOUT"
    ADDRESS COMMAND "WaitForPort ABOUT"
  END
END

CALL Warten

/* --------------------------------------------------------------- */

Coder:

IF ~SHOW('P','CODER') THEN DO
  ADDRESS COMMAND "run >NIL: muirexx >NIL: PEA:PGP/Coder.GUI PORT=CODER"
  ADDRESS COMMAND "WaitForPort CODER"
END

CALL Warten

/* --------------------------------------------------------------- */

Decoder:

IF ~SHOW('P','DECODER') THEN DO
  ADDRESS COMMAND "run >NIL: muirexx >NIL: PEA:PGP/Decoder.GUI PORT DECODER"
  ADDRESS COMMAND "WaitForPort DECODER"
END

CALL Warten
