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

📄 useraction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			} catch (Exception e) {
				e.printStackTrace();
			}
			idList = null;
			groupTitleList = null;
			starsList = null;
			colorList = null;
			groupAvatarList = null;
			request.setAttribute("successInfo", "用户组成功更新。如您添加了新的用户组,<br>请不要忘记修改其相应的权限设置。");
			request.setAttribute("requestPath", "admincp.jsp?action=usergroups");
			return mapping.findForward("success");
		} else if (groupsubmit!=null && type != null && "system".equals(type)) {
			String[] groupTitles = request.getParameterValues("grouptitle");
			String[] starses = request.getParameterValues("stars");
			String[] colors = request.getParameterValues("color");
			String[] groupAvatars = request.getParameterValues("groupavatar");
			int updateLength = groupTitles.length;
			for (int i = 0; i < updateLength; i++) {
				short star = Common.toDigit(starses[i], 100000L, 0L).shortValue();
				dataBaseService.runQuery("update jrun_usergroups set grouptitle='"+ groupTitles[i] + "',stars=" + star+ ",color='" + colors[i] + "',groupavatar='"+ groupAvatars[i] + "' where groupid="+ updateIds[i], true);
			}
			try {
				cache.updatecache("usergroup");
			} catch (Exception e) {
				e.printStackTrace();
			}
			request.setAttribute("successInfo","用户组成功更新。如您添加了新的用户组,<br>请不要忘记修改其相应的权限设置。");
			request.setAttribute("requestPath", "admincp.jsp?action=usergroups");
			return mapping.findForward("success");
		}
		if (request.getParameter("do") != null) {
			response.setContentType("text/html");
			response.setHeader("Cache-Control", "no-store"); 
			response.setHeader("Program", "no-cache"); 
			response.setDateHeader("Expirse", 0);
			String groupid = request.getParameter("sgroupid");
			List<Map<String, String>> counts = dataBaseService.executeQuery("SELECT COUNT(*) as count FROM jrun_members WHERE groupid='"+ groupid + "'");
			int count = 0;
			if (counts != null && counts.size() > 0) {
				count = Common.toDigit(counts.get(0).get("count"));
			}
			List<Map<String, String>> memberlist = dataBaseService.executeQuery("select uid,username from jrun_members as m where m.groupid = "+ groupid + " limit 80");
			try {
				String result = "";
				if (memberlist != null && memberlist.size() > 0) {
					for (Map<String, String> member : memberlist) {
						result = result+ "<span style=\"display: block; float: left; width: 8em; overflow: hidden; margin: 2px; height: 1.5em;\"><a href=\""+ request.getContextPath()+ "/space.jsp?action=viewpro&uid="+ member.get("uid") + "\" target=\"_blank\">"+ member.get("username") + "</a></span> ";
					}
					String ss = count > 80 ? "&nbsp;<a href=\"admincp.jsp?action=members&searchsubmit=yes&usergroupids="+ groupid + "\">更多</a>": "";
					response.getWriter().write(result);
					response.getWriter().write("<br>");
					response.getWriter().write("<div align=\"right\" style=\"clear: both;\"><br />用户数:"+ count + ss + "</div>");
					response.getWriter().close();
				} else {
					response.getWriter().write("<br>");
					response.getWriter().write("<div align=\"right\" style=\"clear: both;\"><br />用户数:0</div>");
					response.getWriter().close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			return null;
		} else {
			List<Projects> projectslist = userGroupServer.findProjectsByType("group");
			request.setAttribute("projectslist", projectslist);
			List<Map<String, String>> memberlist = dataBaseService.executeQuery("select groupid,grouptitle,creditshigher,creditslower,stars,color,groupavatar from jrun_usergroups where type='member' order by creditslower");
			List<Map<String, String>> speciallist = dataBaseService.executeQuery("select groupid,grouptitle,stars,color,groupavatar from jrun_usergroups where type='special'");
			List<Map<String, String>> systemlist = dataBaseService.executeQuery("select groupid,grouptitle,stars,color,groupavatar from jrun_usergroups where type='system'");
			request.setAttribute("memberusergoups", memberlist);
			request.setAttribute("systemlist", systemlist);
			request.setAttribute("spaciallist", speciallist);
			return mapping.findForward("userGroups");
		}
	}

	@SuppressWarnings("unchecked")
	public ActionForward adminGroups(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		Cache cache = new Cache(servlet.getServletContext().getRealPath("/"));
		Admingroups adminGroup = null;
		String groupId = null;
		String adminId = null;
		String [] actionarray = new String[]{"settings", "forumadd", "forumsedit", "forumsmerge",
				"forumdetail", "forumdelete", "forumcopy", "moderators", "threadtypes", "memberadd", "members:creditsubmit:editcreditsubmit:newsletterinit:newlettersubmit:todeletemember", "membersmerge:editmembersmerge",
				"toeditgroups:editgroups", "toaccess:access", "toeditcredits:editcredits", "toeditmedal:editmedal", "toedituserinfo:edituserinfo", "editprofilefields:profilefields", "ipban:editipban", "usergroups",
				"admingroups", "ranks:editranks", "announcements", "styles", "templates", "tpladd", "tpledit", "modmembers",
				"modthreads", "modreplies", "recyclebin", "tenpay", "orders", "forumlinks", "onlinelist", "medals",
				"censor", "jspruncodes", "tags", "smilies", "icons", "attachtypes", "adv", "advadd", "advedit", "export:exportData", "import:importData:importFile:importZipFile",
				"runquery", "optimize", "attachments", "counter", "threads:threadsbatch:threadssearch", "prune", "pmprune", "updatecache", "jswizard:gojssetting:jssetting", "creditwizard:toCreditExpression:toCreditPurpose",
				"fileperms", "crons:cronsedit", "google_config","baidu_config","pluginsconfig", "plugins", "pluginsedit", "pluginhooks", "pluginvars", "illegallog", "ratelog", "modslog", "medalslog",
				"banlog", "cplog", "creditslog", "errorlog","safety"};
		if ("yes".equals(request.getParameter("submit"))) {
			adminId = request.getParameter("edit");
			if (adminId != null && !"".equals(adminId)) {
				List<Map<String,String>> usergrouplist = dataBaseService.executeQuery("SELECT groupid, radminid FROM jrun_usergroups WHERE groupid='"+adminId+"'");
				if(usergrouplist==null || usergrouplist.size()<=0){
					request.setAttribute("errorInfo", "未定义操作。");
					return mapping.findForward("error");
				}
				if(usergrouplist.get(0).get("radminid").equals("1")){
					Map<String,String> adminactions  = new HashMap<String,String>();
					for(String action:actionarray){
						String actionvalue = request.getParameter("disabledaction["+action+"]");
						if(actionvalue!=null&&actionvalue.equals("0")){
							adminactions.put(action, "1");
						}
					}
					String disabledaction = dataParse.combinationChar(adminactions);
					dataBaseService.runQuery("REPLACE INTO jrun_adminactions (admingid, disabledactions)VALUES ('"+adminId+"', '"+Common.addslashes(disabledaction)+"')",true);
				}else{
					adminGroup = userGroupServer.findAdminGroupById(new Short(adminId));
					adminGroup = (Admingroups) Common.setValues(adminGroup, request);
					userGroupServer.modifyAdminGroup(adminGroup);
					try {
						cache.updatecache("admingroup");
						cache.updatecache("usergroup");
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
				request.setAttribute("successInfo", "管理成员组权限设置成功更新。");
				request.setAttribute("requestPath", "admincp.jsp?action=admingroups");
				return mapping.findForward("success");
			}
		}
		if (request.getParameter("edit") != null && request.getParameter("edit").matches("\\d+")) {
			groupId = request.getParameter("edit");
			List<Map<String, String>> admingroups = dataBaseService.executeQuery("select a.*,u.grouptitle,u.radminid,aa.disabledactions from jrun_admingroups as a left join jrun_usergroups as u on a.admingid=u.groupid left join jrun_adminactions as aa on aa.admingid=a.admingid where a.admingid="+ groupId);
			if(admingroups==null||admingroups.size()<=0){
				request.setAttribute("errorInfo", "未定义操作。");
				return mapping.findForward("error");
			}
			Map<String,String> admingroup = admingroups.get(0);
			request.setAttribute("edit", "yes");
			request.setAttribute("admingroups", admingroup);
			if(admingroup.get("radminid").equals("1")){
				String [] actionarrayname = new String[]{"<b>允许使用 Jsprun! 选项:</b>","<b>允许添加版块:</b>","<b>允许编辑版块:</b>","<b>允许合并版块:</b>","<b>允许编辑版块详情:</b>","<b>允许删除用户组:</b>","<b>允许复制栏目设置:</b>","<b>允许编辑版主:</b>","<b>允许设置主题分类:</b>","<b>允许添加用户:</b>","<b>允许编辑用户:</b><br /><span class=\"smalltxt\">注意: 如果禁止本组管理员的部分后台管理权限,可同时禁止本功能。因为本功能可以被用来修改包括管理员在内的其它会员资料</span>","<b>允许合并用户:</b>","<b>允许编辑用户所属用户组:</b><span class=\"smalltxt\">注意: 如果禁止本组管理员的部分后台管理权限,请同时禁止本功能。因为本功能可以被用来自我提升权限,从而绕过被禁用的功能</span>","<b>允许设定用户权限:</b>","<b>允许编辑用户积分:</b>","<b>允许授予/收回用户勋章:</b>","<b>允许编辑用户详情:</b><span class=\"smalltxt\">注意: 如果禁止本组管理员的部分后台管理权限,可同时禁止本功能。因为本功能可以被用来修改包括管理员在内的其它会员资料</span>","<b>允许定制用户栏目:</b>","<b>允许禁止 IP:</b>","<b>允许编辑用户组:</b>","<b>允许编辑管理组:</b>","<b>允许编辑发帖数级别:</b>","<b>允许发布公告:</b>","<b>允许编辑界面风格:</b>","<b>允许编辑模板套系:</b>","<b>允许增加模板:</b>","<b>允许编辑模板:</b>","<b>允许审核新用户:</b>","<b>允许审核新主题:</b>","<b>允许审核新回复:</b>","<b>允许管理回收站:</b>","<b>允许编辑财付通设置:</b>","<b>允许管理财付通订单:</b>","<b>允许编辑联盟论坛:</b>","<b>允许定制在线列表:</b>","<b>允许编辑勋章:</b>","<b>允许编辑词语过滤:</b>","<b>允许定制 Jsprun! 代码:</b>","<b>允许管理标签:</b>","<b>允许编辑表情:</b>","<b>允许编辑主题图标:</b>","<b>允许编辑附件类型尺寸:</b>","<b>允许编辑广告设置:</b>","<b>允许添加广告:</b>","<b>允许编辑广告内容:</b>","<b>允许使用资料备份:</b>","<b>允许使用资料恢复:</b><span class=\"smalltxt\">注意: 如果禁止本组管理员的部分后台管理权限,请同时禁止本功能。因为本功能可以被用来自我提升权限,从而绕过被禁用的功能</span>","<b>允许使用数据库升级:</b><span class=\"smalltxt\">注意: 如果禁止本组管理员的部分后台管理权限,请同时禁止本功能。因为本功能可以被用来自我提升权限,从而绕过被禁用的功能</span>","<b>允许使用数据表优化:</b>","<b>允许编辑附件:</b>","<b>允许更新论坛统计:</b>","<b>允许批量管理主题:</b>","<b>允许批量删帖:</b>","<b>允许清理短消息:</b>","<b>允许更新缓存:</b>","<b>允许使用 JS 调用向导:</b>","<b>允许使用积分策略向导:</b>","<b>允许检查文件权限:</b>","<b>允许设置计划任务:</b>","<b>允许修改 Google 搜索设置:</b>","<b>允许修改 Baidu 搜索设置:</b>","<b>允许进行插件管理:</b>","<b>允许更改插件参数设置:</b>","<b>允许更改插件详细设置:</b>","<b>允许更改插件钩子:</b>","<b>允许更改插件参数:</b>","<b>允许查看密码错误记录:</b>","<b>允许查看评分记录:</b>","<b>允许查看版主管理记录:</b>","<b>允许查看勋章授予记录:</b>","<b>允许查看禁止用户记录:</b>","<b>允许查看后台访问记录:</b>","<b>允许查看积分交易记录:</b>","<b>允许查看系统错误记录:</b>","<b>允许编辑论坛安全:</b>"};
				request.setAttribute("actionarrayname",actionarrayname);
				request.setAttribute("actionarray", actionarray);
				String disabledactions = admingroup.get("disabledactions");
				Map<String,String> disabledactionsMap = dataParse.characterParse(disabledactions, false);
				request.setAttribute("disabledactionsMap", disabledactionsMap);
			}
			return mapping.findForward("adminGroups");
		}
		List<Map<String, String>> admingrouplist = dataBaseService.executeQuery("select grouptitle,type,radminid,groupid from jrun_usergroups as ugp where ugp.radminid != 0 and ugp.groupid!=1");
		request.setAttribute("adminGroupList", admingrouplist);
		return mapping.findForward("adminGroups");
	}

	@SuppressWarnings("unused")
	public ActionForward profileFields(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = request.getSession();
		Profilefields profile = null;
		if ("yes".equals(request.getParameter("submit"))) {
			if (request.getParameter("fieldid") != null&& request.getParameter("fieldid").matches("\\d+")) {
				profile = memberServer.findProfileById(new Short(request.getParameter("fieldid")));
				String title = request.getParameter("title");
				String description = request.getParameter("description");
				String size = request.getParameter("size");
				String invisible = request.getParameter("invisible");
				String required = request.getParameter("required");
				String unchangeable = request.getParameter("unchangeable");
				String showinthread = request.getParameter("showinthread");
				String selective = request.getParameter("selective");
				String choices = request.getParameter("choices");
				if (title != null && !"".equals(title)) {
					profile.setTitle(title);
				}
				if (description != null && !"".equals(description)) {
					profile.setDescription(description);
				}
				if (size != null && size.matches("\\d+")&& Integer.parseInt(size) < 256&& Integer.parseInt(size) > 0) {
					profile.setSize(new Short(size));
				}
				if (invisible != null && invisible.matches("0|1")) {
					profile.setInvisible(new Byte(invisible));
				}
				if (required != null && required.matches("0|1")) {
					profile.setRequired(new Byte(required));
				}
				if (unchangeable != null && unchangeable.matches("0|1")) {
					profile.setUnchangeable(new Byte(unchangeable));
				}
				if (showinthread != null && showinthread.matches("0|1")) {
					profile.setShowinthread(new Byte(showinthread));
				}
				if (selective != null && selective.matches("0|1")) {
					profile.setSelective(new Byte(selective));
				}
				if (choices != null) {
					profile.setChoices(choices);
				}
				memberServer.modifyProfile(profile);
				request.setAttribute("successInfo", "用户资料栏目成功更新。");
				request.setAttribute("requestPath", "admincp.jsp?action=profilefields");
				return mapping.findForward("success");
			}
		}
		if (request.getParameter("edit") != null&& request.getParameter("edit").matches("\\d+")) {
			Short fieldId = Short.parseShort(request.getParameter("edit"));
			profile = memberServer.findProfileById(fieldId);
			request.setAttribute("profile", profile);
			request.setAttribute("edit", "yes");
			return mapping.findForward("profileFields");
		}
		String[] delIds = request.getParameterValues("delid");
		update: {
			String[] fieldIds = request.getParameterValues("fieldid");
			if (fieldIds != null && fieldIds.length != 0) {
				for (int i = 0, j = i + 1; i < fieldIds.length; i++, j++) {
					profile = memberServer.findProfileById(new Short(fieldIds[i]));
					profile.setTitle(request.getParameter("title" + j) == null ? "": request.getParameter("title" + j));
					profile.setAvailable(new Byte(request.getParameter("available" + j) == null ? "0": request.getParameter("available" + j)));
					profile.setInvisible(new Byte(request.getParameter("invisible" + j) == null ? "0": request.getParameter("invisible" + j)));
					profile.setUnchangeable(new Byte(request.getParameter("unchangeable" + j) == null ? "0": request.getParameter("unchangeable" + j)));
					profile.setShowinthread(new Byte(request.getParameter("showinthread" + j) == null ? "0": request.getParameter("showinthread" + j)));
					if (request.getParameter("displayorder" + j) != null&& request.getParameter("displayorder" + j).matches("\\d+")) {
						profile.setDisplayorder(new Short(request.getParameter("displayorder" + j)));
					}
					memberServer.modifyProfile(profile);
				}
			}
		}
		if (request.getParameter("newtitle") != null&& !"".equals(request.getParameter("newtitle"))) {
			profile = new Profilefields();
			profile.setTitle(request.getParameter("newtitle").trim());
			profile.setAvailable((byte) 1);
			profile.setChoices("");
			memberServer.insertProfile(profile);
			dataBaseService.runQuery("ALTER TABLE jrun_memberfields ADD field_"+ profile.getFieldid() + " varchar(50)", true);
		}
		if (delIds != null && delIds.length != 0) {
			for (String id : delIds) {
				Short fieldId = new Short(id.trim());
				memberServer.deleteProfile(fieldId);
				dataBaseService.runQuery("ALTER TABLE jrun_memberfields DROP field_" + fieldId,true);
			}
		}
		String realPath = servlet.getServletContext().getRealPath("/");
		Cache cache = new Cache(realPath);
		try {
			cache.updatecache("profilefields");
		} catch (Exception e) {

⌨️ 快捷键说明

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