; Installer-Script für MailFilter 1.14 und MicroDot
; $VER: Install_MailFilter_MD 1.14 (23.7.94)

(if (exists "MAILFILTER:" (noreq))
   (
      (set update 1)
      (set progdir (expandpath "MAILFILTER:"))
   )
   (
      (set update 0)
      (set progdir @default-dest)
   )
)

(if update
   (
      (set auswahl
         (askbool
            (prompt "MailFilter ist schon in Ihrem System installiert! Wollen Sie die alte Installation überschreiben?")
            (help "Keine Hilfe verfügbar.")
            (choices "Überschreiben" "Abbrechen")
            (default 0)
         )
      )

      (if (not auswahl)
         (exit (quiet))
      )

      (if (exists "MAILFILTER:MailFilter.prefs" (noreq))
         (set copyprefs 0)
         (set copyprefs 1)
      )
   )
   (
      (set copyprefs 1)

      (set progdir
         (askdir
            (prompt "In welchem Verzeichnis soll \"MailFilter\" installiert werden? Alle nötigen Dateien werden direkt in dieses Verzeichnis kopiert!")
            (help @askdir-help)
            (default progdir)
         )
      )
   )
)

(set @default-dest progdir)

(if copyprefs
   (copyfiles
      (prompt "Kopieren der Programmdateien")
      (help @copyfiles-help)
      (source "")
      (dest progdir)
      (pattern "MailFilter#?")
      (infos)
      (files)
      (confirm)
   )
   (
      (copyfiles
         (prompt "Kopieren der Programmdateien. Die Datei \"MailFilter.prefs\" wird, falls nötig, in ein neues Format konvertiert. Die alte Datei bleibt dann unter dem Namen \"MailFilter.prefs.old\" erhalten.")
         (help @copyfiles-help)
         (source "")
         (dest progdir)
         (pattern "(MailFilter|MailFilter.guide)")
         (infos)
         (files)
         (confirm)
      )

      (run "ConvertPrefs MAILFILTER:MailFilter.prefs")
   )
)

(set screenname
   (askstring
      (prompt "Welchen Namen hat der PublicScreen von \"MicroDot\"?")
      (help @askstring-help)
      (default "MICRODOT")
   )
)

(set tool (tackon progdir "MailFilter"))

(tooltype
   (prompt "")
   (dest tool)
   (settooltype "PUBSCREEN" screenname)
   (noposition)
)

(if (and update (exists "SYS:Wbstartup/Start_MailFilter.info" (noreq)))
   (set auswahl 1)
   (set auswahl 0)
)

(if (not auswahl)
   (set auswahl
      (askbool
         (prompt "Soll MailFilter nach jedem Reset automatisch gestartet werden? Wenn Sie jetzt \"Ja\" wählen wird ein Projekt-Piktogramm nach \"SYS:Wbstartup\" kopiert!")
         (help "Keine Hilfe verfügbar.")
         (choices "Ja" "Nein")
         (default 0)
      )
   )
)

(if auswahl
   (
      (copyfiles
         (prompt "Kopieren des Piktogramms \"Start_MailFilter.info\" nach \"SYS:Wbstartup\".")
         (help @copyfiles-help)
         (source "")
         (dest "SYS:Wbstartup")
         (pattern "Start_MailFilter.info")
         (files)
         (confirm)
      )

      (tooltype
         (prompt "")
         (dest "SYS:Wbstartup/Start_MailFilter")
         (setdefaulttool tool)
         (noposition)
      )
   )
)

(set auswahl
   (askbool
      (prompt "\"Mailfilter\" kann über ARexx mit \"MicroDot\" zusammenarbeiten! Sollen die nötigen ARexx-Scripts jetzt installiert werden?")
      (help "Keine Hilfe verfügbar.")
      (choices "Ja" "Nein")
      (default 0)
   )
)

