;****************************************************************************;
;                                                                            ;
; $VER: SLIPCall_Installation 3.0b1 (17.9.95)                                ;
;                                                                            ;
; © 1995 Thomas Egrelius                                                     ;
;                                                                            ;
; egge@canit.se  /  thomas@fotoslide.bmc.uu.se                               ;
;                                                                            ;
;****************************************************************************;

(procedure :askdestination
    (set #destination
        (askdir
            (prompt "Vart vill du att lägga SLIPCall 3.0?\n"
                    "En låda kommer att skapas.")
            (help   @askdir-help)
            (default "SYS:")
        )
    )
)

(procedure :checksana
    (if (<> (exists "ENVARC:Sana2" (noreq)) 2)
        (makedir "ENVARC:Sana2")
    )
)

(procedure :askdefault
    (set #default
        (askchoice
            (prompt "Vilken leverantör använder du mest?")
            (help   "En förinställd konfigurationsfil kommer att sparas "
                    "för den leverantör du väljer.\n\n"
                    "Denna fil (S:SLIPCall.config) används av SLIPCall "
                    "när det körs från Workbench, eller när inget "
                    "argument för konfiguration anges.")
            (choices "CanIt" "Algonet" "ABC-Klubben" "Oden Telecom" "Uppsala Universitet" "Annan leverantör")
            (default 0)
        )
    )
)



; -------------------------------------
; main()
; -------------------------------------

(if
    (= (exists "AmiTCP:" (noreq)) 0)
    (message "AmiTCP är inte installerat!\n\nAmiTCP måste vara installerat för att\nSLIPCall ska fungera!")
)

(if
    (= (exists "ZedREXX:" (noreq)) 0)
    (message "ZedREXX är inte installerat!\n\nZedREXX måste vara installerat för att\nSLIPCall ska fungera!")
)

(complete 0)

(message "Välkommen till installationen av SLIPCall 3.0!\n\n"
         "SLIPCall kräver att du har\nAmiTCP och ZedREXX installerat.\n\n"
         "Dessutom måste du ha rexxserdev.library i LIBS:.")

(:askdestination)

(makedir (tackon #destination "SLIPCall") (infos))

(copyfiles
    (source "")
    (dest (tackon #destination "SLIPCall"))
    (pattern "~(Install#?)")
)

(complete 40)

(if (= (exists "C:mbwatch" (noreq)) 0)
(
    (copyfiles
        (source "mbwatch/mbwatch")
        (dest   "C:")
        (nogauge)
    )
))

(:askdefault)

(if (= #default 0) (set #defaultstr "CanIt.config"))
(if (= #default 1) (set #defaultstr "Algonet.config"))
(if (= #default 2) (set #defaultstr "ABC.config"))
(if (= #default 3) (set #defaultstr "Oden.config"))
(if (= #default 4) (set #defaultstr "UU.config"))
(if (= #default 5) (set #defaultstr "SLIPCall.config"))

(copyfiles
    (source (cat "config/" #defaultstr))
    (dest   "S:")
    (newname "SLIPCall.config")
)

(complete 80)

(if (=
    (askbool
        (prompt "Använder du Phonebill?")
        (help   "Svarar du ja här kommer installationen att kontrollera"
                " om du har en scanner för SLIPCall installerad. Om inte"
                " installeras en.")
    )
    1)
    (
        (set #scanner
            (askfile
                (prompt "Ange den 'Scanner.config' som Phonebill använder.")
                (help   @askfile-help)
                (default "SYS:")
            )
        )
        (if (run (cat "search " #scanner " SLIPCall"))
            ((textfile
                (dest "T:InstallerTemp")
                (include #scanner)
                (include "Extras/phonebill.scanner"))
            (copyfiles
                (source "T:InstallerTemp")
                (dest   (pathonly #scanner))
                (newname "Scanner.config"))
            (delete "T:InstallerTemp")))))

(set @default-dest #destination)
(complete 100)
(message "Installationen av SLIPCall 3.0 är klar!\n\n"
         "Det ligger i " #destination)

(exit (quiet))

