;Install-Script for CD-Server by SieGeL (tRSi/X-iNNOVATiON)

;Variablen-Definitionen

(SET @app-name "CD-Server V1.03")
(SET @default-dest "DOORS:")
(SET commanddir "BBS:COMMANDS/BBSCMD/")
(SET helpdir "S:")
(SET alternatedir "T:")

(COMPLETE 0)

(IF (= @language "deutsch")
	(
	(set #default_lang 2)
	(set #start1 	(cat 	"\nDieses Skript installiert CD-Server und alle\n"
                     	"bentigten Files auf Ihrem Rechner.\n\n"
											"CD-Server ist nur auf FAME oder AMIEX Systemen\n"
											"lauffhig, haben Sie diese Systeme nicht, dann knnen\n"
											"Sie dieses Programm nicht verwenden!"))
  (set #devhelp (cat	"Hier mssen Sie die DEVICES,bzw. Assigns angeben,\n"
											"die im CD-Server verwendet werden sollen.\n"
											"Bitte achten Sie darauf, nur gltige Gertenamen\n"
											"anzugeben (abschliessender ':'), oder es kann zu\n"
											"Problemen kommen !!\n\n" @askstring-help))
	(SET #DEVNAME (cat	"\nBitte geben Sie das Gert/Assign Nummer %ld ein:\n"
											"(Leereingabe um mit der Installation fortzufahren)"))
	(SET #ENTERTT (cat	"\n\nEs werden nun der Reihe nach die Devices bzw.\n"
											"Assigns, die in Verbindung mit CD-Server ge-\n"
											"nutzt werden sollen, vom Installer abgefragt."))
	(SET #DESC		(cat	"\nBitte geben Sie eine Beschreibung an fr Gert\n\n%s\n\n"
											"Sie mssen hier keine Beschreibung angeben,\n"
											"mchten Sie dies jedoch tun, dann darf diese\n"
											"Beschreibung nicht lnger als 60 Zeichen sein!\n"))
  (SET #DESCHLP (cat	"Diese Beschreibung wird bei der Gerte-Auswahl\n"
											"des CD-Servers angezeigt. Geben Sie hier nichts\n"
											"an, dann wird als Beschreibung 'N/A!' verwendet.\n\n"
                      @ASKSTRING-help))
	(SET #DESTHLP	(CAT	"Hiermit geben Sie ein Zielverzeichnis an,\n"
											"in welches CD-Server hineinkopiert werden\n"
											"soll. Bitte beachten Sie, das dieses Skript\n"
											"KEIN Directory anlegt, das mssen Sie, sofern\n"
											"Sie das wnschen, selbst erledigen.\n\n"
											@ASKDIR-HELP))
	(SET #GUIDEIN	(CAT	"\nCD-Server verwendet einen externen AmigaGuide\n"
                      "Konvertierer, der Guidedateien in ANSI-Files\n"
											"konvertiert. Soll dieses Programm in Ihr C:\n"
											"Verzeichnis kopiert werden ?\n\n"))
	(SET #CONVERT-HELP
								(CAT	"Um es Usern zu ermglichen, AmigaGuide Dateien ohne\n"
                      "Sonderzeichen zu betrachten, verwendet CD-Server\n"
											"einen externen Guide->ANSI Konverter. Wenn Sie sich\n"
											"entscheiden, dieses Programm zu installieren (sehr\n"
											"empfehlenswert!), dann wird dieses unter dem Namen\n"
											"Guide2DocProf in Ihr C: Verzeichnis kopiert.\n\n"))
	(SET #TEMP		(CAT	"\nCD-Server benutzt als Vorgabe-Verzeichnis\n"
											"das T: Verzeichnis, um dorthin konvertierte\n"
                      "Guides zu schreiben.\n\n"
											"Ist das Okay fr Sie ?"))
	(SET #PACKDIR-HELP
								(CAT	"Das Temporre Verzeichnis wird bentigt, um Guide-\n"
                      "dateien umzuwandeln, es sollte also auf dem Daten-\n"
											"trger mind. 1MB freier Speicher vorhanden sein, da\n"
											"AmigaGuide Dateien leicht diese Gre erreichen.\n"))
	(SET #NEWTEMP	(CAT	"Whlen Sie bitte ein neues temporres Verzeichnis:\n"
                      "(Es sollte mind. 1MB darauf verfgbar sein !)\n"))
	(SET #ONHELP	(CAT	"\nSoll ich die Online-Hilfe vom CD-Server installieren,\n"
											"damit Sie eine bersicht aller Kommandos haben ?\n"
											"(Sehr zu empfehlen!)\n"))
	(SET #ONHLP   (CAT	"Wenn Sie die Online-Hilfe installieren, dann wird\n"
											"diese unter dem Namen 'CD-SERVER.HLP' in Ihr S:\n"
											"Verzeichnis kopiert."))
	(SET #DOCPART (CAT	"\nBitte whlen Sie die Teile der Dokumentation, die\n"
                      "Sie installiert haben mchten:\n"))
	(SET #ASSIGN-HELP
								(CAT	"Das Assign 'SERVER:' wird bentigt, damit die AMIEX die\n"
											"Dateien vom CD-Server auch findet. Sie mssen dieses\n"
                      "Assign in jedes Konferenz-Icon eintragen, indem auch\n"
											"der CD-Server laufen soll!"))
	(SET #DOCDEST				"Bitte whlen Sie ein Verzeichnis fr die Dokumentation:")
	(SET #ASKSYSTEM 		"Bitte whlen Sie Ihr installiertes BBS-System:")
	(SET #ASKDEST				"Bitte whlen Sie das Zielverzeichnis fr CD-Server:")
	(SET #AXDEST				"Bitte Zielverzeichnis fr CD-Server's /X-Icon angeben:")
	(SET #LEVEL					"Bitte geben Sie den Access-Level an, der bentigt\nwird, um CD-Server zu starten:")
	(SET #ASSIGN				"Fge jetzt die folgende Zeile in Ihre user-startup ein:\n\n\"ASSIGN >NIL: SERVER: T: DEFER\"\n\n")
	(SET #YES1					"Jau das will ich")
	(SET #YES2					"Das ist prima")
	(SET #YES3					"Jupsa, immer rauf")
	(SET #NO1						"N, das will keiner")
	(SET #NO2						"Niemals, ndern!")
	(SET #NO3						"Nee, wer braucht die")
	(SET #GODS					"Ein weiteres Programm von der \"ECHTEN\" (tRSi/X-iNNOVATiON)")
	(SET #SYSED					"LADEN SIE BITTE JETZT DAS FILE \"CD\" IN DEN SYSTEM-\nEDITOR UND EDITIEREN SIE DEN PFAD ZU CD-SERVER!\n\n")
	(SET #FAMEDEST			"Bitte Zielverzeichnis fr CD-Server's Doordefinition auswhlen:")

; --- Fehler-Texte ---

	(set @error-msg 		 "ACHTUNG: CD-Server-Installation wurde abgebrochen !")
	(set #bad-kick 	(cat "Sie bentigen mindestens Kickstart 2.0 fr CD-Server !"))
	(set #wrongdevs	(cat "Sie mssen mindestens ein Device angeben, damit\n"
											  "CD-Server richtig arbeiten kann ! Versuchen Sie\n"
											  "es noch einmal..."))
  ))

;------------------------------ ENGLISH TEXTS --------------------------------

(IF (= @language "english")
	(
	(set #default_lang 4)
	(set #start1 	(cat 	"\nThis script installs CD-Server and all\n"
                     	"needed files to your System.\n\n"
											"CD-Server runs only under FAME or AMIEX Systems.\n"
											"If you don't have these Systems installed, you\n"
											"can't use it !"))
	(SET #devhelp	(cat	"Here you have to enter DEVICES or Assigns which\n"
											"should be used whith CD-Server.\n"
                      "Please make sure to only enter here valid Device\n"
											"names (containing a ':'!), or problems may occure!\n\n" @askstring-help))
	(SET #DEVNAME (cat	"\nPlease enter Device/Assign Number %ld:\n"
											"(Empty entry to continue the Installation)"))
  (SET #ENTERTT (cat	"\n\n\nYou were now asked for all DEVICES,btw.\n"
											"Assigns which should be used with CD-Server."))
	(SET #DESC		(cat	"\nPlease enter a description for Device\n\n%s\n\n"
											"you don't have to specify it, but if you\n"
											"do it, don't enter here more than 60 chars!\n"))
	(SET #DESCHLP (cat	"This description will be shown in the Device-\n"
                      "select menu from CD-Server. If you don't want\n"
                      "to enter here a description, a default of 'N/A'\n"
											"will be used as description.\n\n"
											@askstring-help))
	(SET #DESTHLP	(cat	"Here you should define the Location where\n"
											"CD-Server should be installed. Note that\n"
											"the Installer will not create a directory,\n"
											"if you want an own dir, you have to create\n"
											"it for yourself !\n\n"
                      @ASKDIR-HELP))
	(SET #GUIDEIN	(CAT	"\nCD-Server uses an external AmigaGuide->ANSI\n"
											"Converter for viewing Guides, do you want to\n"
											"install it to your C: Directory ?\n\n"))
	(SET #CONVERT-HELP
 								(cat	"To allow users to view Amiga-Guide Databases as ANSI-\n"
                			"Files, CD-Server uses an external Converter-Program.\n"
                			"If you decides to install it (which is highly recom-\n"
											"mended!), the Converter will be copied to your C: dir\n"
											"under the Name 'GUIDE2DOCPROF'.\n\n"
                			@ASKBOOL-HELP))
	(SET #TEMP		(cat	"\nCD-Server uses the T: dir as default\n"
											"for converting the Guides.\n\n"
											"Is this okay for you ?"))
	(SET #PACKDIR-HELP
 								(CAT  "The Temp-Dir is only used to covert the Guides to\n"
                			"this Directory, so you should have at least 1 MB free\n"
                			"Space on this Device, 'coz AmigaGuides could easily\n"
                			"grow in their size to 1MB, and therefor you should\n"
                			"have enough Bytes free.\n\n"))
	(SET #NEWTEMP (cat	"Please select new tempdir for CD-Server:\n"
											"(There should be at least 1MB free Space)\n"))
	(SET #ONHELP	(cat  "\nDo you want to copy the Online-Help to your S: Dir\n"
											"to have an overview of all commands accessable ?\n"
											"(Highly recommended)"))
	(SET #ONHLP		(cat	"If you decide to install the Online-Help, it will be\n"
											"copied to your S: dir under the Name'CD-SERVER.HLP'.\n"))
	(SET #DOCPART (cat	"Please choose which parts of the Documentation\n\n"
											"should be installed:"))
	(SET #ASSIGN-HELP
 								(CAT  "The assign 'SERVER:' is needed to let Amiex comunicate\n"
                			"with CD-Server. You have to add the SERVER: assign as DL-\n"
                			"Path to every Conference you want to let CD-Server working!"))
	(SET #DOCDEST				"Please select Destination for the Documentation:")
	(set #ASKSYSTEM 		"Please choose the BBS-System you are running:")
	(SET #ASKDEST				"Please select Destination for CD-Server V1.03:")
	(SET #AXDEST				"Please select destination for CD-Server's /X icon:")
	(SET #LEVEL					"Enter the Access-Level required to start\n\nCD-Server in Amiex :")
	(SET #ASSIGN				"Now adding the following line to your user-startup :\n\n\"ASSIGN >NIL: SERVER: T: DEFER\"\n\n")
	(SET #YES1      		"Yes, I like this")
	(SET #YES2					"Yep, that's right")
	(SET #YES3					"Yeah, that's cewl")
	(SET #NO1						"No, I hate this")
	(SET #NO2						"No, I'll change it")
	(SET #NO3						"Nope, not needed")
  (SET #GODS					"Another Tool comming from the \"REAL\"\n(tRSi/X-iNNOVATiON)")
	(SET #SYSED         "NOW PLEASE LOAD THE FILE \"CD\" INTO YOUR SYSTEMEDITOR AND EDIT THE PATH TO CD-SERVER !\n\n")
	(SET #FAMEDEST			"Please select destination directory for CD-Server's Door definition:")

; --- Error-Texts ---

	(SET @error-msg "WARNING: CD-Server-Installation is stopped!")
 	(set #bad-kick 	(cat 	"You must be using Kickstart 2.0 or higher to install CD-Server !"))
	(set #wrongdevs	(cat	"You must enter at least one device to let\n"
												"CD-Server working ! Try again dude...\n"))
	))

;=============================================================================

(WELCOME)
(MESSAGE #START1)

(if (< (/ (getversion) 65536) 37) ( (abort #bad-kick)))

;-------------- ERSTMAL ABCHECKEN, WELCHE BBS LUFT ------------------------

(COMPLETE 10)

(SET BBSSYSTEM
 (ASKCHOICE 	(PROMPT #ASKSYSTEM)
        	(HELP @ASKCHOICE-HELP)
            	(CHOICES "FAME"
                	 "AMIEX")
            	(DEFAULT 1)))

;---------------- DANN ERSTMAL DAS DOOR INSTALLEN --------------------------

(COMPLETE 20)

  (SET maindest
   (ASKDIR (PROMPT #ASKDEST)
           (HELP #DESTHLP)
	   (DEFAULT @default-dest)))

  (SET @default-dest maindest)
  (COPYFILES (HELP @COPY-HELP)
	     (SOURCE "BBS/DOORS/CD-SERVER/CD-SERVER")
	     (DEST @default-dest)
	     (INFOS))

;--------------------- ICON TOOLTYPES EINTRAGEN ----------------------------

(COMPLETE 30)

(MESSAGE #ENTERTT)

(SET PRGDIR (tackon @default-dest "CD-Server"))

(SET devnumber 1)
(SET Abbruch 0)
(while( <> Abbruch 1)
  (SET devname
		(ASKSTRING (PROMPT (#DEVNAME devnumber))
						(HELP #devhelp))
	)
	(IF (= devname "") (SET Abbruch 1)
		(
		(SET device ("DEVICE.%ld" devnumber))
		(TOOLTYPE (DEST PRGDIR)
			(SETTOOLTYPE device devname)
			(NOPOSITION))
    (SET description
			(ASKSTRING (PROMPT (#DESC devname))
                 (HELP #DESCHLP)))
		(IF (<> description "")
			(
			(SET desc   ("NAME.%ld" devnumber))
			(TOOLTYPE (DEST PRGDIR)
				(SETTOOLTYPE desc description)
				(NOPOSITION))
			))
		(SET devnumber (+ devnumber 1))
		)
	)
)
(set devnumber (- devnumber 1))
(if (= devnumber 0) (abort #wrongdevs))
(SET maxdevs ("%ld" devnumber))
(TOOLTYPE (DEST PRGDIR)
	(SETTOOLTYPE "MAX_DRIVES" maxdevs)
	(NOPOSITION))

;----------------------- GUIDE2DOC INSTALLIEREN -----------------------------

(COMPLETE 40)

 (SET JANEIN
  (ASKBOOL (PROMPT #GUIDEIN)
           (HELP #CONVERT-HELP)
           (DEFAULT 1)
           (CHOICES (#YES1)
                    (#NO1))))

(IF (= JANEIN 1)
  (
   (COPYFILES (SOURCE "C/Guide2DocProf")
              (DEST   "C:"))
	)
)

;---------------------- TEMP-DIRECTORY EINTRAGEN ----------------------------

(COMPLETE 45)

(SET JANEIN
 (ASKBOOL (PROMPT #TEMP)
          (HELP #PACKDIR-HELP)
          (DEFAULT 1)
          (CHOICES (#YES2)
                   (#NO2))))
(COMPLETE 48)

(if (= JANEIN 0)
	(SET alternatedir
  	(ASKDIR    (PROMPT #NEWTEMP)
               (HELP #PACKDIR-HELP)
               (DEFAULT "RAM:"))))

(set laenge (strlen alternatedir))
(set laenge (- laenge 1))

(set test ("%s\0" (SUBSTR alternatedir laenge 1)))

(IF (AND (<> test ":") (<> test "/")) (SET alternatedir (CAT alternatedir "/")))

(TOOLTYPE (DEST PRGDIR)
	(SETTOOLTYPE "PACKDIR" alternatedir)
	(NOPOSITION))

;----------------- NU DIE ONLINE-HILFE HINTERHER ---------------------------

(COMPLETE 50)

(SET JANEIN
 (ASKBOOL (PROMPT #ONHELP)
          (HELP #ONHLP)
          (DEFAULT 1)
          (CHOICES (#YES3)
                   (#NO3))))

(IF (= JANEIN 1) (COPYFILES (SOURCE "S/CD-SERVER.HLP")
                            (DEST "S:")))

;----------------- JETZT DIE DOC-FILES + HISTORY ---------------------------

(COMPLETE 60)

(SET docdest
 (ASKDIR (PROMPT #DOCDEST)
	 (HELP @ASKDIR-HELP)
	 (DEFAULT @default-dest)))

(IF (= @language "deutsch")
		(SET defnum 5)
		(SET defnum 6)
)

(SET sprachen
 (ASKOPTIONS (PROMPT #DOCPART)
	     (HELP @ASKOPTIONS-HELP)
	     (CHOICES "Deutsch"
		      			"English"
		      			"History")
	     (DEFAULT defnum)))

(IF (IN sprachen 0)
	(COPYFILES (HELP @COPY-HELP)
		   (SOURCE "BBS/DOORS/CD-SERVER/CD-SERVER_dEUTSCH.GUIDE")
		   (DEST docdest)
		   (INFOS)))

(IF (IN sprachen 1)
	(COPYFILES (HELP @COPY-HELP)
		   (SOURCE "BBS/DOORS/CD-SERVER/CD-SERVER_eNGLISH.GUIDE")
		   (DEST docdest)
		   (INFOS)))

(IF (IN sprachen 2)
	(COPYFILES (HELP @COPY-HELP)
		   (SOURCE "BBS/DOORS/CD-SERVER/CD-Server.history")
		   (DEST docdest)
		   (INFOS)))

;------------- NU KOMMEN DIE BBS-SPEZIFISCHEN DINGE -----------------------
;
;-------------------- AMIEX-ICON INSTALLIEREN -----------------------------

(IF (= BBSSYSTEM 1)
 (
  (COMPLETE 80)
  (SET comdir
   (ASKDIR (PROMPT #AXDEST)
	   (HELP @ASKDIR-HELP)
	   (DEFAULT commanddir)))
   (COPYFILES (HELP @COPY-HELP)
	      (SOURCE "BBS/COMMANDS/BBSCMD/CD.INFO")
	      (DEST comdir))

  (COMPLETE 90)

  (SET TTYPE
   (ASKNUMBER (PROMPT #LEVEL)
              (HELP @ASKNUMBER-HELP)
              (DEFAULT 50)))

  (SET AXSLEVEL (cat TTYPE))
  (SET PRGDIR (tackon @default-dest "CD-Server"))
  (TOOLTYPE (DEST (tackon comdir "CD"))
   (SETTOOLTYPE "ACCESS" AXSLEVEL)
   (SETTOOLTYPE "LOCATION" PRGDIR)
   (NOPOSITION))

	(COMPLETE 95)

  (STARTUP "CD-Server"
           (PROMPT #ASSIGN)
           (HELP @STARTUP)
           (COMMAND "ASSIGN >NIL: SERVER: T: DEFER"))
  (SET mess #GODS)
 ))

;------------- FAME-DOOR DEFINITION INSTALLIEREN --------------------------

(IF (= BBSSYSTEM 0)
 (
 (COMPLETE 90)
  (SET comdir
   (ASKDIR (PROMPT #FAMEDEST)
           (HELP @ASKDIR-HELP)
           (default "FAME:SETTINGS/DOORS/BBSCMD")))
   (COPYFILES (HELP @COPY-HELP)
              (SOURCE "FAME/SETTINGS/DOORS/BBSCMD/CD")
              (DEST comdir))

   (SET mess ("%s%s" #SYSED #GODS))
))

;---------------- INSTALLATION BEENDEN UND RAUS HIER -----------------------

(COMPLETE 100)

(EXIT mess)
