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

📄 useraction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
					if (pers >= size) {
						session.removeAttribute("cresql");
						memberlist = null;
						String msg = "用户积分奖惩成功执行,并已通知相关用户。";
						request.setAttribute("resultInfo", msg);
						return mapping.findForward("result");
					} else {
						String msg = "发送论坛通知: 正在处理 从 " + beint + " 到 " + pers;
						beint = pers;
						request.setAttribute("successInfo", msg);
						request.setAttribute("requestPath",request.getContextPath()+ "/user.do?useraction=editCredit&updatecredittype=2&sendcreditsletter="+ sendcreditsletter+ "&subject=secends&message=secends&sendvia=pms&updatecreditsubmit=yes&pertask="+ perta + "&begin=" + beint);
						return mapping.findForward("success");
					}
				} else {
					session.removeAttribute("cresql");
					String msg = "用户积分奖惩成功执行,并已通知相关用户。";
					request.setAttribute("resultInfo", msg);
					return mapping.findForward("result");
				}
			}
		}
		session.removeAttribute("cresql");
		memberlist = null;
		String msg = "用户积分奖惩成功执行。";
		request.setAttribute("resultInfo", msg);
		return mapping.findForward("result");
	}
	@SuppressWarnings("unchecked")
	public ActionForward membersMerge(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String mergesubmit = request.getParameter("mergesubmit");
		if(mergesubmit==null){
			Common.requestforward(response, "admincp.jsp?action=membersmerge");
			return null;
		}
		HttpSession session = request.getSession();
		List<Members> sourceMembers = null;
		Members targetMember = null;
		String nameString = "";
		if ("yes".equals(request.getParameter("hasconfirmed"))) {
			sourceMembers = (List<Members>) session.getAttribute("sourceMembers");
			targetMember = (Members) session.getAttribute("targetMember");
			if(sourceMembers==null||targetMember==null){
				Common.requestforward(response, "admincp.jsp?action=membersmerge");
				return null;
			}
			session.removeAttribute("sourceMembers");
			session.removeAttribute("targetMember");
			for (Members member : sourceMembers) {
				memberServer.mergeMembers(member, targetMember);
				nameString += member.getUsername() + ",";
			}
			nameString = nameString.substring(0, nameString.length() - 1);
			request.setAttribute("resultInfo", "原用户 " + nameString+ " 已成功合并入新用户 " + targetMember.getUsername() + " 中。");
			return mapping.findForward("result");
		} else {
			String[] sourceNames = request.getParameterValues("sourcenames");
			String targetName = request.getParameter("targetname");
			sourceMembers = new ArrayList<Members>();
			targetMember = memberServer.findByName(targetName);
			boolean flag = false;
			for (int i = 0; i < sourceNames.length; i++) {
				if (!"".equals(sourceNames[i])) {
					nameString = nameString + sourceNames[i] + ",";
					Members member = memberServer.findByName(sourceNames[i]);
					if (member != null) {
						flag = true;
						if (member.getGroupid() == 1) {
							request.setAttribute("errorInfo","源用户中包含管理员身份会员,请首先将他的管理员身份解除后再进行合并操作,否则合并无法进行,请返回更改。");
							return mapping.findForward("error");
						} else if (member.getUsername().equals(targetName)) {
							request.setAttribute("errorInfo","对不起,原用户名不能与目标用户名相同,请返回修改。");
							return mapping.findForward("error");
						} else {
							sourceMembers.add(member);
						}
					} else {
						request.setAttribute("errorInfo","您没有输入要合并的用户名,或指定的用户不存在,请返回修改。");
						return mapping.findForward("error");
					}
				}
			}
			if (!nameString.equals("")) {
				nameString = nameString.substring(0, nameString.length() - 1);
			}
			if (!flag) {
				request.setAttribute("errorInfo","您没有输入要合并的用户名,或指定的用户不存在,请返回修改。");
				return mapping.findForward("error");
			}
			if (targetMember == null) {
				request.setAttribute("errorInfo","您没有输入要合并的用户名,或指定的用户不存在,请返回修改。");
				return mapping.findForward("error");
			}
			session.setAttribute("sourceMembers", sourceMembers);
			session.setAttribute("targetMember", targetMember);
			request.setAttribute("otherInfo", "<input type='hidden' name='mergesubmit' value='yes'>");
			request.setAttribute("confirmInfo", "本操作不可恢复,您确定将 " + nameString+ " 及其发表、拥有的全部资料转移到 " + targetName + " 中并删除 " + nameString+ " 吗?");
			request.setAttribute("commitPath", request.getContextPath()+ "/user.do?useraction=membersMerge");
			return mapping.findForward("confirm");
		}
	}

	@SuppressWarnings("unused")
	public ActionForward banIp(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = request.getSession();
		Members members = (Members) session.getAttribute("members");
		boolean isAdmin = false;
		if (members != null) {
			if (1 == members.getAdminid()) {
				isAdmin = true;
			}
		}
		String init = request.getParameter("init");
		String ipbansubmit = request.getParameter("ipbansubmit");
		String ip1 = request.getParameter("ip1new");
		String ip2 = request.getParameter("ip2new");
		String ip3 = request.getParameter("ip3new");
		String ip4 = request.getParameter("ip4new");
		String validitynew = request.getParameter("validitynew");
		String[] delids = request.getParameterValues("delid");
		if (ipbansubmit==null || (init != null && "yes".equals(init))) {
			List<Banned> bannedList = bannedServer.findAllBanned();
			IPSeeker seeker = IPSeeker.getInstance();
			HashMap<Banned, String> res = new HashMap<Banned, String>();
			for (Banned baned : bannedList) {
				String address = seeker.getAddress(baned.getIp1() + "."+ baned.getIp2() + "." + baned.getIp3() + "."+ baned.getIp4());
				res.put(baned, address);
			}
			request.setAttribute("bannedList", res);
			return mapping.findForward("banIp");
		}
		update: {
			String[] ids = request.getParameterValues("bannedid");
			if (ids != null) {
				Banned banned = null;
				for (int i = 0; i < ids.length; i++) {
					String expiration = request.getParameter("expiration["+ ids[i] + "]");
					if (expiration != null && Common.datecheck(expiration)) {
						expiration = Common.dataToInteger(expiration.trim(),"yyyy-MM-dd")+"";
						if(Common.toDigit(expiration)>0){
							dataBaseService.runQuery("update jrun_banned set expiration='"+ expiration+ "' where id=" + ids[i].trim(), true);
						}else{
							dataBaseService.runQuery("delete from jrun_banned where id=" + ids[i].trim(), true);
						}
					}
				}
			}
		}
		if (delids != null && delids.length != 0) {
			for (String id : delids) {
				dataBaseService.runQuery("delete from jrun_banned where id="+ id, true);
			}
		}
		if (validitynew != null && validitynew.matches("\\d+") && ip1 != null&& ip1.matches("(\\d{1,3})|\\*") && ip2 != null&& ip2.matches("(\\d{1,3})|\\*") && ip3 != null&& ip3.matches("(\\d{1,3})|\\*") && ip4 != null&& ip4.matches("(\\d{1,3})|\\*")) {
			if (!isAdmin && (ip1 + ip2 + ip3 + ip4).contains("*")) {
				request.setAttribute("errorInfo", "只有管理员可以使用“*”通配符,请返回。");
				return mapping.findForward("error");
			}
			int days = Common.toDigit(request.getParameter("validitynew").trim());
			if(days>9125){
				days = 9125;
			}
			int timestamp = (Integer)(request.getAttribute("timestamp"));
			int expiration = timestamp+days*86400;
			ip1 = ip1.replace("*", "-1");
			ip2 = ip2.replace("*", "-1");
			ip3 = ip3.replace("*", "-1");
			ip4 = ip4.replace("*", "-1");
			dataBaseService.runQuery("insert into jrun_banned(ip1,ip2,ip3,ip4,admin,dateline,expiration)values('"+ ip1 + "','" + ip2 + "','" + ip3 + "','" + ip4+ "','" + members.getUsername() + "','" + timestamp+ "','" + expiration + "')", true);
		}
		request.setAttribute("successInfo", "IP 禁止列表成功更新。");
		request.setAttribute("requestPath", "admincp.jsp?action=ipban");
		return mapping.findForward("success");
	}
	@SuppressWarnings("unchecked")
	public ActionForward banMember(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String bansubmit = request.getParameter("bansubmit");
		if(bansubmit==null){
			Common.requestforward(response, "admincp.jsp?action=banmember");
			return null;
		}
		String type = request.getParameter("type");
		String userName = request.getParameter("username");
		String banExpiry = request.getParameter("banexpiry");
		String delpost = request.getParameter("delpost");
		String reason = request.getParameter("reason");
		if (reason == null || reason.equals("")) {
			request.setAttribute("errorInfo", "您没有输入执行此变更的理由,请返回修改。");
			return mapping.findForward("error");
		}
		String groupidnew = "";
		HttpSession session = request.getSession();
		Members members = (Members) session.getAttribute("members");
		ServletContext context = session.getServletContext();
		boolean iswritlog = false;
		Map<String,String> settings = (Map<String,String>)context.getAttribute("fsmap");
		if (type != null && !"".equals(type) && userName != null&& !"".equals(userName) && banExpiry != null&& banExpiry.matches("\\d+")) {
			Members member = memberServer.findByName(userName);
			if (member != null) {
				int timestamp = (Integer)(request.getAttribute("timestamp"));
				int times = timestamp;
				timestamp = timestamp+Integer.parseInt(banExpiry)*86400;
				String groupId = member.getGroupid()+"";
				List<Map<String,String>> usergroup = dataBaseService.executeQuery("select type from jrun_usergroups where groupid="+member.getGroupid());
				int adminid = member.getAdminid();
				if (usergroup.size()>0 && members.getAdminid()!=1 && members.getAdminid()!=2 && ((usergroup.get(0).get("type").equals("system") && (groupId.equals("1")||groupId.equals("2")||groupId.equals("3")||groupId.equals("6")||groupId.equals("7")||groupId.equals("8")))||usergroup.get(0).get("type").equals("special"))) {
					request.setAttribute("errorInfo", "您不能编辑特殊用户,请返回。");
					return mapping.findForward("error");
				}
				if(adminid>0 && adminid<members.getAdminid()){
					request.setAttribute("errorInfo", "您不能编辑特殊用户,请返回。");
					return mapping.findForward("error");
				}
				String groupGroumes = "";
				HashMap usergroupmap = new HashMap();
				if (member != null) {
					Memberfields memberfields = memberServer.findMemberfieldsById(member.getUid());
					if (memberfields == null) {
						memberfields = new Memberfields();
						memberfields.setUid(member.getUid());
						memberfields.setBio("");
						memberfields.setSightml("");
						memberfields.setIgnorepm("");
						memberfields.setSpacename("");
						memberfields.setGroupterms("");
					}
					groupGroumes = memberfields.getGroupterms();
					if ("resume".equals(type)&&(member.getGroupid()==4||member.getGroupid()==5)) {
						iswritlog = true;
						List<Map<String, String>> list = dataBaseService.executeQuery("select groupid FROM jrun_usergroups as u WHERE u.type='member' AND u.creditshigher='0' OR (u.groupid NOT IN ('5', '6', '7') AND u.radminid<>'1' AND u.type<>'member') ORDER BY u.type DESC");
						groupidnew = list.size() > 0 ? list.get(0).get("groupid") : "10";
						if (!groupGroumes.equals("")) {
							Map temmap = dataParse.characterParse(groupGroumes,false);
							if (temmap.get("main") != null) {
								Map mapMap = (Map) temmap.get("main");
								String adminids = (String) (mapMap.get("adminid") == null ? "0" : mapMap.get("adminid"));
								String groupids = (String) (mapMap.get("groupid") == null ? "10" : mapMap.get("groupid"));
									if (mapMap.get("adminid") != null) {
										member.setAdminid(Byte.valueOf(adminids));
									}
									if (mapMap.get("groupid") != null

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -