![]() |
UserModel.findByName = SELECT user_id, username, user_email, user_regdate, user_posts, deleted \
FROM jforum_users \
WHERE UPPER(u.username) \
LIKE UPPER(?)
public List findByName(String input, boolean exactMatch)
{
List namesList = new ArrayList();
PreparedStatement p = null;
ResultSet rs = null;
try {
p = JForumExecutionContext.getConnection().prepareStatement(SystemGlobals.getSql("UserModel.findByName"));
p.setString(1, exactMatch ? input : "%" + input + "%");
rs = p.executeQuery();
while (rs.next()) {
User u = new User();
u.setId(rs.getInt("user_id"));
u.setUsername(rs.getString("username"));
u.setColor(rs.getString("group_color"));
u.setEmail(rs.getString("user_email"));
u.setRegistrationDate(new Date(rs.getTimestamp("user_regdate").getTime()));
u.setTotalPosts(rs.getInt("user_posts"));
u.setDeleted(rs.getInt("deleted"));
namesList.add(u);
}
return namesList;
}
catch (SQLException e) {
throw new DatabaseException(e);
}
finally {
DbUtils.close(rs, p);
}
}
private void commonData()
{
this.setTemplateName(TemplateKeys.USER_LIST);
}
public void search()
{
String search = this.request.getParameter("username");
if (search != null && !"".equals(search)) {
List users;
users = DataAccessDriver.getInstance().newUserDAO().findByName(search, false);
this.commonData();
this.context.put("users", users);
this.context.put("search", search);
}
else {
this.list();
}
}
<table width="100%">
<tr>
<td class="gen" align="center">
<form id="formusersearch" action="${JForumContext.encodeURL("/jforum")}" accept-charset="${encoding}" method="post">
<span class="gensmall">
${I18n.getMessage("User.searchByUsername")}:
<input type="hidden" name="action" value="search" />
<input type="hidden" name="module" value="${moduleName}" />
<input type="text" name="username" value="${search?default("")}" />
<input type="submit" value="${I18n.getMessage("ForumBase.search")}" class="mainoption"/>
</form>
</td>
</tr>
</table>