(if auswahl
   (
      (set lhaprog
         (askfile
            (prompt "LhA muß aus den ARexx-Scripts heraus gestartet werden. Dazu muß der Pfad von LhA bekannt sein. Wählen Sie jetzt bitte den LhA Befehl aus!")
            (help @askfile-help)
            (default "LhA")
         )
      )

      (set tempdir
         (askdir
            (prompt "Zum Entpacken der Netcall-Archive wird ein temporäres Verzeichnis benötigt. In diesem Verzeichnis muß genug Platz für den gesamten, entpackten Puffer sein! Welches Verzeichnis soll verwendet werden?")
            (help @askdir-help)
            (default "T:")
         )
      )

      (textfile
         (prompt "Erstellen des ARexx-Scripts, das zum automatischen Filtern der Netcall-Puffer benötigt wird.")
         (help "Keine Hilfe verfügbar.")
         (dest "REXX:FilterPuffer.rexx")
         (confirm)
         (append "/* ARexx - Script für MicroDot und MailFilter */\n")
         (append "\n")
         (append "/*\n")
         (append "** $VER: FilterPuffer.rexx 1.9 (19.7.94)\n")
         (append "**\n")
         (append "** Erkennt automatisch ob der angekommene Puffer ein LhA-Archiv oder\n")
         (append "** ungepackt ist, entpackt oder kopiert diesen entsprechend nach\n")
         (append "** 'T:WILAM-04431-3749' und filtert dann alle enthaltenen Einzelpuffer.\n")
         (append "** Die gefilterten Puffer werden im aktuellen Verzeichnis gespeichert\n")
         (append "** und können danach einsortiert werden.\n")
         (append "**\n")
         (append "** FilterPuffer.rexx muß nach REXX: kopiert werden\n")
         (append "*/\n")
         (append "\n")
         (append "/*\n")
         (append "** Hier muß der komplette Pfad von 'LhA' eingetragen werden.\n")
         (append "** Der Pfad muß in Anführungszeichen oder Hochkommas stehen.\n")
         (append "*/\n")
         (append "\n")
         (append "lha = '")
         (append lhaprog)
         (append "'\n")
         (append "\n")
         (append "\n")
         (append "/*\n")
         (append "** Hier wird ein Verzeichnis für temporäre Daten angegeben. Auf\n")
         (append "** dem Datenträger, der dieses Verzeichnis enthält muß genügend\n")
         (append "** Speicherplatz für den gesamten, entpackten Puffer vorhanden\n")
         (append "** sein. Der Pfad muß in Anführungszeichen oder Hochkommas stehen.\n")
         (append "*/\n")
         (append "\n")
         (append "tempdir = '")
         (append tempdir)
         (append "'\n")
         (append "\n")
         (append "\n")
         (include "MicroDot/rexx/FilterPuffer.install")
      )

      (set rexxdir
         (askdir
            (prompt "Einige ARexx-Scripts müssen in das Verzeichnis \"MicroDot/Rexx\" kopiert werden! Wählen Sie jetzt bitte dieses Verzeichnis als Zielverzeichnis!")
            (help @askdir-help)
            (default @default-dest)
         )
      )

      (copyfiles
         (prompt "Kopieren der ARexx-Scripts für das automatische Eintragen von Absendern, Betreffs und Headern in die Filterliste.")
         (help @copyfiles-help)
         (source "MicroDot")
         (dest rexxdir)
         (pattern "#?.mdmrexx")
         (files)
         (confirm)
      )
   )
)

(if (not update)
   (
      (startup "MailFilter 1.14"
         (prompt "Die Anweisung:\n\"Assign MAILFILTER: " progdir "\"\nmuß zur \"S:User-Startup\" hinzugefügt werden.\n\n Das logische Verzeichnis \"MAILFILTER:\" ist nötig damit das Programm aus den ARexx-Scripts gestartet werden kann. Die Voreinstellungen werden ebenfalls in diesem Verzeichnis gesucht.")
         (help @startup-help)
         (command "Assign MAILFILTER: \"" progdir "\"\n")
      )

      (makeassign "MAILFILTER" progdir)
   )
)

(exit "Damit das empfangene Archiv beim Netcall automatisch gefiltert wird müssen Sie \"MicroDot\" starten und den Menüpunkt \"Konfiguration/Point/Allgemeines\" aufrufen. Im Eingabefeld für den \"Entpacker\" tragen Sie bitte folgendes ein: sys:rexxc/rx filterpuffer %s\n\nViel Spaß beim Filtern! :-)")
