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: }
|