/* $VER:HTMLRead.rx 1.0a (07.02.2001) Written by Gunter Hinrichsen */
prefsfile=ARG(1)
OPTIONS FAILAT 21
OPTIONS RESULTS
IF ~SHOW('P','YAM') THEN DO
ADDRESS COMMAND
'c:RequestChoice >NIL:' TITLE "ERROR:" BODY '"Yam ist not running!"' GADGETS "OK"
EXIT 5
END
ADDRESS 'YAM'
window=0
IF prefsfile~="" THEN DO
IF LASTPOS(" ",prefsfile)~=0 THEN DO
window=COMPRESS(SUBSTR(prefsfile,LASTPOS(" ",prefsfile)))
prefsfile=SUBSTR(prefsfile,1,LASTPOS(" ",prefsfile)-1)
END
ELSE DO
window=prefsfile
prefsfile=""
END
END
'MAILREAD VAR dummy' window
'FOLDERINFO STEM folder.'
'MAILINFO STEM msgid.'
'READINFO STEM anlage.'
IF RC=0 THEN DO
e=anlage.filetype.count-1
imagez=0
htmlmail=0
codeconvert="FALSE"
DO i=0 TO e
IF UPPER(anlage.filetype.i)="TEXT/HTML" THEN CALL START_HTML(anlage.tempfile.i,anlage.filetype.count,i)
END
CALL WRITE_OUTWINDOW("Ready!")
END
EXIT 0
START_HTML:
/*--------------------------- Locale ---------------------------------*/
CONTINUE = "_OK"
SHOW_HTMLMAIL = "HTMLmail detectet!\nMailpart: "
SHOW = "_Show!"
IGNORE = "Ig_nore..."
NO_HTMLREADCONFIG = "No HTMLread-configfile!"
NO_OPENCONFIG = "Problem to open the configfile!"
UNKNOWN_ARGUMENT = "Unknown keyword found in configfile!"
BADCONFIGERROR = "I need this keyword unconditional!"
CONFIGERROR = "Warning, Keyword not found!"
NO_PATH = "Program does not exists!"
VIEWERPATHERROR = "The »viewer« or »path« is not correct!"
NO_AREXXPORT = "I can not find the ARexxport!"
ERROR_AREXX = "The ARexx-comand-returncode is not 0 !"
NEXT_HTMLMAIL = "Ok, for next HTML-Mail..."
SAVEDOWNLOADLISTERROR="Problem to write download-list!"
YESNO="_YES|_NO"
CACHEPATHWARNING_1="You use a dangerous Cachepath!"
CACHEPATHWARNING_2="Do not use a standalone path like:"
CACHEPATHWARNING_3="Use a path like:"
starthtml_iconpath='YAM:Icons/'
starthtml_path="T:"
starthtml_einfile=starthtml_path||'HTMLreadEinfile'||window
starthtml_namefile=starthtml_path||'HTMLreadNamefile'||window
starthtml_htmloutfile=starthtml_path||'HTMLreadOutfile'||window
starthtml_downloadlisttrue=starthtml_path||'HTMLreadDlisttrue'||window
starthtml_badurls="YAM:badurls.HTMLread"
starthtml_anlage=ARG(1)
starthtml_count=ARG(2)
starthtml_part=ARG(3)
outwindow="FALSE"
htmlmail=htmlmail+1
IF htmlmail=1 THEN CALL CONFIG_READ()
IF showhtml="ALL"|showhtml="ASK"|(showhtml="SECOND"&starthtml_part<2)|(showhtml="FIRST"&starthtml_part=0) THEN
DO
ADDRESS "YAM"
IF showhtml="ASK" THEN
DO
'REQUEST BODY "'SHOW_HTMLMAIL||starthtml_part+1'" GADGETS "'||SHOW||"|"||IGNORE'"'
IF result~=1 THEN RETURN 0
END
starthml_htmlfile=MAKE_FILENAME(starthtml_path,msgid.msgid,starthtml_part)
IF ~EXISTS(starthml_htmlfile) THEN DO
IF deltrue~="TRUE" THEN DO
ADDRESS COMMAND
'c:delete >NIL: FORCE QUIET t:HTMLread#? ALL'
ADDRESS YAM
deltrue="TRUE"
END
MAKE_MAILDIR(starthtml_path,msgid.msgid)
IF ~EXISTS(starthtml_einfile) THEN
DO
IF OPEN("Einfile",starthtml_einfile,"W") THEN
DO
CALL WRITELN("Einfile",'# HTMLread.inlist')
CALL CHECK_IMAGE(starthtml_count,starthtml_path,msgid.msgid)
END
CALL CLOSE("Einfile")
END
CALL START_HTMLREAD()
IF savepicture="YES" THEN CALL SAVE_IMAGE(starthtml_count,starthtml_path,msgid.msgid)
CALL HANDEL_HTTP_IMAGE(starthtml_htmloutfile,starthtml_part,starthtml_path||msgid.msgid||'/')
CALL WRITE_OUTWINDOW("Start HTML-Viewer")
IF outwindow="TRUE" THEN DO
CALL CLOSE("Winout")
outwindow="FALSE"
END
END
IF EXISTS(starthml_htmlfile) THEN DO
CALL STARTVIEWER(starthml_htmlfile)
END
END
ELSE EXIT 0
RETURN 0
START_HTMLREAD:
ADDRESS YAM
'MAILINFO STEM check.'
IF check.msgid~=msgid.msgid THEN EXIT 0
CALL PRAGMA("STACK",32768)
ADDRESS COMMAND
'C:HTMLread '||prefsfile||' '||starthtml_anlage||' '||starthtml_path||"HTMLread"||msgid.msgid||'/ '||msgid.msgid||'.'||starthtml_part'.html '||msgid.msgid||' '||starthtml_einfile||' '||starthtml_htmloutfile||' '||starthtml_namefile||' '||starthtml_downloadlisttrue||' '||starthtml_iconpath||' 'starthtml_badurls
ADDRESS YAM
RETURN
HANDEL_HTTP_IMAGE:
handlehttpimage_outfile=ARG(1)
handlehttpimage_part=ARG(2)
handlehttpimage_savepath=ARG(3)
ADDRESS YAM
IF ~EXISTS(loadwebimage_path||msgid.msgid||"/index") THEN
DO
IF EXISTS(starthtml_htmloutfile) THEN
DO
IF ~EXISTS(downloadlist) THEN
DO
IF OPEN("WFile",downloadlist,"W") THEN
DO
CALL WRITELN("WFile","# HTMLread-DownloadList (!Do not edit this Line!)")
CALL CLOSE("WFile")
END
END
IF OPEN("AFile",downloadlist,"A") THEN
DO
IF OPEN("OUTLIST",handlehttpimage_outfile,'R') THEN
DO
CALL WRITELN("AFile","")
CALL WRITELN("AFile","")
CALL WRITELN("AFile",'MSGID="'||msgid.msgid||'"')
CALL WRITELN("AFile",'MAILPART="'||handlehttpimage_part||'"')
CALL WRITELN("AFile",'SUBJECT="'||msgid.SUBJECT||'"')
CALL WRITELN("AFile",'FROM="'||msgid.FROM||'"')
CALL WRITELN("AFile",'DATE="'||msgid.date||'"')
CALL WRITELN("AFile",'FOLDER="'||folder.NAME||'"')
CALL WRITELN("AFile",'FOLDERNR="'||folder.NUMBER||'"')
DO FOREVER
handlehttpimage_temp=READLN("OUTLIST")
IF EOF("OUTLIST") THEN LEAVE
CALL WRITELN("AFile",handlehttpimage_temp)
END
CALL WRITELN("AFile","")
END
ELSE
DO
CALL SHOW_ERROR(SAVEDOWNLOADLISTERROR)
END
END
ELSE
DO
CALL SHOW_ERROR(SAVEDOWNLOADLISTERROR)
END
CALL CLOSE("OUTLIST")
CALL CLOSE("AFile")
END
IF EXISTS(starthtml_downloadlisttrue)|EXISTS(starthtml_htmloutfile) THEN
DO
ADDRESS COMMAND
'rx >NIL: '||downloadmanager||' !~HTMLreadStart:'||msgid.msgid||'~! '||prefsfile
CALL START_HTMLREAD()
ADDRESS YAM
END
END
RETURN
SAVE_IMAGE:
saveimage_count=ARG(1)
saveimage_path=ARG(2)
saveimage_msgid=ARG(3)
savepicture="TRUE"
IF MAKE_MAILDIR(saveimage_path,saveimage_msgid)="FALSE" THEN RETURN 1
IF OPEN("Namefile",starthtml_namefile,'R') THEN
DO
DO saveimage_i=0 TO saveimage_count-1
IF POS("IMAGE",UPPER(anlage.filetype.saveimage_i))=1 THEN
DO
saveimage_name=READLN("Namefile")
IF saveimage_name~="" THEN
DO
CALL WRITE_OUTWINDOWCH("Save image "||saveimage_name||": ")
IF ~EXISTS(saveimage_path||'HTMLread'||saveimage_msgid||"/"||filename.saveimage_pp) THEN
DO
'READSAVE "'saveimage_i+1'" FILENAME "'saveimage_path||'HTMLread'||saveimage_msgid||"/"||saveimage_name'" OVERWRITE'
CALL WRITE_OUTWINDOW("Done!")
END
ELSE CALL WRITE_OUTWINDOW("File exsists!")
END
END
END
END
CALL CLOSE("Namefile")
RETURN
CHECK_IMAGE:
checkimage_count=ARG(1)
checkimage_path=ARG(2)
checkimage_msgid=ARG(3)
DO checkimage_i=0 TO checkimage_count-1
IF POS("IMAGE",UPPER(anlage.filetype.checkimage_i))=1 THEN
DO
savepicture="YES"
CALL OPEN_WINDOW()
CALL WRITELN("Einfile",'fileid=""')
CALL WRITELN("Einfile",'Filename="'||anlage.tempfile.checkimage_i||'"')
END
END
RETURN
OPEN_WINDOW:
IF outwindow~="TRUE" THEN
DO
CALL OPEN("Winout","CON:0/20/640/100/HTMLread-Status: "||msgid.SUBJECT,"W")
outwindow="TRUE"
END
RETURN
MAKE_MAILDIR:
makemaildir_path=ARG(1)
makemaildir_msgid=ARG(2)
makemaildir_ret="FALSE"
makemaildir_dir=makemaildir_path||"HTMLread"||makemaildir_msgid
IF ~EXISTS(makemaildir_dir) THEN
DO
ADDRESS COMMAND
'C:MakeDir >NIL: "'||makemaildir_dir||'"'
IF RC=0 THEN makemaildir_ret="TRUE"
ADDRESS YAM
CALL WRITE_OUTWINDOW("")
CALL WRITE_OUTWINDOW("Write drawer!")
END
ELSE makemaildir_ret="TRUE"
RETURN makemaildir_ret
WRITE_OUTWINDOW:
writeoutwindow_text=ARG(1)
IF outwindow="TRUE" THEN CALL WRITELN("Winout",writeoutwindow_text)
RETURN
WRITE_OUTWINDOWCH:
writeoutwindowch_text=ARG(1)
IF outwindow="TRUE" THEN CALL WRITECH("Winout",writeoutwindowch_text)
RETURN
MAKE_FILENAME:
makefilename_path=ARG(1)
makefilename_msgid=ARG(2)
makefilename_part=ARG(3)
makefilename_file=makefilename_path||"HTMLread"||makefilename_msgid||"/"||makefilename_msgid||"."||makefilename_part||".html"
RETURN makefilename_file
FILE_COPY:
filecopy_from=ARG(1)
filecopy_to=ARG(2)
filecopy_ret="FALSE"
IF EXISTS(filecopy_from) THEN
DO
ADDRESS COMMAND
'copy NOREQ CLONE QUIET >NIL: FROM "'||filecopy_from||'"' TO '"'||filecopy_to||'"'
IF RC=0 THEN filecopy_ret="TRUE"
ADDRESS YAM
END
RETURN filecopy_ret
STARTVIEWER:
startviewer_tempfile=ARG(1)
ADDRESS "YAM"
'MAILINFO STEM check.'
IF check.msgid~=msgid.msgid THEN EXIT 0
IF (htmlmail>1&viewer=7&showhtml~="ASK") THEN CALL SHOW_ERROR(NEXT_HTMLMAIL)
IF arxport ~="" THEN DO
IF RIGHT(arxport,1)="." THEN DO
ports = SHOW('P')
startviewer_rc=POS(UPPER(arxport),UPPER(ports))
IF startviewer_rc~=0 THEN DO
startviewer_temp=POS(" ",ports,startviewer_rc)-startviewer_rc
IF startviewer_temp>0 THEN arxport=SUBSTR(ports,startviewer_rc,startviewer_temp)
ELSE arxport=SUBSTR(ports,startviewer_rc)
END
ELSE arxport=arxport||'1'
END
IF SHOW('P',arxport) THEN DO
arexxnewwin_temp=MAKE_ARUMENT(arexxnewwin,pubscreen,startviewer_tempfile)
IF arexxnewwin_temp~="" THEN CALL RUN_REXX(arexxnewwin_temp,arxport)
ELSE
DO
CALL RUN_COMMAND(path,MAKE_ARUMENT(startarg,pubscreen,startviewer_tempfile))
END
ADDRESS "YAM"
END
ELSE DO
startviewer_rc=RUN_COMMAND(path,MAKE_ARUMENT(startarg,pubscreen,startviewer_tempfile))
IF startviewer_rc=0 THEN
DO
ADDRESS COMMAND
'SYS:REXXC/WAITFORPORT' arxport
IF RC ~=0 then
DO
ADDRESS "YAM"
SHOW_ERROR(NO_AREXXPORT,"»"||arxport||"«")
EXIT 11
END
ELSE
DO
arexxopenfile=MAKE_ARUMENT(arexxopenfile,pubscreen,startviewer_tempfile)
IF arexxopenfile~="" THEN CALL RUN_REXX(arexxopenfile,arxport)
END
END
END
END
ELSE
DO
CALL RUN_COMMAND(path,MAKE_ARUMENT(startarg,pubscreen,startviewer_tempfile))
END
RETURN 0
MAKE_ARUMENT:
makeargument_comm=ARG(1)
makeargument_pubscreen=ARG(2)
makeargument_tempfile=ARG(3)
IF POS("%",makeargument_comm)~=0 THEN
DO
makeargument_za=1
makeargument_zb=1
DO FOREVER
makeargument_a=POS("%ys",makeargument_comm,makeargument_za)
makeargument_b=POS("%hm",makeargument_comm,makeargument_zb)
SELECT
WHEN makeargument_a~=0 THEN
DO
makeargument_comm=POS_ARGUMENT(makeargument_comm,makeargument_pubscreen,makeargument_a-1,"%ys")
makeargument_za=makeargument_a+2
END
WHEN makeargument_b~=0 THEN
DO
makeargument_comm=POS_ARGUMENT(makeargument_comm,makeargument_tempfile,makeargument_b-1,"%hm")
makeargument_zb=makeargument_b+2
END
OTHERWISE IF makeargument_a=0&makeargument_b=0 THEN LEAVE
END
END
END
RETURN makeargument_comm
POS_ARGUMENT:
posargument_comm=ARG(1)
posargument_st=ARG(2)
posargument_z=ARG(3)
posargument_arg=ARG(4)
posargument_comm=LEFT(posargument_comm,posargument_z)||posargument_st||RIGHT(posargument_comm,LENGTH(posargument_comm)-posargument_z-LENGTH(posargument_arg))
RETURN posargument_comm
CHECK_PATH:
checkpath_path=ARG(1)
IF ~EXISTS(checkpath_path) THEN
DO
CALL SHOW_ERROR(NO_PATH,"»"||checkpath_path||"«")
EXIT 11
END
RETURN
RUN_REXX:
runrexx_arg=ARG(1)
runrexx_port=arg(2)
runrexx_za=1
runrexx_zb=LENGTH(runrexx_arg)
DO FOREVER
runrexx_a=POS(";",runrexx_arg,runrexx_za)
IF runrexx_a~=0 THEN
DO
CALL EXECUTE_REXX(SUBSTR(runrexx_arg,runrexx_za,runrexx_a-1),runrexx_port)
runrexx_za=1
runrexx_arg=RIGHT(runrexx_arg,LENGTH(runrexx_arg)-runrexx_a)
END
ELSE IF runrexx_a=0 THEN LEAVE
END
CALL EXECUTE_REXX(SUBSTR(runrexx_arg,runrexx_za,LENGTH(runrexx_arg)),runrexx_port)
RETURN 0
EXECUTE_REXX:
executerexx_arg=ARG(1)
executerexx_port=ARG(2)
IF SHOW('P',executerexx_port) THEN DO
INTERPRET 'ADDRESS' executerexx_port
executerexx_arg
executerexx_rc=RC
IF executerexx_rc ~=0 THEN
DO
IF viewer=6 & executerexx_arg="SCREENTOFRONT" THEN NOP
ELSE CALL SHOW_ERROR(ERROR_AREXX,"»"||executerexx_arg||"«","RC: "||executerexx_rc)
END
END
ELSE
DO
CALL SHOW_ERROR(NO_AREXXPORT,"»"||executerexx_port||"«")
END
RETURN executerexx_rc
SHOW_ERROR:
showerror_arg=ARG()
showerror_max=0
showerror_temp=""
DO z=1 TO showerror_arg
showerror_arg.z=ARG(z)
IF LENGTH(showerror_arg.z)>showerror_max THEN showerror_max=LENGTH(showerror_arg.z)
END
DO z=1 TO showerror_arg
IF LENGTH(showerror_arg.z)NIL:' runcommand_path||" "||runcommand_startarg
runcommand_RC=RC
ADDRESS "YAM"
RETURN runcommand_RC
CONFIG_READ:
IF prefsfile="" THEN prefsfile="ENV:HTMLread.config"
IF OPEN(ofile,prefsfile,'R') THEN
DO
IF POS("#HTMLREAD.CONFIG",UPPER(COMPRESS(READLN(ofile))))=1 THEN
DO
startviewer.line=1
sviewer="FALSE"
spath="FALSE"
sstartarg="FALSE"
spubscreen="FALSE"
sarxport="FALSE"
sarexxopenfile="FALSE"
sarexxnewwin="FALSE"
sshowhtml="FALSE"
sloadwebimage="FALSE"
ssavewebimage="FALSE"
smakeimagelist="FALSE"
sloadwebimage_path="FALSE"
sdownloadlist="FALSE"
sonoffline="FALSE"
sdownloadmanager="FALSE"
squiet="FALSE"
DO UNTIL EOF(ofile)
startviewer.comm=READLN(ofile)
IF startviewer.comm ~=''&POS("#",COMPRESS(startviewer.comm))~=1 then CALL COMCHECK(startviewer.comm,startviewer.line)
startviewer.line=startviewer.line+1
END
END
ELSE
DO
ADDRESS YAM
CALL SHOW_ERROR(NO_HTMLREADCONFIG,"»"||prefsfile||"«")
CALL CLOSE (ofile)
RETURN 10
END
CALL CLOSE (ofile)
IF sviewer="FALSE" THEN CALL BAD_CONFIG_ERROR("viewer")
IF spath="FALSE" THEN CALL BAD_CONFIG_ERROR("path")
IF sstartarg="FALSE" THEN
DO
IF viewer=1|viewer=2|viewer=3|viewer=4 THEN CALL BAD_CONFIG_ERROR("startarg")
ELSE
DO
CALL WARNIG_CONFIG_ERROR("startarg")
startarg=""
END
END
IF spubscreen="FALSE" THEN
DO
CALL WARNIG_CONFIG_ERROR("pubscreen")
pubscreen="YAM"
END
IF sarxport="FALSE" THEN
DO
IF viewer=5|viewer=6|viewer=7|viewer=8 THEN CALL BAD_CONFIG_ERROR("arexxport")
ELSE
DO
CALL WARNIG_CONFIG_ERROR("arexxport")
arxport=""
END
END
IF sarexxopenfile="FALSE" THEN
DO
IF viewer=5|viewer=6|viewer=7|viewer=8 THEN CALL BAD_CONFIG_ERROR("arexxopenfile")
ELSE
DO
CALL WARNIG_CONFIG_ERROR("arexxopenfile")
arexxopenfile=""
END
END
IF sarexxnewwin="FALSE" THEN
DO
IF viewer=5|viewer=6|viewer=8 THEN DO
CALL BAD_CONFIG_ERROR("arexxnewwindow")
EXIT 11
END
ELSE DO
CALL WARNIG_CONFIG_ERROR("arexxnewwindow")
IF viewer=7 THEN arexxnewwin=arexxopenfile
ELSE arexxnewwin=""
END
END
IF sshowhtml="FALSE" THEN DO
CALL WARNIG_CONFIG_ERROR("showhtml")
showhtml="ALL"
END
IF sloadwebimage="FALSE" THEN DO
CALL BAD_CONFIG_ERROR("loadwebimage")
exit 11
END
IF ssavewebimage="FALSE" THEN DO
CALL BAD_CONFIG_ERROR("savewebimage")
exit 11
END
IF smakeimagelist="FALSE" THEN DO
CALL WARNIG_CONFIG_ERROR("makeimagelist")
makeimagelist="ASK"
END
IF squiet="FALSE" THEN DO
CALL BAD_CONFIG_ERROR("quiet")
exit 11
END
IF sloadwebimage_path="FALSE" THEN DO
CALL BAD_CONFIG_ERROR("webimagepath")
exit 11
END
ELSE DO
IF LASTPOS(":",loadwebimage_path)=LENGTH(loadwebimage_path) THEN DO
CALL SHOW_ERROR(CACHEPATHWARNING_1,CACHEPATHWARNING_2,loadwebimage_path,CACHEPATHWARNING_3,loadwebimage_path||"WebImages/")
EXIT 11
END
IF ~EXISTS(loadwebimage_path) THEN DO
IF LASTPOS("/",loadwebimage_path)=LENGTH(loadwebimage_path) THEN temp=LEFT(loadwebimage_path,LENGTH(loadwebimage_path)-1)
ELSE DO
temp=loadwebimage_path
loadwebimage_path=loadwebimage_path||"/"
END
ADDRESS COMMAND
'C:MakeDir '||temp
ADDRESS YAM
END
END
IF sdownloadlist="FALSE" THEN
DO
CALL BAD_CONFIG_ERROR("downloadlist")
exit 11
END
IF sonoffline="FALSE" THEN
DO
CALL WARNIG_CONFIG_ERROR("onoffline")
onoffline="YAM:Rexx/miamionoff.rx"
loadwebimage="FALSE"
END
IF sdownloadmanager="FALSE" THEN
DO
CALL WARNIG_CONFIG_ERROR("downloadmanager")
downloadmanager="YAM:Rexx/HRdownload.rx"
loadwebimage="FALSE"
END
END
ELSE
DO
ADDRESS "YAM"
CALL SHOW_ERROR(NO_OPENCONFIG,"»"||prefsfile||"«")
RETURN 0
END
IF path=""|viewer="" THEN
DO
ADDRESS "YAM"
CALL SHOW_ERROR(viewerpatherror)
EXIT 10
END
IF pubscreen="YAM" THEN
DO
'INFO VAR pubscreen SCREEN'
IF pubscreen="" THEN pubscreen="Workbench"
END
ELSE
DO
IF pubscreen="" THEN pubscreen="Workbench"
END
IF viewer=1|viewer=2|viewer=3|viewer=4 THEN
DO
arxport=""
IF startarg="" THEN
DO
IF viewer=1|viewer=2 THEN startarg="PUBSCREEN %ys FILE %hm"
IF viewer=3 THEN startarg="NEWWIN FILE %hm"
IF viewer=4 THEN startarg="file://%hm"
END
END
ELSE
DO
IF arxport="" THEN
DO
IF viewer=5 THEN arxport="VOYAGER"
IF viewer=6 THEN arxport="IBROWSE"
IF viewer=7|viewer=8 THEN arxport="AWEB."
END
IF arexxopenfile="" THEN
DO
IF viewer=5 THEN arexxopenfile="OPENURL FILE://localhost/%hm;SCREENTOFRONT"
IF viewer=6 THEN arexxopenfile="GOTOURL file://localhost/%hm;SCREENTOFRONT"
IF viewer=7|viewer=8 THEN arexxopenfile="OPEN file://localhost/%hm;SCREENTOFRONT"
END
IF viewer=7 THEN arexxnewwin=arexxopenfile
IF arexxnewwin="" THEN
DO
IF viewer=5 THEN arexxnewwin="OPENURL NEWWIN file://localhost/%hm;SHOW;SCREENTOFRONT"
IF viewer=6 THEN arexxnewwin="NEWWINDOW file://localhost/%hm;SHOW;SCREENTOFRONT"
IF viewer=8 THEN arexxnewwin="NEW file://localhost/%hm;SCREENTOFRONT"
END
END
IF (showhtml~="FIRST"&showhtml~="SECOND"&showhtml~="ALL"&showhtml~="ASK") THEN showhtml="ALL"
IF loadwebimage~="TRUE"&loadwebimage~="FALSE" THEN loadwebimage="FALSE"
RETURN
COMCHECK:
comcheck.comm=ARG(1)
comcheck.line=ARG(2)
comcheck.temp=COMPRESS(UPPER(comcheck.comm))
SELECT
WHEN POS('VIEWER',comcheck.temp)=1 THEN
DO
viewer=CHECK_VIEWER(comcheck.comm,'VIEWER')
sviewer="TRUE"
END
WHEN POS('PATH',comcheck.temp)=1 THEN
DO
path=GET_ARGUMENT(comcheck.comm,"PATH","TRUE")
spath="TRUE"
END
WHEN POS('AREXXPORT',comcheck.temp)=1 THEN
DO
arxport=GET_ARGUMENT(comcheck.comm,"AREXXPORT","TRUE")
sarxport="TRUE"
END
WHEN POS('PUBSCREEN',comcheck.temp)=1 THEN
DO
pubscreen=GET_ARGUMENT(comcheck.comm,"PUBSCREEN","TRUE")
spubscreen="TRUE"
END
WHEN POS('AREXXOPENFILE',comcheck.temp)=1 THEN
DO
arexxopenfile=GET_ARGUMENT(comcheck.comm,"AREXXOPENFILE","TRUE")
sarexxopenfile="TRUE"
END
WHEN POS('AREXXNEWWINDOW',comcheck.temp)=1 THEN
DO
arexxnewwin=GET_ARGUMENT(comcheck.comm,"AREXXNEWWINDOW","TRUE")
sarexxnewwin="TRUE"
END
WHEN POS('STARTARG',comcheck.temp)=1 THEN
DO
startarg=GET_ARGUMENT(comcheck.comm,"STARTARG","TRUE")
sstartarg="TRUE"
END
WHEN POS('SHOWHTML',comcheck.temp)=1 THEN
DO
showhtml=UPPER(GET_ARGUMENT(comcheck.comm,'SHOWHTML',"TRUE"))
sshowhtml="TRUE"
END
WHEN POS('LOADWEBIMAGE',comcheck.temp)=1 THEN
DO
loadwebimage=UPPER(GET_ARGUMENT(comcheck.comm,"LOADWEBIMAGE","TRUE"))
sloadwebimage="TRUE"
END
WHEN POS('SAVEWEBIMAGE',comcheck.temp)=1 THEN
DO
savewebimage=UPPER(GET_ARGUMENT(comcheck.comm,"SAVEWEBIMAGE","TRUE"))
ssavewebimage="TRUE"
END
WHEN POS('MAKEIMAGELIST',comcheck.temp)=1 THEN
DO
makeimagelist=UPPER(GET_ARGUMENT(comcheck.comm,"MAKEIMAGELIST","TRUE"))
smakeimagelist="TRUE"
END
WHEN POS('WEBIMAGEPATH',comcheck.temp)=1 THEN
DO
loadwebimage_path=GET_ARGUMENT(comcheck.comm,"WEBIMAGEPATH","TRUE")
sloadwebimage_path="TRUE"
END
WHEN POS('DOWNLOADLIST',comcheck.temp)=1 THEN
DO
downloadlist=GET_ARGUMENT(comcheck.comm,"DOWNLOADLIST","TRUE")
sdownloadlist="TRUE"
END
WHEN POS('ONOFFLINE',comcheck.temp)=1 THEN
DO
onoffline=GET_ARGUMENT(comcheck.comm,"ONOFFLINE","TRUE")
sonoffline="TRUE"
END
WHEN POS('DOWNLOADMANAGER',comcheck.temp)=1 THEN
DO
downloadmanager=GET_ARGUMENT(comcheck.comm,"DOWNLOADMANAGER","TRUE")
sdownloadmanager="TRUE"
END
WHEN POS('QUIET',comcheck.temp)=1 THEN
DO
quiet=GET_ARGUMENT(comcheck.comm,"quiet","TRUE")
squiet="TRUE"
END
WHEN POS('#',comcheck.temp) THEN NOP
OTHERWISE
CALL SHOW_ERROR(UNKNOWN_ARGUMENT,comcheck.line||": »"||comcheck.comm||"«")
END
RETURN
CHECK_VIEWER:
checkviewer.comm=ARG(1)
checkviewer.suche=ARG(2)
PARSE VAR checkviewer.comm checkviewer.suche dummy '=' checkviewer.temp.1 '#'
checkviewer.temp.0=COMPRESS(checkviewer.temp.1)
SELECT
WHEN checkviewer.temp.0='1'|checkviewer.temp.0='"1"' THEN checkviewer.temp.0=1
WHEN checkviewer.temp.0='2'|checkviewer.temp.0='"2"' THEN checkviewer.temp.0=2
WHEN checkviewer.temp.0='3'|checkviewer.temp.0='"3"' THEN checkviewer.temp.0=3
WHEN checkviewer.temp.0='4'|checkviewer.temp.0='"4"' THEN checkviewer.temp.0=4
WHEN checkviewer.temp.0='5'|checkviewer.temp.0='"5"' THEN checkviewer.temp.0=5
WHEN checkviewer.temp.0='6'|checkviewer.temp.0='"6"' THEN checkviewer.temp.0=6
WHEN checkviewer.temp.0='7'|checkviewer.temp.0='"7"' THEN checkviewer.temp.0=7
OTHERWISE checkviewer.temp.0=GET_ARGUMENT(checkviewer.comm,checkviewer.suche,"TRUE")
END
RETURN checkviewer.temp.0
GET_ARGUMENT:
getargument.comm=ARG(1)
getargument.suche=ARG(2)
getargument.op=ARG(3)
PARSE VAR getargument.comm getargument.suche dummy '"' getargument.temp '"'
IF getargument.temp=""&getargument.op="TRUE" THEN getargument.temp=""
ELSE
DO
IF getargument.temp="" THEN
DO
PARSE VAR getargument.comm getargument.suche dummy '=' getargument.temp '#'
getargument.temp=COMPRESS(getargument.temp)
END
END
RETURN getargument.temp
BAD_CONFIG_ERROR:
badconfigerror.temp="»"||ARG(1)||"«"
CALL SHOW_ERROR(BADCONFIGERROR,badconfigerror.temp)
EXIT 11
RETURN
WARNIG_CONFIG_ERROR:
configerror.temp="»"||ARG(1)||"«"
CALL SHOW_ERROR(CONFIGERROR,configerror.temp)
RETURN