@verb #756:"www_moderator_login" this none this rxdo #789 @program #756:"www_moderator_login" this none this ":www_moderator_login(URL) => {{name, data}, {name, data}, ...}" "Verifies that the user and password are the Moderator's. Updates serial number and web object lists, then returns all info in raw dame/data pairs." if (!(caller in {this, this.setup, this.talk})) raise(E_PERM) endif data = dobj slice = $list_utils:slice(data, 1) moderator = this.users[1] if (!data) return "" elseif (slice[1..min($, 4)] != {"id", "pw", "md", "sn"}) "Invalid or missing data from URL." return "Invalid URL arguments: " + toliteral(slice) elseif (data[1][2] != moderator[1] && !(data[1][2] in $su:explode(moderator[1], "|"))) "Are you the moderator?" return "Forbidden; you are not " + moderator[1] elseif (data[2][2] != moderator[2] && !(data[2][2] in $su:explode(moderator[2], "|")) && !("*" in $su:explode(moderator[2], "|"))) "Moderator's password?" return "Forbidden; you are not " + moderator[1] elseif (data[4][2] in moderator[3]) "Wipe out the additional data if this is a reload" data = data[1..4] else this.users[1][3] = setadd(moderator[3], data[4][2]) endif this.users[1][6] = time() return data "Last modified by Dax (#789) on Thu Aug 6 16:23:45 1998 EDT." .