subroutine programming.bas7
***********************************************************************
* Programming example 7, add using designer substitutions
***********************************************************************
*
* [00] 25Nov97 jr Initial Creation
* [01] 02Nov00 jr Update coding style
include wbp w3Include
*~<~FONT COLOR=RED~>~
* prepare substitution strings for the header
* what ever substitutions the Web page designer places in
* the programming.subs file will be used here.
*
* For this example, programming.subs contains:
* $$TITLE$$=We're done
*
* this allows the Web page designer to change the FlashCONNECT
* flags and their substitutions without requiring any programming
* changes
substitutions = ""
call w3SubsGet("programming.subs", substitutions)
*~<~/FONT~>~
open "programming" to f.data else
call w3HtmlInit("", "")
call w3HtmlHeader("","")
call w3Printn("<HTML><BODY><H3>Application error</H3>")
call w3Printn("<P>Cannot open the file 'programming'")
call w3HtmlFooter("","")
return
end
* get name of heading banner
* we're using the logo list used in the rotating banner
* demonstrations, so it will be the name of a gif file
* however, people may think specifying a *.gif file is
* a bug, so as an extra, strip it out
heading = ""
call w3RotatorGet("w3Rotator.demo", heading)
heading = field(heading, ".", 1)
header = "**HEADING**":@VM:heading
* set up the HTML page
* Add a cookie to the page
* Cookie name is "programming"
* Cookie value is "set by us"
call w3HtmlCookie("programming=set by us","", "", "", "", "")
call w3HTMLInit("programming","") ;* use programming.headfoot.htm
call w3HTMLHeader("",substitutions)
call w3HTMLInsertSection("programming1", header, "head")
select f.data
subs = ""
done = 0
loop
readnext id else done = 1
until done do
readv addr from f.data, id, 1 then
subs<1> = "col1":@VM:id
subs<2> = "col2":@vm:addr
call w3HTMLInsertSection("programming1", subs, "detail")
* Write the w3ProfileId to the second field in the file
* this allows tracking of the last w3ProfileId which
* viewed this database entry
writev w3ProfileId on f.data, id, 2
end
repeat
call w3HTMLInsertSection("programming1", "", "end")
* Add the form to the Web page
call w3HtmlFormBeg("","") ;* Start the form
call w3HTMLInsertSection("programming1", "", "form") ;* Add form body
call w3HtmlFormEnd ;* end the form
*~<~FONT COLOR=RED~>~
* Insert the template which includes another file
* we're using the entire file not sections of the file
call w3HtmlInsert("programming.include", "")
*~<~/FONT~>~
call w3HTMLFooter("","")
* Wait up to 5 minutes for the user's reply
* -----------------------------------------
call w3Input(err, 600, "")
* Check for any error and just stop
* ---------------------------------
if err # W3_OK then
return
end
* No error, get the value set by the user
* ---------------------------------------
results = ""
call w3GetVal(results, "like")
* Add the response to every record in the database
* ------------------------------------------------
select f.data
done = 0
loop
readnext id else done = 1
until done do
writev results on f.data, id, 3
repeat
close f.data
return