Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.userInterface.publishButton
on publishButton (f=nil, buttonlabel="Publish This Page", systemImagePath=nil) { <<Changes: <<11/16/01; 7:16:09 PM by JES <<Return the empty string. <<10/15/01; 1:38:11 AM by JES <<Return the empty string for static pages. <<10/12/01; 2:35:35 AM by JES <<Created. return (""); local (pta = html.getPageTableAddress ()); if pta^.radioResponder.flStaticRendering { //return the empty string for static pages return ("")}; if defined (pta^.radioResponder.getArgs) { //return the empty string for folder viewer pages if defined (pta^.radioResponder.getArgs.folderView) { if pta^.radioResponder.getArgs.folderView { return ("")}}}; if f == nil { //get f from the page table if defined (pta^.radioResponder.fileBeingRendered) { f = pta^.radioResponder.fileBeingRendered}}; local (pc = file.getPathChar ()); local (systemFolderPath = user.radio.prefs.wwwFolder + radio.data.folderNames.wwwSystemSubfolderName + pc); if f beginsWith systemFolderPath { //return the empty string for pages in the system sub-folder return ("")}; local (htmltext = "\r", indentlevel = 0); on add (s) { htmltext = htmltext + string.filledstring ("\t", indentlevel) + s + "\r\n"}; local (action = ""); bundle { //build action, adding searchArgs so that the reloaded page is still the same if defined (pta^.searchArgs) { action = "?" + pta^.searchArgs}}; add ("<form method=\"POST\" action=\"" + action + "\">"); indentlevel++; add ("<input name=\"command\" type=\"hidden\" value=\"publish\">"); if f != nil { add ("<input name=\"f\" type=\"hidden\" value=\"" + string.urlencode (f) + "\">")}; if systemImagePath == nil { //use a standard button add ("<input type=\"submit\" value=\"" + buttonlabel + "\">")} else { //use an image for the button local (flSameMachine = pta^.radioResponder.flSameMachine); local (imgUrl = string.nthField (radio.images.systemImageRef (systemImagePath, flFileUrl:flSameMachine), "\"", 2)); add ("<input type=\"image\" value=\"submit\" src=\"" + imgUrl + "\">")}; add ("</form>"); indentlevel--; return (htmltext)}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.