;
;
; Installer-Script for CED_HTML v2.2
; ----------------------------------
;
; CED_HTML is (c) 1999 Eric Belle <ebelle@kyxar.fr>
; $VER Installer-Script for CED_HTML v2.2 (c) 03-Mar-99 Kai Philippsen <kai@philippsen.de>
;

; -----

; Defaults

(set #dest "")

(set @default-dest "Sys:")

(if (= @language "deutsch")
    (set #def_lang 1)
    (set #def_lang 0)
)

(if (= @language "français")
    (set #def_lang 2)
)

(complete 0)

; Language select

(set #lang
     (askchoice
        (prompt "Please select your preferred language.\nBitte die bevorzugte Sprache wählen.\nSélectionnez votre langue préférée.")
        (help   (cat "The chosen language will be used during this installation progress.\nDie gewählte Sprache wird während dieser Installation verwendet.\nLa langue choisie sera utilisée au cours de l'installation.\n\n\n" @askchoice-help))
        (choices "English" "Deutsch" "Français")
        (default #def_lang)
     )
)

; -----

; Define text strings (English)

(if (= #lang 0)
    (
(set #MSG_START "\n\nWelcome to the CED_HTML installation script!\n\nWe now will copy all required files to\nyour Harddisk.\n\nCED_HTML is © 1999\nby Eric Belle <ebelle@kyxar.fr>\n\nPlease report problems during installation to\nKai Philippsen <kai@philippsen.de>")
(set #MSG_DIR "Where do you wish CED_HTML to be installed?\nA drawer named `Html' will be created there.")
(set #MSG_DIR_HELP (cat "Choose the harddisk partition and optionally subdirectories, where you wish the program to be installed. A drawer named `Html' will be created and all script files will be copied there."
                    "\n\nYou may choose any path you want, maybe REXX: or your CED directory for example.\n\n\n" @askdir-help))
(set #OLD_FOUND "\n\nAn old version of CED_HTML was found in the path you entered.\n\nWould you like to backup it?\n\nYou should do so if you modified some of the scripts.")
(set #OLD_FOUND_HELP (cat "Choose the harddisk partition and optionally subdirectories, where you wish to backup your old CED_HTML installation. All drawer not found will be created and all script files will be copied there."
                    "\n\nYou may choose any path you want, maybe REXX: or your CED directory for example.\n\n\n" @askdir-help))
(set #BACK_DIR "Where do you wish the old CED_HTML version to be backuped?\nA drawer 'Html_old' will be created there if necessary.")
(set #BACK_DIR_HELP (cat "Choose the harddisk partition and optionally subdirectories, where you wish the old CED_HTML to be copied. Missing directories will be created and all script files will be copied there."
                    "\n\nYou may choose any path you want, maybe REXX: or your CED directory for example.\n\n\n" @askdir-help))
(set #BACK_READY "\n\nYour old CED_HTML version has been backuped!")
(set #SELECT_DOCS "\n\nWould you like to install some or all\nof the documentation files included in this package?")
(set #MSG_DOCS "Which documentations would you like to be copied?\nYou should also install the Make_Assign script if you do not want a CED_HTML: assign in s:user-startup.")
(set #MSG_DOCS_HELP (cat "Here you can select if you wish to install the readme file and the documentation in AmigaGuide format.\n\n"
                    "You can also copy the Make_Assign script. The Make_Assign scripts adds the assign CED_HTML: and can be of use, if you don't want the assign to be added to your s:user-startup.\n\n\n" @askchoice-help))
(set #MSG_DIR_DOCS "Where do you wish the CED_HTML documentations to be installed?")
(set #MSG_DIR_DOCS_HELP (cat "Choose the harddisk partition and optionally subdirectories, where you wish the selected documentations to be installed.\n\n\n" @askdir-help))
(set #USER_STARTUP "\n\nIn order to make CED_HTML find the script directory,\nan assign CED_HTML: has to be added to the \"s:user-startup\" file.\n\nContinue?")
(set #MAKE_ASSIGN "\n\nCED_HTML needs an assign CED_HTML: to your\ninstallation directory in order to run.\n\nContinue?")
(set #READY "\nThe copying of all files is now finished.\n\nTo complete the installation...\n\n...please start CygnusEd now,\nselect 'Install DOS/AREXX command' from CED's pull-down menus,\nadd 'CED_HTML:cedmacros.ced' to one of the F1...F10 keys\nand select 'Save DOS/AREXX command' to make this permanent.\nPress this F key to start.\n\nPlease refer to the docs for more info.")
    )
)


; Define text strings (German)

(if (= #lang 1)
    (
(set #MSG_START "\n\nWillkommen zum CED_HTML Installationskript!\n\nDieses Skript kopiert alle benötigten Dateien\nauf Ihre Festplatte.\n\nCED_HTML ist © 1999\nby Eric Belle <ebelle@kyxar.fr>\n\nBitte wenden Sie sich bei Problemen mit dem Installer an\nKai Philippsen <kai@philippsen.de>")
(set #MSG_DIR "Wo soll CED_HTML installiert werden?\nEin Verzeichnis namens `Html' wird automatisch erzeugt.")
(set #MSG_DIR_HELP (cat "Wählen Sie die Festplattenpartition und optional Unterverzeichnisse für den Pfad, in dem das Programm installiert werden soll. In dem von Ihnen eingegebenen Pfad wird eine Schublade namens `Html' erzeugt und alle Skriptdateien werden dorthin kopiert."
                    "\n\nSie können Ihren Pfad beliebig wählen, Sie könnten z.B. die Skripte in REXX: oder Ihrem CED Verzeichnis installieren.\n\n\n" @askdir-help))
(set #OLD_FOUND "\n\nIn dem von Ihnen gewählten Pfad scheint es eine alte Version von CED_HTML zu geben.\n\nMöchten Sie eine Sicherheitskopie dieser Version anlegen?\n\nWählen Sie bitte unbedingt 'Ja', wenn Sie diese Skripte verändert haben.")
(set #OLD_FOUND_HELP (cat "Wählen Sie die Festplattenpartition und optional Unterverzeichnisse für den Pfad, in dem die eine Kopie der alten CED_HTML Version abgelegt werden soll. Nicht gefundene Verzeichnisse werden automatisch angelegt und alle Skripte des alten Verzeichnisses werden dorthin kopiert."
                    "\n\nSie können Ihren Pfad beliebig wählen, Sie könnten z.B. die Skripte in REXX: oder Ihrem CED Verzeichnis installieren.\n\n\n" @askdir-help))
(set #BACK_DIR "Wohin soll die alte CED_HTML Version kopiert werden?\nEin Verzeichnis namens 'Html_old' wird automatisch dort erzeugt wenn nötig.")
(set #BACK_DIR_HELP (cat "Wählen Sie die Festplattenpartition und optional Unterverzeichnisse für den Pfad, in dem die eine Kopie der alten CED_HTML Version abgelegt werden soll. Nicht gefundene Verzeichnisse werden automatisch angelegt und alle Skripte des alten Verzeichnisses werden dorthin kopiert."
                    "\n\nSie können Ihren Pfad beliebig wählen, Sie könnten z.B. die Skripte in REXX: oder Ihrem CED Verzeichnis installieren.\n\n\n" @askdir-help))
(set #BACK_READY "\n\nIhre alte CED_HTML Version wurde gesichert!")
(set #SELECT_DOCS "\n\nMöchten Sie einige oder alle\nAnleitungen dieses Pakets installieren?")
(set #MSG_DOCS "Welche Anleitungen sollen installiert werden?\nSie sollten auch das Make_Assign script installieren, wenn Sie keinen CED_HTML: assign in s:user-startup haben möchten.")
(set #MSG_DOCS_HELP (cat "Hier können Sie auswählen, ob Sie die Readme Datei und die Anleitung im AmigaGuide Format auf Ihre Festplatte kopieren möchten.\n\n"
                     "Außerdem können Sie das Make_Assign Skript kopieren. Dieses Skript erzeugt den nötigen Assign CED_HTML: und ist daher nützlich, wenn Sie diesen nicht bereits in s:user-startup anlegen.\n\n\n" @askchoice-help))
(set #MSG_DIR_DOCS "Wo sollen die CED_HTML Anleitungen installiert werden?")
(set #MSG_DIR_DOCS_HELP (cat "Wählen Sie die Festplattenpartition und optional Unterverzeichnisse für den Pfad, in dem die Anleitungen installiert werden soll.\n\n\n" @askdir-help))
(set #USER_STARTUP "\n\nDamit CED_HTML das Verzeichnis mit den Skripten findet\nsollte ein Assign CED_HTML: in \"s:user-startup\" eingefügt werden.\n\nFortfahren?")
(set #MAKE_ASSIGN "\n\nZum Starten benötigt CED_HTML einen Assign CED_HTML: .\n\nFortfahren?")
(set #READY "\nDie Installation aller Dateien ist nun beendet.\n\nUm die Einrichtung von CED_HTML zu vervollständigen...\n\n...starten Sie bitte nun CygnusEd,\nwählen Sie 'DOS/AREXX-Befehl installieren' aus CED's Pull-down-Menüs,\nfügen Sie 'CED_HTML:cedmacros.ced' als Makro für eine der F1...F10 Tasten ein\nund wählen Sie 'DOS/AREXX-Befehl speichern' um diese Einstellung zu sichern.\nDrücken Sie diese F-Taste um das Programm zu starten.\n\nBitte entnehmen Sie alle weiteren Informationen der Anleitung.")
    )
)

; Define text strings (French)

(if (= #lang 2)
    (
(set #MSG_START "\n\nBienvenue dans le script d'installation de CED_HTML!\n\nCe script va installer tous les fichiers requis sur votre disque dur.\n\nCED_HTML est © 1999\npar Eric Belle <ebelle@kyxar.fr>\n\nPrière de rapporter les éventuels problèmes rencontrés avec ce script à \nKai Philippsen <kai@philippsen.de>")
(set #MSG_DIR "Où CED_HTML doit-il être installé?\nUn répertoire nommé `Html' sera créé.")
(set #MSG_DIR_HELP (cat "Choisissez la partition et optionnellement les sous répertoires, où vous souhaitez installer CED_HTML. Un répertoire nommé `Html' sera créé dans lequel tous les fichiers requis seront copiés."
                    "\n\nVous pouvez choisir n'importe quel emplacement, dans REXX:, dans le répertoir de CygnusED ou n'importe où ailleurs.\n\n\n" @askdir-help))
(set #OLD_FOUND "\n\nUne ancienne version de CED_HTML est déjà présente ici.\n\nDésirez-vous la sauver?\n\nCeci est conseillé si vous avez modifié les scripts par vous-même et que vous désirez les conserver.")
(set #OLD_FOUND_HELP (cat "Choisissez la partition et optionnellement les sous répertoires, où vous souhaitez sauver l'ancienne installation de CED_HTML. Tous les répertoires inexistants seront créés et tous les scripts seront copiés."
                    "\n\nVous pouvez choisir n'importe quel emplacement, dans REXX:, dans le répertoir de CygnusED ou n'importe où ailleurs.\n\n\n" @askdir-help))
(set #BACK_DIR "Où désirez-vous copier l'ancienne version?\nUn répertoire nommé 'Html_old' sera créé.")
(set #BACK_DIR_HELP (cat "Choisissez la partition et optionnellement les sous répertoires, où vous souhaitez copier l'ancienne version de CED_HTML. Tous les répertoires manquant seront créés et tous les scripts seront copiés."
                    "\n\nVous pouvez choisir n'importe quel emplacement, dans REXX:, dans le répertoir de CygnusED ou n'importe où ailleurs.\n\n\n" @askdir-help))
(set #BACK_READY "\n\nL'ancienne version de CED_HTML a été sauvée!")
(set #SELECT_DOCS "\n\nVoulez-vous installer tout ou une partie \nde la documentation de CED_HTML?")
(set #MSG_DOCS "\nQuel(s) document(s) désirez-vous copier?\nIl vous est conseillé d'installer également le script Make_Assign pour le cas où vous ne désireriez pas réaliser l'assignation de CED_HTML: dans le fichier s:user-startup.")
(set #MSG_DOCS_HELP (cat "Vous pouvez sélectionner le type de documentation qui vous intéresse le plus, à savoir le fichier texte .readme et/ou le guide complet au format AmigaGuide.\n\nVous avez également la possibilité d'installer le script Make_Assign. Ce script permet de réaliser l'assignation de CED_HTML: pour le cas où vous ne désireriez pas la réaliser dans le fichier s:user-statup.\n\n\n" @askchoice-help))
(set #MSG_DIR_DOCS "Où désirez-vous installer la documentation de CED_HTML?")
(set #MSG_DIR_DOCS_HELP (cat "Choisissez la partition et optionnellement les sous répertoires, où vous souhaitez copier la documentation de CED_HTML.\n\n\n" @askdir-help))
(set #USER_STARTUP "\n\nAfin que CygnusED trouve le répertoire des scripts Arexx, l'assignation de 'CED_HTML:' doit être incluse dans le fichier \"s:user-startup\".\n\nD'accord?")
(set #MAKE_ASSIGN "\n\nCED_HTML nécessite l'assignation 'CED_HTML:'\npour pouvoir être effectif immédiatement.\n\nD'accord?")
(set #READY "\nTous les fichiers requis sont maintenant copiés.\n\nPour compléter l'installation...\n\n...il est maintenant nécessaire d'ouvrir CygnusED, de sélectionner le menu 'Installer commande DOS/AREXX' et d'associer 'CED_HTML:cedmacros.ced' à l'une des touches suivantes F1...F10. Il est ensuite nécessaire d'activer le menu 'Sauver commande DOS/AREXX' pour rendre ce raccourci clavier résident. Prière de se référer à la documentation pour de plus amples informations.")
    )
)

; ---------------------------> Procedures <-----------------------------

; Install CED_HTML on a harddisk

(procedure inst


(complete 10)


; Destination for HTML drawer, backup old installation

 (if (= #dest "")
     (
         (set #dir
              (askdir
                   (prompt #MSG_DIR)
                   (help #MSG_DIR_HELP)
                   (default @default-dest)
               )
         )
         (complete 20)
         (set #dest (tackon #dir "Html"))

         (if (exists #dest)
             (
             (set #backup
                  (askbool
                  (prompt #OLD_FOUND)
                  (help #OLD_FOUND_HELP)
                  (default 1)
                  )
             )
             (if (= #backup 1)
                 (
                 (complete 30)
                 (set #backdir
                      (askdir
                      (prompt #BACK_DIR)
                      (help #BACK_DIR_HELP)
                      (default #dir)
                      )
                      )
                      (set #backdir (tackon #backdir "Html_Old"))
                      (if (NOT (exists #backdir))
                          (makedir #backdir (infos))
                      )
                      (copyfiles
                            (source #dest)
                            (dest #backdir)
                            (pattern "#?")
                            (infos)
                            (noposition)
                                            )
                      (message #BACK_READY)
                 )
             )
             ; Ende if

             )
             ; Ende #backup

         )

         (if (NOT (exists #dest))
         (makedir #dest (infos))
         )
     )
 )


; Copy scripts

    (
        (
        (copyfiles (source "Html") (dest #dest) (pattern "#?") (infos) (noposition))
    )
)

(complete 60)

; Select documentations to copy

(set #docus
     (askbool
     (prompt #SELECT_DOCS)
     (help @askbool-help)
     (default 1)
     )
)

(complete 70)

(if (= #docus 1)
    (
    (set #docs
         (askoptions
         (prompt #MSG_DOCS)
         (help #MSG_DOCS_HELP)
         (choices "Readme" "AmigaGuide documentation" "Make_Assign script")
         )
     )

; Copy documentations

    (set #docs_dir #dest)
    (set #docs_dir (askdir (prompt #MSG_DIR_DOCS) (help #MSG_DIR_DOCS_HELP) (default #dest)))

    (if (IN #docs 0)
        (copyfiles (source "") (dest #docs_dir) (pattern "#?.readme") (infos) (noposition))
        )

    (if (IN #docs 1)
        (copyfiles (source "") (dest #docs_dir) (pattern "#?.guide") (infos) (noposition))
        )

    (if (IN #docs 2)
        (
        (copyfiles (source "") (dest #docs_dir) (pattern "assign.#?") (infos) (noposition))
        (copyfiles (source "") (dest #docs_dir) (pattern "Make_Assign.#?") (infos) (noposition))
        )
        )

    )
)

(complete 80)

; Modify user-startup

(startup "CED_HTML"
	(prompt #USER_STARTUP)
	(help @startup-help)
        (command "assign CED_HTML: \"" #dest "\"\n")
)

(complete 90)

; Insert an assign

(set #ass (askbool
          (prompt #MAKE_ASSIGN)
          (help @askbool-help)
          (default 1)
          )
)

(if (= #ass 1)
(run (cat "assign CED_HTML: " "\"" #dest "\""))
)

(complete 100)

)

; ------------------------------> MAIN <--------------------------------

(message #MSG_START)

(inst)
	
(set @default-dest #dest)

(message #READY)

(exit)
