Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.macros.renewLicense
on renewLicense () { <<Changes <<12/26/02; 1:10:57 PM by JES <<Run the Renew License page. local (pta = html.getPageTableAddress ()); local (htext = ""); on add (s) { htext = htext + (s + "\r");}; if pta^.method == "POST" { //process a POST local (adrargs = @pta^.radioResponder.postArgs); if defined (adrargs^.enterRenewalCode) { local (domain = "superhonker.userland.com"); local (code = string.upper (adrargs^.renewalCode)); try { //contact UserLand, verify the code, and get new expiration date bundle { //renew the license local (params = {user.radio.prefs.serialNumber, code}, retval, whenExpires); retval = xml.rpc (domain, 80, "digitalRiver.renewLicense", @params, rpcPath:"/RPC2", flShowMessages:false); whenExpires = 0 - number (base64.decode (retval)); user.radio.settings.whenSNExpires = whenExpires}; pta^.title = radio.string.getLocalizedString ("renewLicense.confirmTitle"); return (radio.string.getLocalizedString ("renewLicense.confirm"))} else { //error pta^.title = radio.string.getLocalizedString ("renewLicense.itDidntWork"); local (s = radio.string.getLocalizedString ("renewLicense.error")); local (error = tryerror); if error contains domain { //pop off the rpc part of the message local (ix = string.patternMatch (":", error)); error = string.delete (error, 1, ix)}; return (string.replace (s, "<%errorMessage%>", error))}}}; bundle { //add the form text pta^.title = radio.string.getLocalizedString ("renewLicense.title"); local (s = radio.string.getLocalizedString ("renewLicense.text")); add (string.replace (s, "<%serialNumber%>", string.padWithZeros (user.radio.prefs.serialNumber, 7)))}; return (htext)}
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.