Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.directory.suggestALinkForm
on suggestALinkForm () { <<Changes: <<12/19/01; 2:39:39 PM by PBS <<Call manilaSuite.sendMail instead of tcp.sendMail. local (pta = html.getpagetableaddress ()); pta^.title = "Suggest a Link"; <<scratchpad.params = pta^; edit (@scratchpad.params) local (referer, editorname, editoremail, crumblist = {}); case pta^.method { "GET" { local (args); new (tabletype, @args); webserver.parseargs (pta^.searchargs, @args); <<scratchpad.args = args; edit (@scratchpad.args) local (adrlastxstruct, rules); local (adritem = manilasuite.directory.walk (pta^.discussionGroup, args.msgnum, args.path, @crumblist, @adrlastxstruct, @rules)); referer = "fill in later"; editorname = "Bull Mancuso"; editoremail = "bull@mancuso.com"; }; <<referer = args.referer <<editorname = base64.decode (args.ownername) <<editoremail = base64.decode (args.owneremail) "POST" { local (recipient = base64.decode (pta^.postargs.editor)); local (subject = "Suggested Link: " + pta^.postargs.title); local (s = ""); s = s + "Category: " + pta^.postargs.referer + "\r\n\r\n"; s = s + "Title: " + pta^.postargs.title + "\r\n\r\n"; s = s + "Link: " + pta^.postargs.url + "\r\n\r\n"; s = s + "Description: " + pta^.postargs.description + "\r\n\r\n"; s = s + clock.now (); <<tcp.sendMail (recipient, subject, s) manilaSuite.sendMail (recipient, subject, s); //PBS 12/19/01: call manilaSuite.sendMail so user callbacks get called, so text gets converted (bug fix from David Bayly on Frontier-Server list) local (args); new (tabletype, @args); args.message = "Your suggestion was sent to the editor of this page. Thanks for participating."; mainresponder.redirect (pta^.postargs.referer + "?" + webserver.encodeArgs (@args)); return ("")}}; local (htmltext = "", indentlevel = 0); on add (s) { htmltext = htmltext + string.filledString ("\t", indentlevel) + s + "\r"}; add ("<h2>" + pta^.title + "</h2>"); bundle { //add the crumb list add ("<font size=\"-1\">" + manilaSuite.directory.getBreadcrumbString (crumblist, "/companies/userland/projects/superopendirectory/toDo/searchCommand") + "</font>"); add ("<p>")}; add ("Please enter a site name, URL and (optionally) explain why you believe the link should be in this category."); add ("<form method=\"POST\" action=\"" + pta^.uri + "\">"); indentlevel++; add ("<table cellspacing=\"10\" cellpadding=\"0\">"); indentlevel++; add ("<tr><td>Site name:</td><td><input type=text size=\"50\" name=\"title\" value=\"\"></td></tr>"); add ("<tr><td>URL:</td><td><input type=text size=\"50\" name=\"url\" value=\"http://\"></td></tr>"); add ("<tr><td valign=\"top\" width=\"100\">Why should this link be in this category?</td><td><textarea rows=\"3\" cols=\"38\" wrap=\"virtual\" name=\"description\"></textarea></td></tr>"); add ("<tr><td> </td><td><input type=\"submit\" name=\"submit\" value=\"Submit\"></td></tr>"); add ("</table>"); indentlevel--; add ("<input name=\"referer\" type=\"hidden\" value=\"" + referer + "\">"); add ("<input name=\"editor\" type=\"hidden\" value=\"" + base64.encode (editoremail, infinity) + "\">"); add ("</form>"); indentlevel--; add ("When you click on Submit, an email will be sent to " + editorname + ", the editor of the directory <a href=\"" + referer + "\">page</a> you came from. There is no guarantee that your site will appear in this directory. Important: You can <a href=\"/howtousesuperopendirectory\">create</a> your own directories on this site, or even <a href=\"/iwantone\">start</a> your own site. That's why we call this the Super<i>Open</i>Directory."); 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.