Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.macros.commentOnThisPage
on commentOnThisPage (linktext="", title="", adrblog=radio.weblog.init ()) { <<Changes <<9/3/02; 11:39:16 PM by LL <<Added a check to not display the link for weekly archive pages. <<8/27/02; 3:44:26 PM by LL <<Added a check to not display the link for monthly archive pages. <<8/15/02; 8:07:48 PM by JES <<Call through radio.file.getRelativePath to get the story ID instead of bashing the text here. <<8/9/02; 1:16:50 PM by LL <<Created. local (pta = html.getpagetableaddress ()); bundle { //find reasons not to display the link if defined (radio.data.appProfile.flCommentsEnabled) { //community must support comments if not radio.data.appProfile.flCommentsEnabled { return ("")}}; if not adrblog^.prefs.flCommentLinksEnabled { //comments must be enabled in prefs return ("")}; if defined (pta^.flHomePage) { //must not be the home page -- use item level comments instead if pta^.flHomePage { return ("")}}; if defined (pta^.flArchivePage) { //must not be an archive page -- use item level comments instead if pta^.flArchivePage { return ("")}}; if defined (pta^.flMonthlyArchive) { //must not be a monthly archive page -- use item level comments instead if pta^.flMonthlyArchive { return ("")}}; if defined (pta^.flWeeklyArchive) { //must not be a weekly archive page -- use item level comments instead if pta^.flWeeklyArchive { return ("")}}; if defined (pta^.flSystemPage) { //must not be a system page if pta^.flSystemPage { return ("")}}}; if linktext == "" { linktext = adrblog^.prefs.commentLinkText}; if title == "" { title = radio.string.getLocalizedString ("misc.clickToCommentOnThisPage")}; local (s); if string.lower (linktext) contains "<%commentcount%>" { s = "<script src=\"" + weblogData.prefs.commentsPageUrl + "?u=" + user.radio.prefs.usernum + "&c=counts\" type=\"text/javascript\"></script>\r"}; local (linkarg = ""); local (f = pta^.radioResponder.fileBeingRendered); local (id = string.popSuffix (radio.file.getRelativePath (f))); linkarg = "&link=" + string.urlEncode (radio.upstream.getFileUrl (f)); local (commentPageUrl = adrblog^.prefs.commentsPageUrl + "?u=" + user.radio.prefs.usernum + "&p=" + string.urlEncode (id) + linkarg); bundle { //insert JavaScript for comment counter linktext = string.replaceAll (linktext, "<%commentCount%>", "<script type=\"text/javascript\" language=\"JavaScript\">commentCounter (\"" + id + "\")</script>", false)}; local (onclick = "window.open (this.href, \'comments\', \'width=515, height=480, location=0, resizable=1, scrollbars=1, status=0, toolbar=0, directories=0\'); return(false);"); s = s +"<a href=\"" + commentPageUrl + "\" onclick=\"" + onclick + "\" title=\"" + title + "\" class=\"commentLink\">" + linktext + "</a>"; return (s)}
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.