|
From: creedon <icr...@us...> - 2005-07-25 21:57:47
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/members In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13985 Modified Files: linkToMember Log Message: disabled getUsersMapKey handler, replaced with mainResponder.members.memberKeyToMappedKey Index: linkToMember =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/members/linkToMember,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** linkToMember 26 Mar 2005 21:46:01 -0000 1.1.1.1 --- linkToMember 25 Jul 2005 21:57:22 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.members.linkToMember ! on linkToMember (groupName, memberKey, hideEmail=false, adrMembers=nil, pta=nil, urlprefix="", useMap=false) { ÇChanges Ç4/18/03; 4:18:44 PM by JES ÇMember links are now numeric -- this prevents spammers from mining Manila sites for the email addresses of their members. ÇWe store a number associated with each member in the usersMap sub-table of the #membershipGroup table, and look up the member's email address using the number. Ç8/14/02; 8:25:54 PM by JES ÇNew optional parameter, urlPrefix. Ç9/26/01; 6:17:50 PM by PBS ÇNew optional parameter: adrMembers is the address of the membership group. Çpta is now an optional parameter for performance reasons. Ç10/08/00; 4:08:26 AM by JES ÇAdded optional parameter, hideEmail, which causes email addresses to be obscured with elipses. Ç11/14/99; 5:55:31 PM by PBS ÇadrMember^.personalInfo.name may exist yet be blank: if so, just return the member key (the email address). Ç3/4/99; 02:56:16 GMT by AR ÇRemoved reference to config.mainResponder.urls on getUsersMapKey (adrmember) { if not defined (adrMembers^.usersMap) { new (tableType, @adrMembers^.usersMap)}; if not defined (adrmember^.usersMapKey) { local (ix = sizeOf (adrMembers^.usersMap) + 1); adrmember^.usersMapKey = ix; adrMembers^.usersMap.[ix] = nameOf (adrmember^)}; return (adrmember^.usersMapKey)}; on obscureEmail (key, link=true) { if hideEmail { if key contains '@' { local (part1 = string.nthField (key, '@', 1)); local (part2 = string.nthField (key, '@', 2)); if link { return ("<a href=\"mailto:" + key + "\">" + part1 + "@" + part2[1] + "...</a>")} else { return (part1 + "@" + part2[1] + "...")}}}; return (key)}; try { if adrMembers == nil { adrMembers = mainResponder.members.getMembershipTable (groupName)}; local (adrmember = mainresponder.members.getmembertable (groupname, memberkey, adrMembers)); local (name = ""); if defined (adrmember^.personalInfo.name) { name = adrmember^.personalInfo.name}; if string.trimWhiteSpace (name) == "" { name = obscureEmail (memberKey)}; if pta == nil { pta = html.getpagetableaddress ()}; local (url = urlprefix); if url == "" { url = pta^.responderAttributes.urls^.profilesHome + "$"}; url = string.replace (url, "[[group]]", groupName); if useMap { local (usersMapKey = getUsersMapKey (adrmember)); return ("<a href=\"" + url + usersMapKey + "\">" + name + "</a>")} else { return ("<a href=\"" + url + memberKey + "\">" + name + "</a>")}} else { return (obscureEmail (memberKey))}}; Çbundle //test code Çlocal (adrsite = @jaketest2ManilaWebsite) Çlocal (adrmembers = jaketest2Members) Çlocal (groupName = "jaketest2Members") Çlocal (memberKey = "ja...@us...") Çdialog.notify (linkToMember (groupName, memberKey, adrmembers:adrmembers)) \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.members.linkToMember ! on linkToMember (groupName, memberKey, hideEmail=false, adrMembers=nil, pta=nil, urlprefix="", useMap=false) { ÇChanges Ç7/12/05; 12:37:41 PM by TAC Çdisabled getUsersMapKey handler, replaced with mainResponder.members.memberKeyToMappedKey Ç4/18/03; 4:18:44 PM by JES ÇMember links are now numeric -- this prevents spammers from mining Manila sites for the email addresses of their members. ÇWe store a number associated with each member in the usersMap sub-table of the #membershipGroup table, and look up the member's email address using the number. Ç8/14/02; 8:25:54 PM by JES ÇNew optional parameter, urlPrefix. Ç9/26/01; 6:17:50 PM by PBS ÇNew optional parameter: adrMembers is the address of the membership group. Çpta is now an optional parameter for performance reasons. Ç10/08/00; 4:08:26 AM by JES ÇAdded optional parameter, hideEmail, which causes email addresses to be obscured with elipses. Ç11/14/99; 5:55:31 PM by PBS ÇadrMember^.personalInfo.name may exist yet be blank: if so, just return the member key (the email address). Ç3/4/99; 02:56:16 GMT by AR ÇRemoved reference to config.mainResponder.urls Çon getUsersMapKey (adrmember) Çif not defined (adrMembers^.usersMap) Çnew (tableType, @adrMembers^.usersMap) Çif not defined (adrmember^.usersMapKey) Çlocal (ix = sizeOf (adrMembers^.usersMap) + 1) Çadrmember^.usersMapKey = ix ÇadrMembers^.usersMap.[ix] = nameOf (adrmember^) Çreturn (adrmember^.usersMapKey) on obscureEmail (key, link=true) { if hideEmail { if key contains '@' { local (part1 = string.nthField (key, '@', 1)); local (part2 = string.nthField (key, '@', 2)); if link { return ("<a href=\"mailto:" + key + "\">" + part1 + "@" + part2[1] + "...</a>")} else { return (part1 + "@" + part2[1] + "...")}}}; return (key)}; try { if adrMembers == nil { adrMembers = mainResponder.members.getMembershipTable (groupName)}; local (adrmember = mainresponder.members.getmembertable (groupname, memberkey, adrMembers)); local (name = ""); if defined (adrmember^.personalInfo.name) { name = adrmember^.personalInfo.name}; if string.trimWhiteSpace (name) == "" { name = obscureEmail (memberKey)}; if pta == nil { pta = html.getpagetableaddress ()}; local (url = urlprefix); if url == "" { url = pta^.responderAttributes.urls^.profilesHome + "$"}; url = string.replace (url, "[[group]]", groupName); if useMap { Çlocal (usersMapKey = getUsersMapKey (adrmember)) local (usersMapKey = mainResponder.members.memberKeyToMappedKey (memberKey, groupName)); return ("<a href=\"" + url + usersMapKey + "\">" + name + "</a>")} else { return ("<a href=\"" + url + memberKey + "\">" + name + "</a>")}} else { return (obscureEmail (memberKey))}}; Çbundle //test code Çlocal (adrsite = @jaketest2ManilaWebsite) Çlocal (adrmembers = jaketest2Members) Çlocal (groupName = "jaketest2Members") Çlocal (memberKey = "ja...@us...") Çdialog.notify (linkToMember (groupName, memberKey, adrmembers:adrmembers)) \ No newline at end of file |