Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.weblog.post
on post (posttext, adrblog=radio.weblog.init (), when = clock.now (), adrpost=nil) {
<<Changes:
<<2/12/02; 3:32:54 AM by JES
<<Create an entry in weblogData.stats.unpublishedPosts, for the post, to be picked up by radio.weblog.publishAllUnpublishedPosts.
<<1/14/02; 8:47:22 PM by DW
<<Add callback support.
<<8/14/01; 6:40:05 PM by JES
<<New optional parameter, adrpost -- the address of a pre-existing post's table. If specified, then the text of the post is replaced with the new text.
<<3/5/01; 5:58:06 PM by JES
<<Added optional parameter, when, which defaults to now. This is needed for workspace.userlandSamples.manilaToBlog.
<<2/22/01; 11:24:58 PM by JES
<<If this is a Mac, convert Latin text to Mac.
if adrpost == nil {
adrpost = @adrblog^.posts.[string.padwithzeros (adrblog^.prefs.nextPostNum++, 8)]};
if not defined (adrpost^) {
new (tabletype, adrpost)};
if system.environment.isMac {
posttext = latinToMac.convert (posttext)};
wp.newtextobject (posttext, @adrpost^.text);
if not defined (adrpost^.when) { //only set the date/time for new posts
adrpost^.when = when};
adrblog^.stats.unpublishedPosts.[nameOf (adrpost^)] = true;
bundle { //call the callbacks -- 1/14/02; 8:47:22 PM by DW
try {
if not defined (user.radio.callbacks.postItem) {
new (tabletype, @user.radio.callbacks.postItem)};
local (adrcallback);
for adrcallback in @user.radio.callbacks.postItem {
try {
while typeOf (adrcallback^) == addressType {
adrcallback = adrcallback^};
adrcallback^ (adrpost)}}}};
return (adrpost)}
<<bundle //test code
<<for i = 1 to 10
<<msg (post ("Hello at " + clock.now () + "."))
<<clock.waitseconds (2)
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.