MemberMgr.searchUser (key)
function searches for users using part of username

  • Parameter String:
    Part of username or email-address
  • Returns
    Obj Object containing four properties: - error (boolean): true if error happened, false if everything went fine - message (String): containing a message to user - found (Int): number of users found - list (String): rendered list of users found
Sourcecode in MemberMgr/objectFunctions.js:
1:   function searchUser(key) {
2:      var dbConn = getDBConnection("antville");
3:      var dbError = dbConn.getLastError();
4:      if (dbError)
5:         throw new Exception("database", dbError);
6:      var query = "select USER_NAME,USER_URL from AV_USER ";
7:      query += "where USER_NAME like '%" + key + "%' order by USER_NAME asc";
8:      var searchResult = dbConn.executeRetrieval(query);
9:      var dbError = dbConn.getLastError();
10:     if (dbError)
11:        throw new Exception("database", dbError);
12:     var found = 0;
13:     res.push();
14:     while (searchResult.next() && found < 100) {
15:        var name = searchResult.getColumnItem("USER_NAME");
16:        var url = searchResult.getColumnItem("USER_URL");
17:        // do nothing if the user is already a member
18:        if (this.get(name))
19:           continue;
20:        var sp = {name: name,
21:                  description: (url ? Html.linkAsString({href: url}, url) : null)};
22:        this.renderSkin("searchresultitem", sp);
23:        found++;
24:     }
25:     dbConn.release();
26:     switch (found) {
27:        case 0:
28:           throw new Exception("resultNoUser");
29:        case 1:
30:           return new Message("resultOneUser", null, res.pop());
31:        case 100:
32:           return new Message("resultTooManyUsers", null, res.pop());
33:        default:
34:           return new Message("resultManyUsers", found, res.pop());
35:     }
36:  }