📄 memberwebhandler.java
字号:
Collection result = query.getMemberResult();
if (offset > hitCount) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.offset_greater_than_total_rows");
throw new BadInputException(localizedMessage);
}
request.setAttribute("offset", new Integer(offset));
request.setAttribute("rows", new Integer(rows));
request.setAttribute("TotalMembers", new Integer(hitCount));
request.setAttribute("MemberBeans", result);
request.setAttribute("MemberName", memberNameKey);
request.setAttribute("MemberEmail", memberEmailKey); //strCompanyAddress);
request.setAttribute("DateOption", new Integer(searchDate)); //strCompanyCreationDate);
request.setAttribute("BeforeAfterOption", new Integer(searchBeforeAfter)); //strCompanyModifiedDate);
}
public void preparePermissionSummary(GenericRequest request )
throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureCanAdminSystem();
Collection authorizedMembers = DAOFactory.getMemberDAO().getAuthorizedMembers();
Collection forumsAuthorizedMembers = DAOFactory.getMemberDAO().getForumsAuthorizedMembers();
Collection distinctAuthorizedGroups = DAOFactory.getGroupPermissionDAO().getDistinctGroups();
Collection authorizedGroups = new ArrayList(distinctAuthorizedGroups.size());
for (Iterator iter = distinctAuthorizedGroups.iterator(); iter.hasNext(); ) {
GroupPermissionBean item = (GroupPermissionBean) iter.next();
GroupsBean groupBean = DAOFactory.getGroupsDAO().getGroup(item.getGroupID());
authorizedGroups.add(groupBean);
}
Collection distinctForumAuthorizedGroups = DAOFactory.getGroupForumDAO().getDistinctGroups();
Collection forumAuthorizedGroups = new ArrayList(distinctForumAuthorizedGroups.size());
for (Iterator iter = distinctForumAuthorizedGroups.iterator(); iter.hasNext(); ) {
GroupForumBean item = (GroupForumBean) iter.next();
GroupsBean groupBean = DAOFactory.getGroupsDAO().getGroup(item.getGroupID());
forumAuthorizedGroups.add(groupBean);
}
request.setAttribute("AuthorizedMembers", authorizedMembers);
request.setAttribute("ForumsAuthorizedMembers", forumsAuthorizedMembers);
request.setAttribute("AuthorizedGroups", authorizedGroups);
request.setAttribute("ForumAuthorizedGroups", forumAuthorizedGroups);
}
public void prepareViewPermission(GenericRequest request )
throws AuthenticationException, BadInputException, DatabaseException, AssertionException, ObjectNotFoundException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureCanAdminSystem();
int memberID = GenericParamUtil.getParameterInt(request, "memberid");
MemberBean member = null;
try {
member = DAOFactory.getMemberDAO().getMember_forPublic(memberID);
} catch (ObjectNotFoundException e) {
Locale locale = I18nUtil.getLocaleInRequest(request);
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object[] {new Integer(memberID)});
throw new ObjectNotFoundException(localizedMessage);
}
MVNForumPermission thisPermission = MVNForumPermissionFactory.getAuthenticatedPermission(memberID);
Collection groups = DAOFactory.getGroupsDAO().getMyGroups(memberID);
request.setAttribute("MemberBean", member);
request.setAttribute("MemberGroups", groups);
request.setAttribute("Permissions", thisPermission);
}
public void prepareChangePassword(GenericRequest request )
throws DatabaseException, AuthenticationException, AssertionException,
ObjectNotFoundException, BadInputException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureCanAdminSystem();
Locale locale = I18nUtil.getLocaleInRequest(request);
if ( ! MVNForumConfig.getEnableAdminCanChangePassword()) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.admin_can_change_password_is_disabled");
throw new AssertionException(localizedMessage);
//throw new AssertionException("Admin Cannot change the user password. This feature is disabled by administrator");
}
int memberID = GenericParamUtil.getParameterInt(request, "memberid");
if ( memberID == MVNForumConstant.MEMBER_ID_OF_ADMIN ) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_change_root_password");
throw new AssertionException(localizedMessage);
}
MemberBean memberBean = null;
try {
memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID);
} catch (ObjectNotFoundException e) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object[] {new Integer(memberID)});
throw new ObjectNotFoundException(localizedMessage);
}
request.setAttribute("MemberBean", memberBean);
}
public void processChangePassword(GenericRequest request )
throws DatabaseException, AuthenticationException, AssertionException,
ObjectNotFoundException, BadInputException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureCanAdminSystem();
Locale locale = I18nUtil.getLocaleInRequest(request);
if ( ! MVNForumConfig.getEnableAdminCanChangePassword()) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.admin_can_change_password_is_disabled");
throw new AssertionException(localizedMessage);
//throw new AssertionException("Admin Cannot change the user password. This feature is disabled by administrator");
}
int memberID = GenericParamUtil.getParameterInt(request, "memberid");
if ( memberID == MVNForumConstant.MEMBER_ID_OF_ADMIN ) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_change_root_password");
throw new AssertionException(localizedMessage);
}
// now check the password
MyUtil.ensureCorrectCurrentPassword(request);
String password = GenericParamUtil.getParameterPassword(request, "MemberMatkhau", 3, 0);
String confirmword = GenericParamUtil.getParameterPassword(request, "MemberMatkhauConfirm", 3, 0);
if (!password.equals(confirmword)) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.confirmed_password_is_not_match");
throw new BadInputException(localizedMessage);
//throw new BadInputException("Password and confirmed password are not the same, please try again.");
}
password = Encoder.getMD5_Base64(password);
try {
DAOFactory.getMemberDAO().updatePassword(memberID, password);
} catch (ObjectNotFoundException e) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object[] {new Integer(memberID)});
throw new ObjectNotFoundException(localizedMessage);
}
request.setAttribute("MemberID", new Integer(memberID));
}
public void prepareDeleteNonActivatedNoPostMembers(GenericRequest request)
throws DatabaseException, AuthenticationException,
AssertionException, BadInputException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureCanAdminSystem();
int days = GenericParamUtil.getParameterUnsignedInt(request, "days");
long delta = days * DateUtil.DAY;
Timestamp before = new Timestamp(DateUtil.getCurrentGMTTimestamp().getTime() - delta);
Collection members = DAOFactory.getMemberDAO().getNonActivatedNoPostMembers(before);
request.setAttribute("DeleteMembers", members);
}
public void processDeleteNonActivatedNoPostMembers(/*ServletContext context, */GenericRequest request)
throws DatabaseException, ObjectNotFoundException, BadInputException,
AuthenticationException, AssertionException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureCanAdminSystem();
Locale locale = I18nUtil.getLocaleInRequest(request);
// now check the password
MyUtil.ensureCorrectCurrentPassword(request);
int days = GenericParamUtil.getParameterUnsignedInt(request, "days");
boolean deleteMessages = GenericParamUtil.getParameterBoolean(request, "deletesentmessages");
long delta = days * DateUtil.DAY;
Timestamp before = new Timestamp(DateUtil.getCurrentGMTTimestamp().getTime() - delta);
Collection members = DAOFactory.getMemberDAO().getNonActivatedNoPostMembers(before);
int deletedMembersCount = 0;
for (Iterator iterator = members.iterator(); iterator.hasNext(); ) {
MemberBean member = (MemberBean) iterator.next();
if ((member.getMemberID() != 0) && ( MyUtil.isRootAdminID(member.getMemberID()) == false)) {
MemberWebHandler.deleteMember(member, deleteMessages,/* context */ request, locale);
deletedMembersCount++;
}
}
log.debug("Total: Deleted " + deletedMembersCount + " members");
request.setAttribute("DeletedMembersCount", new Integer(deletedMembersCount));
}
public static void deleteMember(MemberBean memberBean, boolean deleteSentMessages, /*ServletContext context*/ GenericRequest request, Locale locale)
throws DatabaseException, BadInputException, ObjectNotFoundException, AssertionException {
int memberID = memberBean.getMemberID();
if ((memberID==MVNForumConstant.MEMBER_ID_OF_ADMIN) ||
(memberID==0) ||
(memberID==MVNForumConstant.MEMBER_ID_OF_GUEST)) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_delete_admin_or_guest");
throw new BadInputException(localizedMessage);
//throw new BadInputException("Cannot delete default Admin and Guest users.");
}
// check in the MemberBean
if (memberBean.getMemberPostCount() > 0) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_delete_member_has_a_post");
throw new BadInputException(localizedMessage);
//throw new BadInputException("Cannot delete member that has posted at least one post.");
}
// Real checking in table post
if (DAOFactory.getPostDAO().getNumberOfPosts_inMember(memberID) > 0) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_delete_member_has_a_post");
throw new BadInputException(localizedMessage);
//throw new BadInputException("Cannot delete member that has posted at least one post.");
}
// first, we delete uploaded image if there is one
String memberName = memberBean.getMemberName();
log.info("About to delete member with login = " + memberName + " and id = " + memberID + " with option deleteSentMessages = " + deleteSentMessages);
StringBuffer bufferPicFile = new StringBuffer(256);
//bufferPicFile.append(context.getRealPath(MVNForumGlobal.UPLOADED_AVATAR_DIR));
bufferPicFile.append(request.getRealPath(MVNForumGlobal.UPLOADED_AVATAR_DIR));
bufferPicFile.append(File.separatorChar).append(memberName).append(".jpg");
String picFile = bufferPicFile.toString();
log.debug("Delete avatar = " + picFile);
File file = new File(picFile);
file.delete();// we dont need to check the returned value
//@todo delete table Post/Thread/Attachment if we support delete posted user
DAOFactory.getWatchDAO().delete_inMember(memberID);
DAOFactory.getMemberForumDAO().delete_inMember(memberID);
DAOFactory.getMemberGroupDAO().delete_inMember(memberID);
DAOFactory.getMemberPermissionDAO().delete_inMember(memberID);
DAOFactory.getFavoriteThreadDAO().delete_inMember(memberID);
//Delete message, attachmessage, folder, message statistics stuff
PrivateMessageUtil.deleteMessageFoldersInDatabase(memberID);
DAOFactory.getMessageStatisticsDAO().delete_inMember(memberID);
if (deleteSentMessages) {
DAOFactory.getMessageDAO().deleteSenderMessages(memberID);
}
//Delete company stuff
if (MVNForumConfig.getEnableCompany()) {
DAOFactory.getMemberCompanyDAO().delete_inMember(memberID);
DAOFactory.getMemberTutorDAO().deleteMembers_inTutor(memberID);
try {
DAOFactory.getMemberTutorDAO().delete(memberID);
} catch (ObjectNotFoundException ex) {
//ignore
}
}
//Delete in primary table
DAOFactory.getMemberDAO().deleteByPrimaryKey(memberID);
MemberIndexer.scheduleDeleteMemberTask(memberID);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -