; $VER: CManager-Install 1.3 (18.7.99)
;
; Installer script by Simone Tellini <wiz@vapor.com>
;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  set initial variables
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(set @app-name "Contact Manager")
(set #AppDir   "CManager")

(complete 0)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  English strings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(if (= @language "english") (

    (set @error-msg "An unexpected error has occured. Installation aborted.")

    (set #MUINotFound "MUI doesn't seem to be installed. You need to install it\nbefore installing Contact Manager.")

    (set #AskInstallDir (cat "Please select where you would like " @app-name " installed.\n"
                        "A drawer called '" #AppDir "' will be created there."))

    (set #InstallDirHelp (cat "Select where you would like " @app-name " installed. "
                         "The installer will then create a drawer called '" #AppDir "', "
                         "and copy the program and necessary files into it.\n"))

    (set #CMClass     "Installing CManager.mcc...")
    (set #CMClassHelp "This will install the main Contact Manager MUI class")

    (set #MUIClass     "Installing some MUI classes...")
    (set #MUIClassHelp "This will install some MUI classes needed by Contact Manager")

    (set #Catalogs "Copying catalog files")

    (set #Library     "Installing CManager.library...")
    (set #LibraryHelp "Installing CManager.library. This is needed by CManager\nand by programs interfacing to it.")

    (set #AskPlugin     "Do you want to install the plugin for AmIRC?")
    (set #AskPluginHelp "This will add the /CMADDUSER, /CMADDCHANNEL and /STARTCM\ncommands to AmIRC.")

    (set #Plugin        "Installing the plugin for AmIRC...")

    (set #AskAmIRCDir   "Please select where your AmIRC copy is installed")

    (set #SupportLib    "Installing a support library...")
))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Italian strings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(if (= @language "italiano") (

    (set @error-msg "È accaduto un errore inaspettato. Installazione annullata.")

    (set #MUINotFound "MUI non sembra essere installata. Devi installarla\nprima di procedere ad installare Contact Manager.")

    (set #AskInstallDir (cat "Scegli dove vuoi installare " @app-name ".\n"
                        "Lì verrà creata una directory chiamata '" #AppDir "'."))

    (set #InstallDirHelp (cat "Scegli dove vuoi installare " @app-name ". "
                         "L'installer creerà una directory chiamata '" #AppDir "', "
                         "e vi copierà il programma e i file necessari.\n"))

    (set #CMClass     "Installo CManager.mcc...")
    (set #CMClassHelp "Installo la classe MUI principale di Contact Manager")

    (set #MUIClass     "Installo alcune classi MUI...")
    (set #MUIClassHelp "Installo alcune classi MUI utilizzate da Contact Manager")

    (set #Catalogs "Copio i cataloghi")

    (set #Library     "Installo CManager.library...")
    (set #LibraryHelp "Installo CManager.library. È necessaria a CManager\ne ai programmi che si interfacciano con esso.")

    (set #AskPlugin     "Vuoi installare il plugin per AmIRC?")
    (set #AskPluginHelp "Il plugin aggiunge i comandi /CMADDUSER, /CMADDCHANNEL e\n/STARTCM ad AmIRC.")

    (set #Plugin        "Installo il plugin per AmIRC...")

    (set #AskAmIRCDir   "Scegli dov'e' installata la tua copia di AmIRC")

    (set #SupportLib    "Installo una libreria di supporto...")
))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Spanish strings 1.4 - Copyright © 1999 Dámaso D. Estévez
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(if (= @language "español") (

    (set @error-msg "Se ha producido un error inesperado.  Instalación abortada.")

    (set #MUINotFound "El sistema MUI parece no instalado: debe de instalarlo\nen su sistema antes de instalar `Contact Manager'.")

    (set #AskInstallDir (cat "Por favor, elija el lugar donde desea instalar " @app-name ".\n"
                        "(se creará un cajón llamado `" #AppDir "')."))

    (set #InstallDirHelp (cat "Elija el lugar donde desea instalar " @app-name ". "
                         "El instalador creará un cajón llamado `" #AppDir "', "
                         "y copiará el programa y los ficheros necesarios en su interior.\n"))

    (set #CMClass     "Instalando `CManager.mcc'...")
    (set #CMClassHelp "Con esta operación se instalará la clase principal MUI de `Contact Manager'")

    (set #MUIClass     "Instalando algunas clases MUI...")
    (set #MUIClassHelp "Con esta operación se instalarán algunas clases MUI que son necesarias para utilizar `Contact Manager'.")

    (set #Catalogs "Copiando catálogos de idiomas")

    (set #Library     "Instalando biblioteca `CManager.library'...")
    (set #LibraryHelp "Con esta operación se instalará la biblioteca `CManager.library',\nque es imprescindible para poder utilizar `Contact Manager' y\nlos programas que lo utilizarán como interfaz.")

    (set #AskPlugin     "¿Desea que se instale el módulo externo para AmIRC?")
    (set #AskPluginHelp "Le permitirá añadir los comandos /CMADDUSER, /CMADDCHANNEL\ny /STARTCM a su programa AmIRC.")

    (set #Plugin        "Instalando módulo externo para AmIRC...")

    (set #AskAmIRCDir   "Por favor, indíqueme dónde tiene instalado su programa AmIRC")

    (set #SupportLib    "Instalando biblioteca de soporte...")
))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Here we go...
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(welcome)

(if (= (exists "MUI:" (noreq)) 0)
    (abort #MUINotFound)
)

(set #InstallDir
   (askdir
      (prompt  #AskInstallDir)
      (help    #InstallDirHelp)
      (default (pathonly (pathonly (getenv "vapor/CManager_path"))))
   )
)

(if (= 1 (askbool
            (prompt #AskPlugin)
            (help   #AskPluginHelp)
         )
    )
    (
        (Set #DoPlugin 1)
        (Set #AmIRCDir
            (askdir
                (prompt  #AskAmIRCDir)
                (help    @askdir-help)
                (default (getenv "vapor/amirc_lastuseddir"))
            )
        )
    )
    (Set #DoPlugin 0)
)

(Set #DestDir       (tackon #InstallDir #AppDir))
(Set #LocaleDir     (tackon #DestDir    "Catalogs"))
(Set #RexxDir       (tackon #DestDir    "Rexx"))
(Set #DocsDir       (tackon #DestDir    "Docs"))
(Set #RegDir        (tackon #DestDir    "Registration"))

(set @default-dest  #DestDir)

(set #MainExe       "CManager")
(set #MainExeIcon   "CManager.info")

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Create directories
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(makedir #DestDir    (infos))
(makedir #RexxDir    (infos))
(makedir #DocsDir    (infos))
(makedir (tackon #DocsDir "Developer") (infos))
(makedir #LocaleDir)

(if (= (exists "ENVARC:Vapor") 0 )
    (
        (makedir "ENVARC:Vapor")
        (makedir "ENV:Vapor")
    )
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Copy files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(complete 10)

(copyfiles
   (source #MainExe)
   (dest   #DestDir)
)

(copylib
       (prompt #CMClass)
       (help   #CMClassHelp)
       (source "MUI/CManager.mcc")
       (dest   "MUI:Libs/MUI")
       (confirm)
)

(if (= (exists (tackon #DestDir #MainExeIcon)) 0)
    (copyfiles
        (source #MainExeIcon)
        (dest   #DestDir)
        (infos)
    )
)

(copyfiles
   (source "CountryCodes.txt")
   (dest   #DestDir)
)

(copyfiles
   (source "Modems.txt")
   (dest   #DestDir)
)

(if (exists "History.txt")
   (copyfiles
       (source "History.txt")
       (dest   #DestDir)
   )
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  copy regtool
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(complete 20)

(copyfiles
   (source "Registration")
   (dest   #RegDir)
   (noposition)
   (infos)
   (all)
)

(copyfiles
   (source "Registration.info")
   (dest   #DestDir)
   (infos)
   (noposition)
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  copy sub directories
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(complete 40)

(copyfiles (source "Rexx")   (dest #RexxDir)   (noposition) (infos) (all))
(copyfiles (source "Docs")   (dest #DocsDir)   (noposition) (infos) (all))

(tooltype
    (dest            (tackon #DocsDir "main.html"))
    (setdefaulttool  (tackon (getenv "vapor/voyager_lastuseddir") "V" ))
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Copy the catalogs
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(copyfiles
  (source  "Catalogs")
  (dest    #LocaleDir)
  (pattern "#?.c?")
)

(complete 50)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Install MUI classes
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(copylib
       (prompt #MUIClass " (Textinput.mcc)")
       (help   #MUIClassHelp)
       (source "MUI/Textinput.mcc")
       (dest   "MUI:Libs/MUI")
       (confirm)
)

(copylib
       (prompt #MUIClass " (Textinput.mcp)")
       (help   #MUIClassHelp)
       (source "MUI/Textinput.mcp")
       (dest   "MUI:Libs/MUI")
       (confirm)
)

(copylib
       (prompt #MUIClass " (Textinputscroll.mcc)")
       (help   #MUIClassHelp)
       (source "MUI/Textinputscroll.mcc")
       (dest   "MUI:Libs/MUI")
       (confirm)
)

(complete 60)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  Install stuff on SYS:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(copylib
       (prompt #Library)
       (help   #LibraryHelp)
       (source "libs/CManager.library")
       (dest   "LIBS:")
       (confirm)
)

(copylib
       (prompt #SupLibrary)
       (help   @copylib-help)
       (source "libs/vapor_update.library")
       (dest   "LIBS:")
       (confirm)
)

(complete 70)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  install catalogs
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(copyfiles
        (prompt  #Catalogs)
        (help    @copyfiles-help)
        (source  "Catalogs")
        (dest    #LocaleDir)
        (choices "català" "deutsch" "español"
                 "français" "italiano" "russian")
        (confirm)
)

(complete 90)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  install the plugin
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(if #DoPlugin
    (copylib
        (prompt #Plugin)
        (help   #AskPluginHelp)
        (source "AmIRC/CManager.AmIPlug")
        (dest   (tackon #AmIRCDir "Plugins"))
        (confirm)
    )
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  set env var
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(complete 98)

(textfile
    (dest "ENVARC:vapor/CManager_path")
    (append (tackon #DestDir #MainExe))
)

(textfile
    (dest "ENV:vapor/CManager_path")
    (append (tackon #DestDir #MainExe))
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  All done.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(complete 100)

