; script pour installer le Perfect-Link BBS V1.0
; doit être executé depuis le WorkBench en double-cliquant sur l'icône
; Nécessite un stack de 20000

(complete 0)

(set @default-dest "DH0:")

(set drive "Perfect-Link:")

(set version (/ (getversion) 65536))
(set version2 36)


   (
   ; installation sur disque dur
   (set dest2 (askdir  (prompt "Choisissez l'endroit où stocker le BBS")
              (default @default-dest)
              (help "Choisissez une partition ou un tiroir qui" 
                    "contiendra le Perfect-Link BBS. Le programme"
                    "d'installation va créer un tiroir nommé 'BBS'"
                    "à l'endroit où vous aurez choisi, et copiera"
                    "les fichiers nécessaires."
              )
      )
   )
   (set dest1 (tackon dest2 "BBS"))
   (set @default-dest dest1)
   (message "\n\n\n\n\n\nLe serveur sera installe dans " 
     dest1
   )

   (makedir dest2 (safe) (infos))
   (makedir dest1 (safe) (infos))
   (makedir ("%s/Attach" dest1) (safe))
   (makedir ("%s/Config" dest1) (safe))
   (makedir ("%s/Fido" dest1) (safe))
   (makedir ("%s/File" dest1) (safe))
   (makedir ("%s/Mail" dest1) (safe))
   (makedir ("%s/Menu" dest1) (safe))
   (makedir ("%s/Message" dest1) (safe))
   (makedir ("%s/Tempo" dest1) (safe))
   (makedir ("%s/Tempo2" dest1) (safe))
   (makedir ("%s/Door" dest1) (safe))
   (makedir ("%s/Help" dest1) (safe))
   (makedir ("%s/Txt" dest1) (safe))
   (makedir ("%s/Txt/TXT" dest1) (safe))
   (makedir ("%s/Txt/GR1" dest1) (safe))
   (makedir ("%s/Txt/GR2" dest1) (safe))
   (makedir ("%s/Txt/GR3" dest1) (safe))
   (makedir ("%s/Txt/GR4" dest1) (safe))
   (makedir ("%s/Txt/GR5" dest1) (safe))
   (makedir ("%s/Txt/GR6" dest1) (safe))
   (makedir ("%s/Txt/GR7" dest1) (safe))
   (makedir ("%s/Txt/GR8" dest1) (safe))
   (makedir ("%s/Txt/GR9" dest1) (safe))
   (makedir ("%s/User" dest1) (safe))
   (makedir ("%s/Vote" dest1) (safe))
   
(complete 5)

  (run
    ("Perfect-Link:c/lha e Perfect-Link:TXT/TXTMode.lha %s/" dest1)
    (prompt "Decompactage des textes noir-blanc")
    (help "Ces textes sont utilisés par le BBS pour\n"
          "les connections. Ces textes sont éditables\n"
          "en tout temps.")
  )
(complete 30)
  (run
    ("Perfect-Link:c/lha e Perfect-Link:TXT/GR1Mode.lha %s/" dest1)
    (confirm)
    (prompt "Decompactage des textes couleur")
    (help "Ces textes sont utilisés par le BBS pour\n"
          "les connections. Ces textes sont éditables\n"
          "en tout temps.")
    )


(complete 60)
  (message "Installation des fichiers utilisateurs ")

  (set DestData (tackon dest1 "User"))
  (copyfiles
      (source "Perfect-Link:User")
      (dest DestData)
      (all)
  )


  (message "Installation des fichiers de configuration")
  (set DestData (tackon dest1 "Config"))
  (copyfiles
      (source "Perfect-Link:Config")
      (dest DestData)
      (all)
  )
  (copyfiles
      (source "Perfect-Link:FONTS")
      (dest "FONTS:")
      (all)
  )
  
   (set destFil (askdir  (prompt "Choisissez l'endroit où stocker les fichiers."
                                 " Créez un répertoire si nécessaire.")
              (default @default-dest)
              (help "Choisissez une partition ou un tiroir qui " 
                    "contiendra les fichiers. "
                    "Vous devrez ensuite créer les répertoires "
                    "pour les différentes zônes de transferts."
              )
      )
   )

(complete 70)
     (message "Installation des librairies, pour autant que "
              "celles-ci soient de version supérieures.")

     (if (< (/ (getversion "libs:xprzmodem.library") 65536)
            (/ (getversion "Perfect-Link:libs/xprzmodem.library") 65536))
       (copyfiles
           (source "Perfect-Link:libs/xprzmodem.library")
           (dest "libs:"))
     )
     (if (< (/ (getversion "libs:amigaguide.library") 65536)
            (/ (getversion "Perfect-Link:libs/amigaguide.library") 65536))
       (copyfiles
           (source "Perfect-Link:libs/amigaguide.library")
           (dest "libs:"))
     )
     (if (< (/ (getversion "libs:arp.library") 65536)
            (/ (getversion "Perfect-Link:libs/arp.library") 65536))
       (copyfiles
           (source "Perfect-Link:libs/arp.library")
           (dest "libs:"))
     )

(complete 80)
   (set string1 ("assign BBS: %s" dest1))
   (set string2 ("assign TRANS: %s" destFil))
   (makeassign "BBS" dest1)
   (makeassign "TRANS" destFil)

   (set error 1)
   (until (= error 0)
    (
     (set error (trap 4
      (startup "Perfect-Link"
       (prompt ("%s\n%s\n\n%s\n%s\n%s\n\n%s\n%s"
          "Les assignations suivantes ont ete créées."
          "Voulez-vous qu'elles soient ajoutées à votre startup?"
         string1
         string2
          "path BBS: add"
          "NOTE: Le path ne sera pas mis à jour tant que vous"
          "n'aurez pas rebooté."
          )
       )
       (command 
         ("assign BBS: %s\n" dest1)
         ("assign TRANS: %s\n" destFil)
         "path BBS: add"
       )
       (Help "Perfect-Link demande ces assignations en vue de retrouver "
             "les fichiers qui lui sont nécessaires. Si vous le demandez, "
             "l'installeur ajoutera les assignations nécessaires dans votre "
             "user-startup. Si vous n'autorisez pas l'installer à faire ces "
             "changements, vous devrez les faire vous-mêmes."
       )
      )
     ))


     (if (> error 0)
      (if (or (= @ioerr 222) (or (= @ioerr 223) (= @ioerr 224)))
       (message "La startup est protégée en écriture. Enlevez la "
         "languette de sécurité." )
       ;else other type of error
       (
       (message "Startup sequence non standard. Vous devez ajouter les "
          "lignes suivantes à la main:\n\n"
          "  assign BBS: " dest1 "\n"
          "  assign TRANS: " destFil "\n"
          "  path BBS add"
       )
       (set error 0)
       )      
      )   
     ) 
    )
   )
   (complete 90)
   (copyfiles
     (source "Perfect-Link:Perfect-Link")
     (dest dest1)
   )
   (complete 95)

   (set DestFiles (tackon dest1 "Door"))
   (copyfiles
     (source "Perfect-Link:Door")
     (dest DestFiles)
     (all)
   )
   (set DestFiles (tackon dest1 "Help"))
   (copyfiles
     (source "Perfect-Link:Help")
     (dest DestFiles)
     (all)
   )
   (copyfiles
     (source "Perfect-Link:Help.info")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:CONF1")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:CONF2")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:CONF1.KEY")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:CONF2.KEY")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:StartBBS_1")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:StartBBS_1.info")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:StartBBS_2")
     (dest dest1)
   )
   (copyfiles
     (source "Perfect-Link:StartBBS_2.info")
     (dest dest1)
   )
     
  
)
(complete 100)
