📄 useraction.java
字号:
} 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 ? " <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 + -