⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controlaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		}
		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 + -