Wednesday, February 02, 2011 at 1:05 AM.
river2Suite.menuCommands.newUser
on newUser () { <<Changes <<1/31/11; 4:31:44 PM by DW <<Example feed for tutorial. <<http://dl.dropbox.com/u/1006496/readingLists/example.opml <<1/23/11; 3:33:38 PM by DW <<Created. local (adrdata = river2suite.init ()); if dialog.ask ("Name of new user?", @adrdata^.stats.lastNewUserName) { local (username = adrdata^.stats.lastNewUserName, flnotified = false, password = ""); if dialog.getpassword ("Password for new user \"" + username + "\":", @password) { local (adruser = @adrdata^.users.[username]); river2suite.inituser (adruser); adruser^.prefs.password = password; if dialog.yesNo ("Do you have an OPML subscription list for user \"" + username + "\"?") { if dialog.ask ("URL of OPML subscription list?", @adrdata^.stats.lastNewOPMLUrl) { local (opmltext = tcp.httpreadurl (adrdata^.stats.lastNewOPMLUrl), feeds, adr); xml.rss.getOpmlFeeds (opmltext, @feeds); for adr in @feeds { local (url = nameof (adr^)); <<scratchpad.url = url try {river2suite.subscribefeed (url)}; new (tabletype, @adruser^.feeds.[url])}; river2suite.inituser (username); dialog.notify ("All feeds subscribed to, new user \"" + username + "\" has been created."); flnotified = true}}; if not flnotified { dialog.notify ("New user \"" + username + "\" has been created.")}}}}; bundle { //test code newUser ()}
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.