=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v retrieving revision 1.12 retrieving revision 1.23 diff -u -p -r1.12 -r1.23 --- OpenXM/src/kan96xx/Doc/httpd-asir.sm1 2001/08/23 00:16:55 1.12 +++ OpenXM/src/kan96xx/Doc/httpd-asir.sm1 2002/10/24 02:12:34 1.23 @@ -1,15 +1,15 @@ -%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.11 2001/08/12 07:20:37 takayama Exp $ +%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.22 2002/10/21 00:37:01 takayama Exp $ %% http server by sm1 [(parse) (httpd.sm1) pushfile] extension pop /httpd.port 1200 def /httpd.image.name (kobeuniv2.jpg) def -/httpd.image.type (jpeg) def /httpd.initialization %% Put initialization codes here. [ + (XM_debug=0; ctrl("debug_window",0);) ("Asirweb version 0.80. "+ " Risa/Asir oxasir version "+rtostr(version());) ] cat @@ -34,9 +34,27 @@ def /httpd.port 1200 rrr add def httpd.port message - [(sleep 3; netscape -geometry 800x500 http://localhost:) - httpd.port toString - ( &)] cat system + %%[(sleep 3; netscape -geometry 800x500 http://localhost:) + %% httpd.port toString + %% ( &)] cat system + [(ostype)] extension 0 get + (windows) eq { + %% On windows. + [(forkExec) + [ + %%(c:\windows\command\start) + ox.win.start.0 aload pop + (iexplore) %% Starting internet explorer (TM). + [(http://localhost:) httpd.port toString] cat + ] + [ ] + 3] extension + }{ + %% On unix. + [(sleep 3 ; netscape http://localhost:) httpd.port toString ( & ) ] cat + system + } ifelse + httpd ; ] pop popVariables @@ -46,14 +64,15 @@ def /httpd_action { [/in-httpd /ff /httpd.com /httpd.result /sss /sss.engine /sss.web /err + /oxserver.vname ] pushVariables [ { [(sm1.socket) (select) [httpd.server.fd 0 get -1]] extension %% wait for ever - [(sm1.socket) (read) [httpd.server.fd 0 get ]] extension /ff set - ff length 0 eq { - (connection is closed.) message + [(sm1.socket) (readHTTP) [httpd.server.fd 0 get ]] extension /ff set + ff tag 0 eq { + (connection is closed.) message exit } { (------------ start ----------------------) message @@ -79,8 +98,11 @@ def } ifelse httpd.com metaCommand { httpd.textarea.valid { + /oxserver.vname + [Oxserver_history_variable httpd.serial toString] cat + def oxasir.ccc - [(if (1) {) httpd.com (; };)] cat + [(if (1) {) httpd.com (; };)] cat oxexecutestring ; }{ send-page-warning exit @@ -88,6 +110,10 @@ def [(oxReq) oxasir.ccc SM_dupErrors ] extension pop [(oxReq) oxasir.ccc SM_popCMO ] extension pop + + [(oxReq) oxasir.ccc SM_setName oxserver.vname] extension pop + oxasir.ccc [oxserver.vname (;)] cat oxexecutestring + [(oxReq) oxasir.ccc SM_popString ] extension pop [(flush)] extension pop %% Select inputs for interruption. @@ -222,7 +248,9 @@ def /metaCommand { /arg1 set - [/in-metaCommand /msg /result /msg2 /nn] pushVariables + [/in-metaCommand /msg /result /msg2 /nn + /err /fn + ] pushVariables [ /msg arg1 def /result 1 def @@ -231,14 +259,35 @@ def msg2 0 get (httpdAsirMeta) eq msg2 1 get (Pretty) eq and { + httpd.image.type null eq { + send-page-warning-image + /skip-image goto + } { } ifelse + + msg2 2 get . (integer) dc /nn set - %%BUG: This part should be rewritten. %% Reformat the "nn"-th result by tex and send it. - httpd.result.history nn get message - httpd.image.name httpd.image.type send-image + %% BUG: index is out of bound. httpd.result.history nn get message + + oxasir.ccc + [$print_$ httpd.image.type $_form(Oxserver_history_variable_$ + nn toString + $);$ + ] cat + (cmo) + executeStringAndSelectInputFromBrowserAndOxserver + dup 0 get /err set + 1 get /fn set + err [ ] eq { + fn 0 get httpd.image.type send-image + } { + [err preformatHTML] cat + send-page-3 + } ifelse %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + /skip-image /result 0 def } { } ifelse }{ } ifelse