; AWEBmailtoYAM V2 installer script ©1996 ALeX Kazik
; This is the greatest change from 1 to 2

(complete 0)

(set language
	(askbool
		(prompt  "\n\nWelcome to\n\nAWEBmailtoYAM V2 ©1996 ALeX Kazik\n\n\n\n\n\nWhich language do you prefer?")
		(help    "")
		(choices "English" "Deutsch")
	)
)

(if language (
;language ENGLISH
(set #oldinstaller "Your installer is too old for this script. Please use at least V42.\nCurrent version while writing this script is V43.3, which is available from Aminet.")
(set #msg-findyam  "Trying to find YAM...")
(set #noyam        "Could not find YAM!")
(set #awebdir-ask  "Where is AWeb installed?")
(set #noaweb       "Could not find AWeb!")
(set #delold-ask   "\n\nShould the old version deleted?\n\n\nThis is useful, because some files will not be used in the new version.")
(set #editor-ask   "Which editor should be used?")
(set #editor-help  (cat "If you choose YAM as Editor, every mailto: request will produce a empty mail with the correct recipient in YAM and tries to popup YAM.\n\n" @askchoice-help))
(set #ed-choice2   "Another Editor")
(set #ed-choice3   "YAM as Editor (see help!)")
(set #editor2-ask  "Which type is your editor?")
(set #ed2-choice0  "Simple (start: Xed <filename>)")
(set #ed2-choice1  "Complex (start: more complex)")
(set #editor2-help (cat "If the involking of your editor is more complex than 'XED filename' select Complex else Simple.\n\n" @askchoice-help))
(set #edpath-ask1  "Please select the Editor (")
(set #edpath-ask2  ").")
(set #noeditor     "The Editor does not exists!")
(set #edline-ask   "Please enter the start-line. See help.")
(set #method-ask   "After a written letter, what should I do?")
(set #meth-choice0 "Ask (Send/2Outgoing/Cancel)")
(set #meth-choice1 "Move to the Outgoing folder")
(set #meth-choice2 "Send it now (!)")
(set #method-help  (cat "Ask - Will pop up a requester, what should he do: Send it now, move it to the Outgoing folder or nuke it.\nMove - Always move the message to the Outgoing folder.\nSend - Always (!) send the message now.\n\n" @askchoice-help))
(set #create-ask   "\n\n\nNow the ARexx-Script will be created.")
(set #create0      "Proceed")
(set #create1      "Skip This Part")
(set #readme-ask   "\n\n\nNow the ReadMe-File will be copied.")
(set #awebver-ask  "Which version of AWeb do You have?")
(set #msg-startaweb "Starting AWeb...")
(set #msg12        '\n\n\nPlease go to AWeb and select the Menu "Settings/Change Settings...".\nSelect Page "Network 3: External Programms".\nSet the Cycle Type to "mailto:".\n\nEnter the Command "SYS:Rexxc/RX"\nand the Arguments "AWEBmailtoYAM.rexx "%s" "%s"".\n\nSave the config.')
(set #msg15        '\n\n\nPlease go to AWeb and select the Menu "Settings/Network Settings...".\nSelect Page 2: "Programms".\nSet the Cycle Type to "mailto:".\n\nEnter the Command "SYS:Rexxc/RX"\nand the Arguments "AWEBmailtoYAM.rexx %e %n".\n\nSave the config.')
(set #gift         "\n\nAWEBmailtoYAM is CARD/MAILWARE.\n\nSend me a postcard or a E-Mail.\n\n\nALeX Kazik\nStapenhorststr. 81\n33615 Bielefeld\nGermany\n\nakazik@TechFak.Uni-Bielefeld.DE")
(set #exit         "\n\n\n\nThats all.\n\nHave fun.\n\n\n\nThanx to: Petra Struck - for a helping hand.")
(set #stack-ask    "Please enter the stack-size of the editors.")
(set #mustsync     "\n\n\nAttention!\n\n\nThe Editor must work syncron!\n\nThat means, if you start it from cli, it should NOT return immedatly.\n(The CygnusEd e.g. does that!)")
)(
;language DEUTSCH
(set #oldinstaller "Ihr Installer ist zu alt. Dieses Script benötigt mindestens V42.\nDie aktuelle Version -als das Script geschrieben wurde- ist V43.3. Sie befindet sich im Aminet.")
(set #msg-findyam  "Versuche YAM zu finden...")
(set #noyam        "Konnte YAM nicht finden!")
(set #awebdir-ask  "Wo ist AWeb installiert?")
(set #noaweb       "Konnte AWeb nicht finden!")
(set #delold-ask   "\n\nSoll die alte Version gelöscht werden?\n\n\nDies ist nützlich, da einige Dateien nicht mehr benötigt werden.")
(set #editor-ask   "Welcher Editor soll benutzt werden?")
(set #editor-help  (cat "Wenn Sie YAM als Editor wählen, wird bei jedem mailto: request eine leere Nachricht mit Empfänger in YAM erzeugt und versucht, YAM nach vorne zu holen.\n\n" @askchoice-help))
(set #ed-choice2   "Ein anderer Editor")
(set #ed-choice3   "YAM als Editor (Help angucken!)")
(set #editor2-ask  "Was für ein Typ ist Ihr Editor?")
(set #ed2-choice0  "Einfach (Start: Xed <filename>)")
(set #ed2-choice1  "Komplex (Start: schwieriger)")
(set #editor2-help (cat "Wenn der Aufruf Ihres Editors komplexer ist, als 'XED filename', wähle Komplex, sonst Einfach.\n\n" @askchoice-help))
(set #edpath-ask1  "Bitte wählen Sie den Editor (")
(set #edpath-ask2  ").")
(set #noeditor     "Der Editor existiert nicht!")
(set #edline-ask   "Sorry, nur in Englisch, aber wichtig:\n\nPlease enter the start-line. See help.")
(set #method-ask   "Was soll mit der geschriebenen Mail geschehen?")
(set #meth-choice0 "Fragen (Senden/2Outgoing/Abbruch)")
(set #meth-choice1 "In den Outgoing-Ordner verschieben")
(set #meth-choice2 "Jetzt senden (!)")
(set #method-help  (cat "Fragen - ruft einen Requester auf, und Sie werden gefragt, ob die Mail jetzt verschickt werden soll, in den Outgoing-Ordner verschoben werden soll, oder ob sie gar gelöscht werden soll.\nIn den Outgoing-Ordner schieben - immer.\nJetzt Senden - Sofort Senden !!\n\n" @askchoice-help))
(set #create-ask   "\n\n\nNun wird das ARexx-Script erstellt.")
(set #create0      "Weiter")
(set #create1      "Diesen Teil überspringen")
(set #readme-ask   "\n\n\nNun wird das ReadMe-File kopiert.")
(set #awebver-ask  "Welche Version von AWeb haben Sie?")
(set #msg-startaweb "Starte AWeb...")
(set #msg12        '\n\n\nBitte gehen Sie jetzt zu AWeb und wählen Sie das Menu "Einstellungen/Einstellungen ändern...".\nWählen Sie die Seite "Netzwerk 3: Externe Programme".\nSetzen Sie den Typ auf "mailto:".\n\nGeben Sie den Befehl "SYS:Rexxc/RX"\nund die Argumente "AWEBmailtoYAM.rexx "%s" "%s"" ein.\n\nSpeichern Sie die Konfiguration.')
(set #msg15        '\n\n\nBitte gehen Sie jetzt zu AWeb und wählen Sie das Menu "Einstellungen/Network Settings...".\nWählen Sie die Seite 2 "Programm".\nSetzen Sie den Typ auf "mailto:".\n\nGeben Sie den Befehl "SYS:Rexxc/RX"\nund die Argumente "AWEBmailtoYAM.rexx %e %n" ein.\n\nSpeichern Sie die Konfiguration.')
(set #gift         "\n\nAWEBmailtoYAM ist CARD/MAILWARE.\n\n\nSchick mir eine Postkarte oder E-Mail.\n\nALeX Kazik\nStapenhorststr. 81\n33615 Bielefeld\nGermany\n\nakazik@TechFak.Uni-Bielefeld.DE")
(set #exit         "\n\n\n\nDas wars.\n\nHab Spaß.\n\n\nDanke an: Petra Struck - für eine helfende Hand.")
(set #stack-ask    "Bitte geben Sie die Stack-Größe ihres Editors ein.")
(set #mustsync     "\n\n\nAchtung!\n\n\nDer Editor muß syncron arbeiten!\n\nDass heißt, wenn Sie den Editor vom CLI starten, darf er nicht sofort zurückkehen.\n(Der CygnusEd z.B. macht dies!)")
))
(set #edline-help  (cat "Please enter the correct ARexx-Line to start Your editor.\n\nThe ARexx-Variable 'pubscreen' contains the name of AWeb's Pubscreen.\nThe Variable 'mailto' contains the recipient.\n\nHere now the three examples:\n\nEd:\n" (cat "»C:ED" ' "T:WriteMail.tmp" WINDOW "RAW:////MailTo: ' "'mailto'/CLOSE/SCREEN'pubscreen'" '"«') "\nCed:\n" (cat "»C:Ced" ' "T:WriteMail.tmp" -KEEPIO«') "\nXed:\n" (cat "»C:Xed" ' "T:WriteMail.tmp"«') "\n\n" @askstring-help))

(if (< @installer-version 2752512)
	(abort #oldinstaller)
)

(complete 7)

(working #msg-findyam)
(run "SYS:System/RexxMast")
(if (<> (run "SYS:Rexxc/rx scripts/FindYAM.rexx") 0)
	(abort #noyam)
)

(complete 14)

(set @destdir
	(askdir
		(prompt #awebdir-ask)
		(help @askdir-help)
		(default "WORK:AWeb")
	)
)

(if (<> (exists (tackon @destdir "AWeb")) 1)
	(abort #noaweb)
)

(complete 21)

(if (OR (OR (OR	(= (exists (tackon @destdir "AWEBmailtoYAM.readme.info")) 1)
						(= (exists (tackon @destdir "AWEBmailtoYAM.readme")) 1))
						(= (exists (tackon @destdir "AWEBmailtoYAM.rexx")) 1))
						(= (exists (tackon @destdir "AWEBmailtoYAM.ed")) 1))
	(delete (tackon @destdir "AWEBmailtoYAM.(readme|rexx|ed|readme.info)")
		(prompt #delold-ask)
		(help "")
		(confirm)
		(optional force)
		(infos)
	)
)

(complete 29)

(set stacksize 4096)

(set editor
	(askchoice
		(prompt #editor-ask)
		(help #editor-help)
		(choices "Commodores Ed" "Cygnus ED" #ed-choice2 #ed-choice3)
		(default 0)
	)
)

(if (= editor 0)(
	(set edname "Commodores Ed")
	(set edpath "C:ED")
))

(if (= editor 1)(
	(set edname "CygnusED")
	(set edpath "C:CED")
	(set stacksize 8000)
))

(complete 36)

(if (= editor 2)(
	(message #mustsync)
	(set editor2
		(askchoice
			(prompt #editor2-ask)
			(help #editor2-help)
			(choices #ed2-choice0 #ed2-choice1)
			(default 0)
		)
	)
	(if (= editor2 0)(
		(set edname "CoustomEd")
		(set edpath "C:CustomED")
	)(
		(set editor 4)
		(set edpath "C:CustomED")
	))
))

(complete 43)

(if (< editor 3)(
	(set edpath
		(askfile
			(prompt (cat #edpath-ask1 edname #edpath-ask2))
			(help @askfile-help)
			(default edpath)
		)
	)
	(if (<> (exists edpath) 1)
		(abort #noeditor)
	)
))

(complete 50)

(if (= editor 0)
	(set edline (cat edpath ' "T:WriteMail.tmp" WINDOW "RAW:0/15/640/465/MailTo: ' "'mailto'/CLOSE/SCREEN'pubscreen'" '"'))
)
(if (= editor 1)
	(set edline (cat edpath ' "T:WriteMail.tmp" -KEEPIO'))
)
(if (> editor 1)(
	(set edline (cat edpath ' "T:WriteMail.tmp"'))
	(if (<> editor 3)
		(set stacksize
			(asknumber
				(prompt #Stack-ask)
				(help @asknumber-help)
				(default stacksize)
			)
		)
	)
))
(if (= editor 4)
	(set edline
		(askstring
			(prompt #edline-ask)
			(help #edline-help)
			(default edline)
		)
	)
)

(complete 57)

(if (<> editor 3)
	(set method
		(askchoice
			(prompt #method-ask)
			(help #method-help)
			(choices #meth-choice0 #meth-choice2 #meth-choice1)
			(default 0)
		)
	)
)

(complete 64)

(if (= editor 3)(
	(set conf
		(askbool
			(prompt #create-ask)
			(help   "")
			(choices #create0 #create1)
		)
	)
	(if conf
		(copyfiles
			(source "scripts/Choice3.rexx")
			(newname "AWEBmailtoYAM.rexx")
			(dest @destdir)
			(nogauge)
		)
	)
)(
	(set edline (cat "'" edline "'"))
	(if (<> stacksize 4096)
		(set edline (cat "'stack " stacksize "')\nCALL WRITELN(4," edline))
	)
	(textfile
		(prompt #create-ask)
		(help   "")
		(dest (tackon @destdir "AWEBmailtoYAM.rexx"))
		(include "scripts/Part1.rexx")
		(append (cat "CALL WRITELN(4," edline ")\nmethod=" method "\n"))
		(include "scripts/Part2.rexx")
		(confirm)
	)
))

(complete 71)

(set conf
	(askbool
		(prompt #readme-ask)
		(help   "")
		(choices #create0 #create1)
	)
)
(if conf
	(copyfiles
		(source "AWEBmailtoYAM.readme")
		(dest @destdir)
		(nogauge)
		(infos)
	)
)

(complete 79)

(set awebver
	(askchoice
		(prompt #awebver-ask)
		(help @askchoice-help)
		(choices "AWeb 1.2 (Demo)" "AWeb 1.5 / AWeb II")
		(default 1)
	)
)

(complete 86)

(working #msg-startaweb)
(run (cat "SYS:Rexxc/rx scripts/StartAWEB.rexx " @destdir))

(complete 93)

(if awebver
	(message #msg15)
	(message #msg12)
)

(complete 100)

(message #exit)

(exit #gift (quiet))
