📄 systemtoolaction.java
字号:
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
String inentifier = request.getParameter("inentifier");
request.setAttribute("jsname", inentifier);
Map<String,String> settings = (Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
if (inentifier != null) {
int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
String dateformat = !Common.isEmpty(settings.get("jsdateformat"))?settings.get("jsdateformat") : settings.get("dateformat");
inentifier = "jswizard_" + inentifier;
String value = settings.get(inentifier);
Map result = dataParse.characterParse(value,false);
request.setAttribute("resultmap", result);
StringBuffer sql = new StringBuffer("select m.username,m.uid,m.regdate,m.credits,mm.avatar from jrun_members as m left join jrun_memberfields as mm on m.uid=mm.uid");
Map paramMap = (Map) result.get("parameter");
String orderby = (String) paramMap.get("orderby");
String startrow = (String) paramMap.get("startrow");
String items = (String) paramMap.get("items");
String jstemplate = (String) paramMap.get("jstemplate");
String jscharset = (String)paramMap.get("jscharset");
if (orderby != null && !orderby.equals("")) {
sql.append(" order by " + orderby + " desc");
}
String jstemplatebody = "";
if(jstemplate.matches(".*\\[node\\].*\\[/node\\].*")){
jstemplatebody = jstemplate;
jstemplate = jstemplate.replaceAll(".*\\[node\\](.+?)\\[/node\\].*", "$1");
}
int startrowcount = Common.toDigit(startrow);
int itemscount = Common.toDigit(items);
List<Map<String,String>> memberlist = dataBaseService.executeQuery(sql.toString()+" limit "+startrowcount+","+itemscount);
StringBuffer preebuffer = new StringBuffer();
if (memberlist != null&&memberlist.size()>0) {
for (Map<String,String> member:memberlist) {
String membername = member.get("username");
String values = member.get("credits");
String today = Common.gmdate(dateformat, (int)(Common.toDigit(member.get("regdate"))+timeoffset));
String resultpreview = jstemplate.replaceAll("\\(member\\)", "<a href='"+request.getContextPath()+"/space.jsp?uid="+member.get("uid")+"'>" + membername+ "</a>");
String avatar = member.get("avatar");
resultpreview = resultpreview.replaceAll("\\(avatar\\)", "<img src='" + avatar + "'>");
resultpreview = resultpreview.replaceAll("\\(regdate\\)",today);
resultpreview = resultpreview.replaceAll("\\(value\\)",values);
preebuffer.append(resultpreview);
}
}
memberlist = null;
String previews = parsenode(jstemplatebody,preebuffer.toString(),jscharset);
request.setAttribute("resultpreview", previews);
request.setAttribute("diaplay", "yes");
} else {
String inentname = "memberrank_" + randomName();
request.setAttribute("inentifier", inentname);
request.setAttribute("diaplay", null);
}
return mapping.findForward("jsmemberranksetting");
}
@SuppressWarnings("unchecked")
public ActionForward editjsmembers(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String jssubmit = request.getParameter("jssubmit");
if(jssubmit==null){
Common.requestforward(response, "admincp.jsp?action=jswizard");
return null;
}
Map<String,String> settings = (Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
String jstemplate = request.getParameter("parameter[jstemplate]");
String jskey = request.getParameter("jskey");
String cachelife = request.getParameter("parameter[cachelife]");
String startrow = request.getParameter("parameter[startrow]");
String items = request.getParameter("parameter[items]");
String orderby = request.getParameter("parameter[orderby]");
String jscharset = request.getParameter("parameter[jscharset]");
String newwindow = request.getParameter("parameter[newwindow]");
String uri = "function=memberrank&startrow=" + startrow + "&items=" + items + "&newwindow=" + newwindow + "&orderby=" + orderby + "&jscharset=" + jscharset + "&jstemplate=" + jstemplate;
HashMap resultMap = new HashMap();
HashMap parameterMap = new HashMap();
parameterMap.put("cachelife", cachelife);
resultMap.put("parameter", parameterMap);
parameterMap.put("items", items);
resultMap.put("parameter", parameterMap);
parameterMap.put("jscharset", jscharset);
resultMap.put("parameter", parameterMap);
parameterMap.put("jstemplate", jstemplate);
resultMap.put("parameter", parameterMap);
parameterMap.put("newwindow", newwindow);
resultMap.put("parameter", parameterMap);
parameterMap.put("orderby", orderby);
resultMap.put("parameter", parameterMap);
parameterMap.put("startrow", startrow);
resultMap.put("parameter", parameterMap);
resultMap.put("url", uri);
resultMap.put("type", new Integer("2"));
String resultvalue = dataParse.combinationChar(resultMap);
String edit = request.getParameter("edit");
String preview = request.getParameter("preview");
if (preview.equals("1")) {
HttpSession session = request.getSession();
int timeoffset=(int)((Float)session.getAttribute("timeoffset")*3600);
String dateformat = !Common.isEmpty(settings.get("jsdateformat"))?settings.get("jsdateformat") : settings.get("dateformat");
String jstemplatebody = "";
if(jstemplate.matches(".*\\[node\\].*\\[/node\\].*")){
jstemplatebody = jstemplate;
jstemplate = jstemplate.replaceAll(".*\\[node\\](.+?)\\[/node\\].*", "$1");
}
Map result = dataParse.characterParse(resultvalue, false);
request.setAttribute("resultmap", result);
StringBuffer sql = new StringBuffer("select m.username,m.uid,m.regdate,m.credits,mm.avatar from jrun_members as m left join jrun_memberfields as mm on m.uid=mm.uid");
if (orderby != null && !orderby.equals("")&& !orderby.equals("todayposts")) {
sql.append(" order by " + orderby + " desc");
}
int startrowcount = Common.toDigit(startrow);
int itemscount = Common.toDigit(items);
List<Map<String,String>> memberlist = dataBaseService.executeQuery(sql.toString()+" limit "+startrowcount+","+itemscount);
StringBuffer preebuffer = new StringBuffer();
if (memberlist != null&&memberlist.size()>0) {
for (Map<String,String> member:memberlist) {
String membername = member.get("username");
String values = member.get("credits");
String today = Common.gmdate(dateformat, (int)(Common.toDigit(member.get("regdate"))+timeoffset));
String resultpreview = jstemplate.replaceAll("\\(member\\)", "<a href='"+request.getContextPath()+"/space.jsp?uid="+member.get("uid")+"'>" + membername+ "</a>");
String avatar = member.get("avatar");
resultpreview = resultpreview.replaceAll("\\(avatar\\)", "<img src='" + avatar + "'>");
resultpreview = resultpreview.replaceAll("\\(regdate\\)",today);
resultpreview = resultpreview.replaceAll("\\(value\\)",values);
preebuffer.append(resultpreview);
}
}
memberlist = null;
String previews = parsenode(jstemplatebody,preebuffer.toString(),jscharset);
request.setAttribute("resultpreview", previews);
request.setAttribute("resultmap", resultMap);
request.setAttribute("jsname", jskey);
request.setAttribute("diaplay", "yes");
return mapping.findForward("jsmemberranksetting");
} else {
if (edit != null && !edit.equals("")) {
dataBaseService.runQuery("update jrun_settings set value='"+resultvalue.replace("'", "''")+"' where variable='jswizard_"+edit+"'");
settings.put("jswizard_"+edit, resultvalue);
ForumInit.setSettings(servlet.getServletContext(), settings);
String path = servlet.getServletContext().getRealPath("/")+"forumdata/cache/javascript_"+edit+".jsp";
File file = new File(path);
if(file.exists()){
file.delete();
}
request.setAttribute("successInfo", "JS调用成功添加或更新");
request.setAttribute("requestPath", "admincp.jsp?action=jswizard");
return mapping.findForward("success");
} else {
String setting = settings.get("jswizard_"+jskey);
if (setting == null) {
Settings settingt = new Settings();
settingt.setVariable("jswizard_" + jskey);
settingt.setValue(resultvalue);
systemToolServer.saveSetting(settingt);
settings.put("jswizard_"+jskey, resultvalue);
ForumInit.setSettings(servlet.getServletContext(), settings);
request.setAttribute("successInfo", "JS调用成功添加或更新");
request.setAttribute("requestPath", "admincp.jsp?action=jswizard");
return mapping.findForward("success");
} else {
request.setAttribute("errorInfo", "JS 调用唯一标识已经存在,请返回更改。");
return mapping.findForward("error");
}
}
}
}
@SuppressWarnings("unchecked")
public ActionForward jsstats(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String inentifier = request.getParameter("inentifier");
request.setAttribute("jsname", inentifier);
Map<String,String> settings = (Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
if (inentifier != null) {
inentifier = "jswizard_" + inentifier;
String values = settings.get(inentifier);
Map result = dataParse.characterParse(values,false);
request.setAttribute("resultmap", result);
Map paramMap = (Map) result.get("parameter");
Map forumsMap = (Map) paramMap.get("forums");
Map membersMap = (Map) paramMap.get("members");
Map onlineMap = (Map) paramMap.get("online");
Map onlinemembersMap = (Map) paramMap.get("onlinemembers");
Map postsMap = (Map) paramMap.get("posts");
Map threadsMap = (Map) paramMap.get("threads");
String jstemplate = (String) paramMap.get("jstemplate");
String jscharset = (String)paramMap.get("jscharset");
String jstemplatebody = "";
if(jstemplate.matches(".*\\[node\\].*\\[/node\\].*")){
jstemplatebody = jstemplate;
jstemplate = jstemplate.replaceAll(".*\\[node\\](.+?)\\[/node\\].*", "$1");
}
StringBuffer preebuffer = new StringBuffer();
if (forumsMap.get("display") != null) {
String resultpreview = jstemplate.replaceAll("\\(name\\)",forumsMap.get("title").toString());
int forumscount = systemToolServer.findFourmsCount();
resultpreview = resultpreview.replaceAll("\\(value\\)",forumscount + "");
preebuffer.append(resultpreview);
}
if (threadsMap.get("display") != null) {
String resultpreview = jstemplate.replaceAll("\\(name\\)",threadsMap.get("title").toString());
int threadcount = systemToolServer.findThreadCount();
resultpreview = resultpreview.replaceAll("\\(value\\)", threadcount + "");
preebuffer.append(resultpreview);
}
if (postsMap.get("display") != null) {
String resultpreview = jstemplate.replaceAll("\\(name\\)",postsMap.get("title").toString());
int postcount = systemToolServer.findPostCount();
resultpreview = resultpreview.replaceAll("\\(value\\)",postcount + "");
preebuffer.append(resultpreview);
}
if (membersMap.get("display") != null) {
String resultpreview = jstemplate.replaceAll("\\(name\\)",membersMap.get("title").toString());
int membercount = systemToolServer.findMembersCount();
resultpreview = resultpreview.replaceAll("\\(value\\)", membercount + "");
preebuffer.append(resultpreview);
}
if (onlineMap.get("display") != null) {
String resultpreview = jstemplate.replaceAll("\\(name\\)",onlineMap.get("title").toString());
int onlinecount = systemToolServer.findSessionsCountByType(false);
resultpreview = resultpreview.replaceAll("\\(value\\)",onlinecount + "");
preebuffer.append(resultpreview);
}
if (onlinemembersMap.get("display") != null) {
String resultpreview = jstemplate.replaceAll("\\(name\\)",onlinemembersMap.get("title").toString());
int onlinememcount = systemToolServer.findSessionsCountByType(true);
resultpreview = resultpreview.replaceAll("\\(value\\)", onlinememcount + "");
preebuffer.append(resultpreview);
}
String previews = parsenode(jstemplatebody,preebuffer.toString(),jscharset);
request.setAttribute("resultpreview", previews);
request.setAttribute("diaplay", "yes");
} else {
String inentname = "stats_" + randomName();
request.setAttribute("inentifier", inentname);
request.setAttribute("diaplay", null);
}
return mapping.findForward("jstatssetting");
}
@SuppressWarnings("unchecked")
public ActionForward editjsstats(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String jssubmit = request.getParameter("jssubmit");
if(jssubmit==null){
Common.requestforward(response, "admincp.jsp?action=jswizard");
return null;
}
Map<String,String> settings = (Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
String jstemplate = request.getParameter("parameter[jstemplate]");
String jskey = request.getParameter("jskey");
String cachelife = request.getParameter("parameter[cachelife]");
String jscharset = request.getParameter("parameter[jscharset]");
String forumsdisplay = request.getParameter("parameter[forums][display]");
String forumstitle = request.getParameter("parameter[forums][title]");
String threaddisplay = request.getParameter("parameter[threads][display]");
String threadtitle = request.getParameter("parameter[threads][title]");
String postsdisplay = request.getParameter("parameter[posts][display]");
String poststitle = request.getParameter("parameter[posts][title]");
String memberdisplay = request.getParameter("parameter[members][display]");
String membertitle = request.getParameter("parameter[members][title]");
String onlinedisplay = request.getParameter("parameter[online][display]");
String onlinetitle = request.getParameter("parameter[online][title]");
String onlinmemdis = request.getParameter("parameter[onlinemembers][display]");
String onlinmemtitle = request.getParameter("parameter[onlinemembers][title]");
String uri = "function=stats&jscharset="+ jscharset + "&info[threads]=threads&info[posts]=posts&info[members]=members&info[online]=rensu&info[onlinemembers]=zaixian&jstemplate=" + jstemplate;
HashMap resultMap = new HashMap();
HashMap parameterMap = new HashMap();
parameterMap.put("cachelife", cachelife);
resultMap.put("parameter", parameterMap);
parameterMap.put("jscharset", jscharset);
resultMap.put("parameter", parameterMap);
parameterMap.put("jstemplate", jstemplate);
resu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -