Revision: 1865
Author: [email protected]
Date: Fri Mar  5 09:53:51 2010
Log: Only display obfuscated version of email address to prevent bot harvesting. (fixes issue 257)

new review
update issue 257
Implemented using ' [at] ' for @ and replacing all dots with 3 dots. (example: [email protected] -> mjackson [at] apache...org)

http://code.google.com/p/simal/source/detail?r=1865

Modified:
/trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/markup/html/list/InternetAddressListView.java /trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/panel/PersonListPanel.java

=======================================
--- /trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/markup/html/list/InternetAddressListView.java Thu May 21 13:47:54 2009 +++ /trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/markup/html/list/InternetAddressListView.java Fri Mar 5 09:53:51 2010
@@ -58,8 +58,8 @@
    */
   protected void populateItem(ListItem<IInternetAddress> listItem) {
final IInternetAddress addr = (IInternetAddress) listItem.getModelObject(); - ExternalLink externalLink = new ExternalLink("linkURL", addr.getAddress());
-    String href = addr.getLabel();
+ ExternalLink externalLink = new ExternalLink("linkURL", addr.getObfuscatedAddress());
+    String href = addr.getObfuscatedAddress();
     if (href.startsWith("mailto")) {
        href = href.substring(7);
     }
=======================================
--- /trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/panel/PersonListPanel.java Tue Feb 16 10:06:22 2010 +++ /trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/panel/PersonListPanel.java Fri Mar 5 09:53:51 2010
@@ -28,7 +28,6 @@
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.markup.html.link.ExternalLink;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.model.CompoundPropertyModel;
@@ -128,36 +127,36 @@
   @SuppressWarnings("unchecked")
 private void addPersonList(Set<IPerson> people, int numberOfPeople) {
     List<AbstractColumn> columns = new ArrayList<AbstractColumn>();
- columns.add(new NameLinkPropertyColumn(new Model("Name"), "label", "label"));
-
-    columns.add(new PropertyColumn(new Model("EMail"), "email", "email") {
-               private static final long serialVersionUID = 1L;
-
-               @Override
- public void populateItem(Item cellItem, String componentId, IModel model) { - Iterator<IInternetAddress> emails = ((IPerson)model.getObject()).getEmail().iterator();
-               if (emails.hasNext()) {
-                       while (emails.hasNext()) {
-                               IInternetAddress email = emails.next();
-                               String label = email.getLabel();
-                               if (label.startsWith("mailto:";)) {
-                                       label = label.substring(7);
-                               }
-                       ExternalLink link = new ExternalLink(componentId,
-                         email.getAddress(),
-                         label);
-
-                       cellItem.add(link);
-                       break;
-                       }
-               } else {
-                       cellItem.add(new Label(componentId, ""));
-               }
-               }
-    });
-
- columns.add(new ProjectsPropertyColumn(new Model("Project"), "projects", "projects"));
-
+    columns
+ .add(new NameLinkPropertyColumn(new Model("Name"), "label", "label"));
+
+    columns.add(new PropertyColumn(new Model("Email"), "email",
+        "email") {
+      private static final long serialVersionUID = 1L;
+
+      @Override
+ public void populateItem(Item cellItem, String componentId, IModel model) {
+        Iterator<IInternetAddress> emails = ((IPerson) model.getObject())
+            .getEmail().iterator();
+        if (emails.hasNext()) {
+          while (emails.hasNext()) {
+            IInternetAddress email = emails.next();
+            String label = email.getObfuscatedAddress();
+            if (label.startsWith("mailto:";)) {
+              label = label.substring(7);
+            }
+            cellItem.add(new Label(componentId, label));
+            break;
+          }
+        } else {
+          cellItem.add(new Label(componentId, ""));
+        }
+      }
+    });
+
+ columns.add(new ProjectsPropertyColumn(new Model("Project"), "projects",
+        "projects"));
+
     dataProvider = new SortablePersonDataProvider(people);
dataProvider.setSort(SortablePersonDataProvider.SORT_PROPERTY_LABEL, true); add(new AjaxFallbackDefaultDataTable("dataTable", columns, dataProvider, numberOfPeople));

--
You received this message because you are subscribed to the Google Groups "Simal 
Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/simal-commits?hl=en.

Reply via email to