|
From: creedon <icr...@us...> - 2005-06-13 19:08:50
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/webserver/data/actions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1540 Modified Files: macro Log Message: removed trailing line from script, changed comments at top of script to more closely match current stylistic practices Index: macro =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/webserver/data/actions/macro,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** macro 26 Mar 2005 19:44:08 -0000 1.1.1.1 --- macro 13 Jun 2005 19:08:32 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.webserver.data.actions.macro ! on macro (paramAdr) { ÇThis script currently supports only a single WebStar web server per machine. ÇSupport for other web servers and multiple servers per machine will be added later. Çby Mason Hale 9/20/95 Ç10/29/95 Added support for default documents. local (webroot = file.folderFromPath (sys.getAppPath (Webstar.id)), pathtemp, htmlText); with paramAdr^ { if !defined (user.webServer.utilities.macroData) { new (tableType, @user.webServer.utilities.macroData)}; bundle { Çbuild path to file from URL if scriptName endsWith "/" { Çdefault document was requested pathtemp = string.popLeading (scriptName, "/"); pathtemp = string.replaceAll (pathTemp, "/", ":"); if !defined (user.webServer.utilities.macroData.defaultPage) { user.webServer.utilities.macroData.defaultPage = WebStar.getIndexFile ()}; pathtemp = webroot + pathtemp + user.webServer.utilities.macroData.defaultPage} else { pathtemp = string.popLeading (scriptName, "/"); pathtemp = string.replaceAll (pathTemp, "/", ":"); pathtemp = webroot + pathtemp}}; if defined (user.webServer.utilities.macroData.[scriptName]) { htmltext = user.webServer.utilities.macroData.[scriptName]} else { if !file.exists (pathtemp) { scriptError ("The file \"" + pathtemp + "\" was not found")} else { if !file.type (pathtemp) == "TEXT" { htmlText = webserver.errorMessage ("File is not expected type 'TEXT'.")} else { Çfile exists and is TEXT, read it and process macros semaphores.lock (string (pathtemp), 3600); try { file.open (pathtemp); htmlText = string (file.read (pathtemp, infinity)); file.close (pathtemp); semaphores.unlock (string (pathtemp)); webServer.utilities.macroData.[scriptName] = htmlText} else { semaphores.unlock (string (pathtemp)); scriptError ("Error opening file.")}}}}; htmltext = webserver.httpHeader () + webserver.utilities.processMacros (htmltext, paramAdr)}; if !defined (cacheDate) { webServer.utilities.macroData.cacheDate = clock.now ()}; if long (clock.now () - webServer.utilities.macroData.cacheDate) > 86400 { Ç 1 day table.emptyTable (@webServer.utilities.macroData)}; return (htmltext); } \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.webserver.data.actions.macro ! on macro (paramAdr) { ÇChanges Ç10/29/95 by Mason Hale ÇAdded support for default documents. Ç9/20/95 by Mason Hale ÇThis script currently supports only a single WebStar web server per machine. Support for other web servers and multiple servers per machine will be added later. local (webroot = file.folderFromPath (sys.getAppPath (Webstar.id)), pathtemp, htmlText); with paramAdr^ { if !defined (user.webServer.utilities.macroData) { new (tableType, @user.webServer.utilities.macroData)}; bundle { Çbuild path to file from URL if scriptName endsWith "/" { Çdefault document was requested pathtemp = string.popLeading (scriptName, "/"); pathtemp = string.replaceAll (pathTemp, "/", ":"); if !defined (user.webServer.utilities.macroData.defaultPage) { user.webServer.utilities.macroData.defaultPage = WebStar.getIndexFile ()}; pathtemp = webroot + pathtemp + user.webServer.utilities.macroData.defaultPage} else { pathtemp = string.popLeading (scriptName, "/"); pathtemp = string.replaceAll (pathTemp, "/", ":"); pathtemp = webroot + pathtemp}}; if defined (user.webServer.utilities.macroData.[scriptName]) { htmltext = user.webServer.utilities.macroData.[scriptName]} else { if !file.exists (pathtemp) { scriptError ("The file \"" + pathtemp + "\" was not found")} else { if !file.type (pathtemp) == "TEXT" { htmlText = webserver.errorMessage ("File is not expected type 'TEXT'.")} else { Çfile exists and is TEXT, read it and process macros semaphores.lock (string (pathtemp), 3600); try { file.open (pathtemp); htmlText = string (file.read (pathtemp, infinity)); file.close (pathtemp); semaphores.unlock (string (pathtemp)); webServer.utilities.macroData.[scriptName] = htmlText} else { semaphores.unlock (string (pathtemp)); scriptError ("Error opening file.")}}}}; htmltext = webserver.httpHeader () + webserver.utilities.processMacros (htmltext, paramAdr)}; if !defined (cacheDate) { webServer.utilities.macroData.cacheDate = clock.now ()}; if long (clock.now () - webServer.utilities.macroData.cacheDate) > 86400 { Ç 1 day table.emptyTable (@webServer.utilities.macroData)}; return (htmltext)} \ No newline at end of file |