Monday, April 04, 2011 at 1:08 AM.
radio2Suite.shortener.validate
on validate (username) {
<<Changes
<<3/25/11; 11:16:39 AM by DW
<<Not sure why -- but when this bit of logic runs in the beaut.root prefs page, we end up trashing the password, but don't trash it in the radio2.root version. So I put a bit of baling wire in here that checks if the password got emptied, and put it back to what it was last time it wasn't empty. The issue goes away. I hate this kind of patchery.
<<3/11/11; 7:36:59 AM by DW
<<If nothing changed, there's nothing to validate. Get out quick and STFU. :-)
<<2/22/11; 6:28:47 PM by DW
<<When there's a problem, display the error -- might help in debugging?
<<2/22/11; 10:43:56 AM by DW
<<Called from the prefs outline, radio2suite.data.prefsOutline, we check to be sure that we can get counts and shorten urls.
local (pta = html.getpagetableaddress ());
scratchpad.validateparams = pta^;
if pta^.method == "POST" {
try {
local (adrdata = radio2suite.init (), adruser = @adrdata^.users.[username], urls);
bundle { //super-hack -- 3/25/11 by DW
if string (adruser^.prefs.shortener.password) == "" {
if defined (adruser^.stats.savedShortenerPassword) {
adruser^.prefs.shortener.password = string (adruser^.stats.savedShortenerPassword)}}};
bundle { //don't do anything if the prefs haven't changed, 3/11/11 by DW
if adruser^.prefs.shortener.email == adruser^.stats.lastShortenerPrefs.email {
if adruser^.prefs.shortener.password == adruser^.stats.lastShortenerPrefs.password {
if adruser^.prefs.shortener.partnerID == adruser^.stats.lastShortenerPrefs.partnerID {
return ("")}}}};
local (s = "<font color=\"green\">Adjix likes your credentials.</font>");
adruser^.stats.lastShortenerPrefs = adruser^.prefs.shortener;
adjix.getaccounturls (@urls, adruser^.prefs.shortener.email, adruser^.prefs.shortener.password);
adjix.create ("http://scripting.com/rss.xml", partnerId:adruser^.prefs.shortener.partnerID);
return (s)}
else {
return ("<font color=\"red\">Adjix didn't like your credentials: \"" + tryerror + "\"</font>")}}
else {
bundle { //make a copy of user's shortener prefs for comparison later, 3/11/11 by DW
local (adrdata = radio2suite.init (), adruser = @adrdata^.users.[username]);
adruser^.stats.lastShortenerPrefs = adruser^.prefs.shortener;
if sizeof (adruser^.prefs.shortener.password) > 0 { //3/25/11 by DW
adruser^.stats.savedShortenerPassword = adruser^.prefs.shortener.password}};
return ("")}}
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.