📄 controlaction.java
字号:
}
profilelist = null;
String[] userdateformats = settings.get("userdateformat").split("\n");
request.setAttribute("userdateformats", userdateformats);
request.setAttribute("requiredfile", requiredfile);
request.setAttribute("profilelist", resultfile);
return mapping.findForward("touserinfo");
}
@SuppressWarnings({ "unchecked", "static-access" })
public ActionForward editInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
FileUploadForm fileUploadForm = (FileUploadForm) form;
HttpSession session = request.getSession();
boolean isfastsuccess = Common.isshowsuccess(session, "profile_succeed");
int uid = (Integer) session.getAttribute("jsprun_uid");
String typeid = request.getParameter("typeid");
Map<String, String> settings = (Map<String, String>) request.getAttribute("settings");
Map<String, String> usergroups = (Map<String, String>)request.getAttribute("usergroups");
Members member = (Members)session.getAttribute("user");
Memberfields memberfields = memberService.findMemberfieldsById(uid);
String seccodeverify = request.getParameter("seccodeverify");
Map seccodedata =((DataParse) BeanFactory.getBean("dataParse")).characterParse(userServer.findSettingByVariable("seccodedata").getValue(), false);
int minposts = Common.toDigit(String.valueOf(seccodedata.get("minposts")),1000000000L, 0L).intValue();
int seccodestatus = Common.toDigit(userServer.findSettingByVariable("seccodestatus").getValue(), 255L, 0L).intValue();
boolean seccodecheck = (seccodestatus & 16) > 0&& (minposts <= 0 || member.getPosts() < minposts);
if (seccodecheck) {
if (!seccodeverify.equals(request.getSession().getAttribute("rand"))) {
request.setAttribute("errorInfo", "您输入的验证码不正确,无法提交,请返回修改。");
return mapping.findForward("showMessage");
}
}
if (typeid.equals("1")) {
String oldpassword = request.getParameter("oldpassword");
String newpassword = request.getParameter("newpassword");
String newpassword2 = request.getParameter("newpassword2");
String email = request.getParameter("emailnew");
String questionidnew = request.getParameter("questionidnew");
String answernew = request.getParameter("answernew");
answernew = answernew == null ? "" : answernew;
String errormessage = "";
String admincp_forcesecques = settings.get("admincp_forcesecques");
if("1".equals(admincp_forcesecques)){
if (!questionidnew.equals("-1")&&(questionidnew.equals("0") || answernew.equals(""))) {
request.setAttribute("errorInfo", "作为管理者之一,您需要填写安全提问和答案以保障论坛的安全,请返回。");
return mapping.findForward("showMessage");
}
}
String oldpass = Md5Token.getInstance().getLongToken(oldpassword);
if (!oldpass.equals(member.getPassword())) {
errormessage = "原密码不正确,您不能修改密码或Email或安全提问,请返回。";
} else if (!newpassword.equals(newpassword2)) {
errormessage = "两次输入的密码不一致,请返回检查后重试。";
} else if (!FormDataCheck.isValueEmail(email)) {
errormessage = "Email 地址无效或包含不可使用的邮箱域名,请返回重新填写。";
} else {
if(newpassword!=null && !newpassword.equals("")){
String newpass = Md5Token.getInstance().getLongToken(newpassword);
member.setPassword(newpass);
}
member.setEmail(email);
if (!questionidnew.equals("-1")) {
if (questionidnew.equals("0") || answernew.equals("")) {
member.setSecques("");
} else {
String quers = Common.quescrypt(convertInt(questionidnew), answernew);
member.setSecques(quers);
}
}
memberService.modifyMember(member);
if(newpassword!=null && !newpassword.equals("")){
CookieUtil.clearCookies(request, response, settings);
}
if(isfastsuccess){
Common.requestforward(response, "memcp.jsp?action=profile&typeid=1");
return null;
}else{
request.setAttribute("successInfo", "个人资料已成功保存。");
request.setAttribute("requestPath","memcp.jsp?action=profile&typeid=1");
return mapping.findForward("showMessage");
}
}
request.setAttribute("errorInfo", errormessage);
return mapping.findForward("showMessage");
} else if (typeid.equals("2")) {
String nicknamenew = request.getParameter("nicknamenew");
String cstatusnew = request.getParameter("cstatusnew");
String gendernew = request.getParameter("gendernew");
String bdaynew = request.getParameter("bdaynew");
String locationnew = request.getParameter("locationnew");
String sitenew = request.getParameter("sitenew");
String qqnew = request.getParameter("qqnew");
String icqnew = request.getParameter("icqnew");
String yahoonew = request.getParameter("yahoonew");
String msnnew = request.getParameter("msnnew");
String taobaonew = request.getParameter("taobaonew");
String alipaynew = request.getParameter("alipaynew");
bdaynew = bdaynew == null ? "" : bdaynew;
gendernew = gendernew==null?"0":gendernew;
nicknamenew = nicknamenew == null ? "" : nicknamenew;
cstatusnew = cstatusnew == null ? "" : cstatusnew;
locationnew = locationnew == null ? "" : locationnew;
sitenew = sitenew == null ? "" : sitenew;
qqnew = qqnew == null ? "" : qqnew;
icqnew = icqnew == null ? "" : icqnew;
yahoonew = yahoonew == null ? "" : yahoonew;
msnnew = msnnew == null ? "" : msnnew;
taobaonew = taobaonew == null ? "" : taobaonew;
alipaynew = alipaynew == null ? "" : alipaynew;
String censoruser = settings.get("censoruser");
if(!nicknamenew.equals("") && Common.censoruser(nicknamenew, censoruser)){
request.setAttribute("errorInfo", "昵称或自定义头衔包含敏感字符或被系统屏蔽,请返回重新填写。");
return mapping.findForward("showMessage");
}
if(!cstatusnew.equals("")&&Common.censoruser(cstatusnew, censoruser)){
request.setAttribute("errorInfo", "昵称或自定义头衔包含敏感字符或被系统屏蔽,请返回重新填写。");
return mapping.findForward("showMessage");
}
if (!"".equals(msnnew) && !Common.isEmail(msnnew)) {
request.setAttribute("errorInfo", "MSN账号无效,请返回重新填写。");
return mapping.findForward("showMessage");
}
qqnew = qqnew.matches("^\\d{5,12}$") ? qqnew: "";
icqnew = icqnew.matches("^\\d{5,12}$") ? icqnew: "";
alipaynew = alipaynew.matches("^\\d{5,12}$") ? alipaynew: "";
bdaynew = Common.datecheck(bdaynew) ? Common.dateformat(bdaynew): "1990-01-01";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
try {
member.setBday(sf.parse(bdaynew));
} catch (ParseException e) {
e.printStackTrace();
}
member.setGender(Byte.valueOf(gendernew));
memberfields.setNickname(nicknamenew);
memberfields.setCustomstatus(cstatusnew);
memberfields.setLocation(locationnew);
memberfields.setSite(sitenew);
memberfields.setQq(qqnew);
memberfields.setIcq(icqnew);
memberfields.setYahoo(yahoonew);
memberfields.setMsn(msnnew);
memberfields.setTaobao(taobaonew);
memberfields.setAlipay(alipaynew);
memberService.modifyMember(member);
memberService.modifyMemberfields(memberfields);
if(isfastsuccess){
Common.requestforward(response, "memcp.jsp?action=profile&typeid=2");
return null;
}else{
request.setAttribute("successInfo", "个人资料已成功保存。");
request.setAttribute("requestPath","memcp.jsp?action=profile&typeid=2");
return mapping.findForward("showMessage");
}
} else if (typeid.equals("4")) {
String bionew = request.getParameter("bionew");
String biotradenew = request.getParameter("biotradenew");
String signaturenew = request.getParameter("signaturenew");
String urlavatar = request.getParameter("urlavatar");
String avatarwidthnew = request.getParameter("avatarwidthnew");
String avatarheightnew = request.getParameter("avatarheightnew");
String customavatar = request.getParameter("customavatarnew");
bionew = bionew == null ? "" : Common.dhtmlspecialchars(bionew);
biotradenew = biotradenew == null ? "" : Common.dhtmlspecialchars(biotradenew);
signaturenew = signaturenew == null ? "" : Common.dhtmlspecialchars(signaturenew);
FormFile src = fileUploadForm.getCustomavatar();
String errormessage = "";
if (src!=null && src.getFileSize()>0) {
String maxavatarpixel = settings.get("maxavatarpixel");
String maxavatarsize = settings.get("maxavatarsize");
if (!"0".equals(maxavatarsize) && src.getFileSize() > convertInt(maxavatarsize)) {
errormessage = "您设置的头像超过 " + maxavatarsize + " 字节大小,请返回修改。";
} else {
try {
if (customavatar.matches(".*\\.(jpg|jpeg|gif|bmp)$")) {
String type = customavatar.substring(customavatar.lastIndexOf("."));
String targetName = "customavatars/" + uid + "."+ type;
String realPath=servlet.getServletContext().getRealPath("/");
Common.uploadFile(src, realPath+targetName);
memberfields.setAvatar(targetName);
Image srcImg = ImageIO.read(new File(servlet.getServletContext().getRealPath("/")+targetName));
int width = srcImg.getWidth(null);
int height = srcImg.getHeight(null);
if (width > convertInt(maxavatarpixel)) {
memberfields.setAvatarwidth(Short.valueOf(maxavatarpixel));
} else {
memberfields.setAvatarwidth(Short.valueOf(width+ ""));
}
if (height > convertInt(maxavatarpixel)) {
memberfields.setAvatarheight(Short
.valueOf(maxavatarpixel));
} else {
memberfields.setAvatarheight(Short.valueOf(height + ""));
}
} else {
errormessage = "您设置的头像类型无效,请返回修改。";
}
} catch (IOException e) {
e.printStackTrace();
}
}
} else if (urlavatar != null && !urlavatar.equals("")) {
if ((!Common.matches(urlavatar, "^(images\\/avatars\\/.+?)$") && !Common.matches(urlavatar, "^(http:\\/\\/.+?)$")) && !Common.matches(urlavatar,"^(customavatars\\/.+?)$")) {
errormessage = "您设置的头像类型无效,请返回修改。";
} else {
int width = convertInt(avatarwidthnew);
int heitht = convertInt(avatarheightnew);
if (width != 0 && heitht != 0) {
if(width>255){
width=255;
}
if(heitht>255){
heitht=255;
}
memberfields.setAvatar(urlavatar);
memberfields.setAvatarwidth(Short.valueOf(width + ""));
memberfields.setAvatarheight(Short.valueOf(heitht + ""));
}
}
}else{
memberfields.setAvatar("");
memberfields.setAvatarwidth(Short.valueOf("0"));
memberfields.setAvatarheight(Short.valueOf("0"));
}
String maxbiosize = usergroups.get("maxbiosize");
if (maxbiosize.equals("0")) {
maxbiosize = "200";
}
if (bionew.length() > convertInt(maxbiosize)) {
errormessage = "您的自我介绍长度超过" + maxbiosize + "字符的限制,请返回修改。";
}
memberfields.setBio(bionew + "\t" + biotradenew);
String maxsigsize = usergroups.get("maxsigsize");
if(signaturenew.length()>convertInt(maxsigsize)){
errormessage = "您的自我介绍长度超过" + maxbiosize + "字符的限制,请返回修改。";
}
List<Map<String,String>> wordlist = dataBaseService.executeQuery("select * from jrun_words", new String[]{"find","replacement"});
if(wordlist!=null && wordlist.size()>0){
for(Map<String,String> word :wordlist){
if(Common.matches(signaturenew,word.get("find"))){
if(word.get("replacement").equals("{BANNED}")){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -