package org.openedit.entermedia.modules; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.openedit.data.Searcher; import com.openedit.WebPageRequest; import com.openedit.hittracker.HitTracker; import com.openedit.hittracker.SearchQuery; import com.openedit.modules.BaseModule; public class LDAPModule extends BaseModule { protected Log log = LogFactory.getLog(getClass()); public HitTracker searchUserAlias(WebPageRequest inReq) throws Exception { Searcher searcher = getSearcherManager().getSearcher(inReq.findValue("applicationid"), "ldap"); String querystring = inReq.getRequestParameter("value"); if(querystring == null) { return null; } SearchQuery query = searcher.createSearchQuery(); query.addMatches("uid", querystring); HitTracker results = searcher.search(query); inReq.putPageValue("results", results); return results; } public HitTracker searchEmails(WebPageRequest inReq) throws Exception { Searcher searcher = getSearcherManager().getSearcher(inReq.findValue("applicationid"), "ldap"); String querystring = inReq.getRequestParameter("q"); //get what comes after the last semicolon if(querystring == null) { return null; } int semicolon = querystring.lastIndexOf(";"); if (semicolon > -1) { String existingmail = querystring.substring(0, semicolon); inReq.putPageValue("existingmail", existingmail + "; "); querystring = querystring.substring(semicolon + 1); } else { inReq.putPageValue("existingmail", ""); } SearchQuery query = searcher.createSearchQuery(); query.addMatches("mail", querystring); HitTracker results = searcher.search(query); inReq.putPageValue("results", results); return results; } }