📄 memberwebhandler.java
字号:
String serverName = ParamUtil.getServerPath();//ParamUtil.getServer2(request);
SendMailUtil.sendActivationCodeEmail(memberID, serverName);
}
}
public void processUpdatePassword(GenericRequest request)
throws BadInputException, ObjectNotFoundException, DatabaseException,
AuthenticationException, AssertionException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
int memberID = onlineUser.getMemberID();
Locale locale = I18nUtil.getLocaleInRequest(request);
// now check the password
MyUtil.ensureCorrectCurrentPassword(request);
/*
// NOTE: that we dont use getParameterPassword here since it will not forward-compatible
String memberOldPassword = GenericParamUtil.getParameter(request, "MemberOldMatkhau", true);
String oldEncodedPassword = Encoder.getMD5_Base64(memberOldPassword);
String currentPassword = DAOFactory.getMemberDAO().getPassword(memberID);
if (!currentPassword.equals(oldEncodedPassword)) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.wrong_password");
throw new BadInputException(localizedMessage);
//throw new BadInputException("You have typed the wrong current password, please try again.");
}*/
// column(s) to update
String memberPassword1 = GenericParamUtil.getParameterPassword(request, "MemberMatkhau", 3, 0);
String memberPassword2 = GenericParamUtil.getParameterPassword(request, "MemberMatkhauConfirm", 3, 0);
if (!memberPassword1.equals(memberPassword2)) {
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.");
}
String memberPassword = Encoder.getMD5_Base64(memberPassword1);
String currentPassword = DAOFactory.getMemberDAO().getPassword(memberID);
if (currentPassword.equals(memberPassword)) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.old_password_and_new_password_cannot_equal");
throw new BadInputException(localizedMessage);
//throw new BadInputException("Old password and new password cannot equal, please try again.");
}
DAOFactory.getMemberDAO().updatePassword(memberID, // primary key
memberPassword);
}
public void prepareView_forCurrentMember(GenericRequest request)
throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
// always update the number of new private message count in this case
onlineUser.updateNewMessageCount(true);
int memberID = onlineUser.getMemberID();
MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forViewCurrentMember(memberID);
request.setAttribute("MemberBean", memberBean);
}
public void prepareEdit_forCurrentMember(GenericRequest request)
throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
int memberID = onlineUser.getMemberID();
MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forEditCurrentMember(memberID);
request.setAttribute("MemberBean", memberBean);
}
/*
* @todo: use new method of WebHelper
*/
public void prepareEditSignature(GenericRequest request)
throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
boolean isPreviewing = GenericParamUtil.getParameterBoolean(request, "preview");
if (isPreviewing) {
String signature = GenericParamUtil.getParameter(request, "MemberSignature");
if (signature.length() > 250) {
signature = signature.substring(0, 250);// ensure no more than 250 char (should check in javascript ??)
}
request.setAttribute("MemberSignature", signature);
} else {
int memberID = onlineUser.getMemberID();
MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forViewCurrentMember(memberID);
request.setAttribute("MemberSignature", memberBean.getMemberSignature());
}
}
public void processUpdateSignature(GenericRequest request, GenericResponse response)
throws ObjectNotFoundException, DatabaseException, AuthenticationException, AssertionException {
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
MyUtil.saveVNTyperMode(request, response);
int memberID = onlineUser.getMemberID();
// column(s) to update
String memberSignature = GenericParamUtil.getParameter(request, "MemberSignature");
memberSignature = DisableHtmlTagFilter.filter(memberSignature);
DAOFactory.getMemberDAO().updateSignature(memberID, // primary key
memberSignature);
}
/*
* @todo: use new method of WebHelper
*/
public void prepareEditAvatar(GenericRequest request)
throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException {
Locale locale = I18nUtil.getLocaleInRequest(request);
if (MVNForumConfig.getEnableAvatar() == false) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.avatar_is_disabled");
throw new AssertionException(localizedMessage);
//throw new AssertionException("Cannot use avatar because AVATAR feature is disabled by administrator.");
}
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
permission.ensureCanUseAvatar();
int memberID = onlineUser.getMemberID();
MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forViewCurrentMember(memberID);
request.setAttribute("MemberBean", memberBean);
}
/**
* Change picture from our predefined picture
* NOTE: this method will delete uploaded image (if any) of the member
*/
public void updateMemberAvatar(GenericRequest request)
throws ObjectNotFoundException, DatabaseException, AuthenticationException, AssertionException {
if (MVNForumConfig.getEnableAvatar() == false) {
throw new AssertionException("Cannot use avatar because AVATAR feature is disabled by administrator.");
}
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
permission.ensureCanUseAvatar();
int memberID = onlineUser.getMemberID();
// first, we delete uploaded image if there is one
/*StringBuffer bufferPicFile = new StringBuffer(128);
bufferPicFile.append(MVNForumConfig.getAvatarDir());
bufferPicFile.append(File.separatorChar).append(memberName).append(".jpg");
String picFile = bufferPicFile.toString();
log.trace("Delete avatar = " + picFile);
log.trace("String length = " + picFile.length());
File file = new File(picFile);
file.delete();// we dont need to check the returned value
*/
BinaryStorage binaryStorage = ManagerFactory.getBinaryStorage();
try {
binaryStorage.deleteData(BinaryStorage.CATEGORY_AVATAR, String.valueOf(memberID), null);
} catch (IOException e) {
log.error("Cannot delete avatar.", e);
}
// then we update the database with new one
String memberPicture = GenericParamUtil.getParameter(request, "MemberAvatar");
DAOFactory.getMemberDAO().updateAvatar(memberID, memberPicture);
}
/**
* upload user own avatar
*/
public void uploadAvatar(javax.servlet.ServletConfig config, GenericRequest request)
throws BadInputException, AuthenticationException, IOException,
AssertionException, ObjectNotFoundException, DatabaseException {
Locale locale = I18nUtil.getLocaleInRequest(request);
if (MVNForumConfig.getEnableAvatar() == false) {
String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.avatar_is_disabled");
throw new AssertionException(localizedMessage);
//throw new AssertionException("Cannot use avatar because AVATAR feature is disabled by administrator.");
}
OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
MVNForumPermission permission = onlineUser.getPermission();
permission.ensureIsAuthenticated();
permission.ensureCanUseAvatar();
int memberID = onlineUser.getMemberID();
String memberName = onlineUser.getMemberName();
int sizeMax = 60000; // 60KB
int sizeThreshold = 100000;// max memory used = 100K (more than needed)
List fileItems;
try {
FileUploadParser uploadParser = FileUploadParserFactory.getFileUploadParser();
fileItems = uploadParser.parseRequest(request, sizeMax, sizeThreshold, null, "UTF-8");
} catch (FileUploadException ex) {
log.error("Cannot upload", ex);
String localizedMessage = MVNForumResourceBundle.getString(locale, "java.io.IOException.cannot_upload", new Object[] {ex.getMessage()});
throw new IOException(localizedMessage);
//throw new IOException("Cannot upload. Detailed reason: " + ex.getMessage());
}
// make sure only one file upload
int fileUploadCount = 0;
FileItem myFile = null;
for ( int i = 0 ; i < fileItems.size(); i++ ) {
myFile = (FileItem)fileItems.get(i);
if (!myFile.isFormField()) {
break;
//maybe we don't care about throws an AssertionException so comment this
//fileUploadCount++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -