📄 systemtoolaction.java
字号:
Map specialsubMap = new HashMap();
for (String s : special) {
specialsubMap.put(new Integer(s), "1");
}
parameterMap.put("special", specialsubMap);
resultMap.put("parameter", parameterMap);
}
parameterMap.put("startrow", startrow);
resultMap.put("parameter", parameterMap);
if (stick != null) {
Map sticksubMap = new HashMap();
for (String s : stick) {
sticksubMap.put(new Integer(s), "1");
}
parameterMap.put("stick", sticksubMap);
resultMap.put("parameter", parameterMap);
}
parameterMap.put("tag", tag);
resultMap.put("parameter", parameterMap);
if (threads_forums != null) {
Map threads_forumsubMap = new HashMap();
for (int i = 0; i < threads_forums.length; i++) {
threads_forumsubMap.put(i, threads_forums[i]);
}
parameterMap.put("threads_forums", threads_forumsubMap);
resultMap.put("parameter", parameterMap);
}
parameterMap.put("threadtype", threadtype);
resultMap.put("parameter", parameterMap);
parameterMap.put("tids", tids);
resultMap.put("parameter", parameterMap);
if (typeids != null) {
Map typeidssubMap = new HashMap();
for (int i = 0; i < typeids.length; i++) {
typeidssubMap.put(i, typeids[i]);
}
parameterMap.put("typeids", typeidssubMap);
resultMap.put("parameter", parameterMap);
}
resultMap.put("url", uri);
resultMap.put("type", new Integer("0"));
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 timeformat = settings.get("timeformat").equals("1") ? "hh:mm a" : "HH:mm";
String jstemplatebody = "";
if(jstemplate.matches(".*\\[node\\].*\\[/node\\].*")){
jstemplatebody = jstemplate;
jstemplate = jstemplate.replaceAll(".*\\[node\\](.+?)\\[/node\\].*", "$1");
}
Map result = dataParse.characterParse(resultvalue, false);
List<Map<String,String>> groups = dataBaseService.executeQuery("select fid,name,status from jrun_forums where type='group'");
List<Map<String,String>> forums = dataBaseService.executeQuery("select fid,name,fup,status from jrun_forums where type='forum'");
List<Map<String,String>> subs = dataBaseService.executeQuery("select fid,name,fup,status from jrun_forums where type='sub'");
List<Threadtypes> threadtypes = threadTypeServer.getAllThreadtypes();
request.setAttribute("resultmap", result);
Map forumMap = (Map) ((Map) result.get("parameter")).get("threads_forums");
List<Map<String,String>> forumslist = new ArrayList<Map<String,String>>();
List<Map<String,String>> subslist = new ArrayList<Map<String,String>>();
for (Map<String,String> sub : subs) {
if (forumMap != null) {
Iterator it = forumMap.keySet().iterator();
while (it.hasNext()) {
Object key = it.next();
String value = forumMap.get(key).toString();
if (sub.get("fid").equals(value)) {
sub.put("flag", "true");
}
}
}
subslist.add(sub);
}
for (Map<String,String> forum : forums) {
if (forumMap != null) {
Iterator it = forumMap.keySet().iterator();
while (it.hasNext()) {
Object key = it.next();
String value = forumMap.get(key).toString();
if (value.equals(forum.get("fid"))) {
forum.put("flag", "true");
}
}
}
forumslist.add(forum);
}
Map threadTypeMap = new HashMap();
Map typeMap = (Map) ((Map) result.get("parameter")).get("typeids");
for (Threadtypes types : threadtypes) {
boolean flag = false;
if (typeMap != null) {
Iterator it = typeMap.keySet().iterator();
while (it.hasNext()) {
Object key = it.next();
String value = typeMap.get(key).toString();
if (value.equals(String.valueOf(types.getTypeid()))) {
flag = true;
}
}
}
if (flag) {
threadTypeMap.put(types, "ok");
} else {
threadTypeMap.put(types, "");
}
}
forums = null;subs=null;threadtypes=null;forumMap=null;
request.setAttribute("groups", groups);
request.setAttribute("forums", forumslist);
request.setAttribute("subs", subslist);
request.setAttribute("threadtype", threadTypeMap);
StringBuffer sql = new StringBuffer("select t.tid,t.fid,t.subject,t.highlight,t.views,t.replies,t.lastpost,t.lastposter,t.dateline,t.author,t.authorid,p.message,f.name,d.name as typename from jrun_threads as t left join jrun_posts as p on t.tid=p.tid left join jrun_forums as f on t.fid=f.fid left join jrun_threadtags as h on t.tid=h.tid left join jrun_threadtypes as d on t.typeid=d.typeid where p.first=1 ");
String and = " and ";
if (threads_forums != null && !threads_forums[0].equals("") && !threads_forums[0].equals("all")) {
sql.append(and);
String fids = "";
for (String fid : threads_forums) {
fids += fid + ",";
}
fids = fids.substring(0, fids.length() - 1);
sql.append(" t.fid in (" + fids + ") ");
}
if (tids != null && !tids.equals("")) {
sql.append(and);
sql.append(" t.tid in (" + tids + ") ");
}
if (keyword != null && !keyword.equals("")) {
sql.append(and);
String key = "";
key = keyword.replace("*", "%");
sql.append(" t.subject like '" + key + "' ");
}
if (typeids != null && !typeids.equals("") && !typeids[0].equals("all")) {
sql.append(and);
String typeidss = "";
for (String typeid : typeids) {
typeidss += typeid + ",";
}
typeidss = typeidss.substring(0, typeidss.length() - 1);
sql.append(" t.typeid in (" + typeidss + ") ");
}
if (blog != null && !blog.equals("")) {
sql.append(and);
sql.append("t.blog = " + blog);
}
if (special != null && !special.equals("")) {
sql.append(and);
String specialids = "";
for (String specialid : special) {
specialids += specialid + ",";
}
specialids = specialids.substring(0, specialids.length() - 1);
sql.append(" t.special in (" + specialids + ") ");
}
if(rewardstatus!=null && !rewardstatus.equals("")){
if(rewardstatus.equals("2")){
sql.append(and);
sql.append(" t.price>0 ");
}else if(rewardstatus.equals("1")){
sql.append(and);
sql.append(" t.price<0 ");
}
}
if (digest != null && !digest.equals("")) {
sql.append(and);
String digests = "";
for (String digestid : digest) {
digests += digestid + ",";
}
digests = digests.substring(0, digests.length() - 1);
sql.append(" t.digest in (" + digests + ") ");
}
if (stick != null && !stick.equals("")) {
sql.append(and);
String sticks = "";
for (String stickid : stick) {
sticks += stickid + ",";
}
sticks = sticks.substring(0, sticks.length() - 1);
sql.append(" t.displayorder in (" + sticks + ") ");
}
if (orderby != null && !orderby.equals("")) {
sql.append(" order by " + orderby);
}
int startrowcount = Common.toDigit(startrow);
int itemscount = Common.toDigit(items);
List<Map<String,String>> threadlist = dataBaseService.executeQuery(sql.toString()+" limit "+startrowcount+","+itemscount);
StringBuffer preebuffer = new StringBuffer();
if (threadlist != null && threadlist.size()>0) {
for (Map<String,String> thread:threadlist) {
String subject = thread.get("subject");
if (convertInt(maxlength) < subject.length()) {
subject = subject.substring(0, Common.toDigit(maxlength))+ "...";
}
if (threadtype != null && threadtype.equals("1")) {
subject = "[" + thread.get("typename") + "]" + subject;
}
String message = thread.get("message");
String forumss = thread.get("name");
String author = thread.get("author");
String datetime = Common.gmdate(dateformat+" "+timeformat, (int)(Common.toDigit(thread.get("dateline"))+timeoffset));
String lastpost = Common.gmdate(dateformat+" "+timeformat, (int)(Common.toDigit(thread.get("lastpost"))+timeoffset));
String lastposter = thread.get("lastposter");
String replices = thread.get("replies");
String views = thread.get("views");
String link = "viewthread.jsp?tid="+thread.get("tid");
String resultpreview = "";
if (highlight != null && highlight.equals("1")) {
if (Common.toDigit(thread.get("highlight")) > 0) {
resultpreview = jstemplate.replaceAll("\\(subject\\)","<a href='"+request.getContextPath()+"/viewthread.jsp?tid="+thread.get("tid")+"' target=_blanck><font color='red'>" + subject + "</font></a>");
resultpreview = resultpreview.replaceAll("\\(subject_nolink\\)", "<font color='red'>" + subject + "</font>");
resultpreview = resultpreview.replaceAll("\\(subject_full\\)", "<font color='red'>" + subject + "</font>");
} else {
resultpreview = jstemplate.replaceAll("\\(subject\\)", "<a href='"+request.getContextPath()+"/viewthread.jsp?tid="+thread.get("tid")+"' target=_blanck>" + subject+ "</a>");
resultpreview = resultpreview.replaceAll("\\(subject_nolink\\)", subject);
resultpreview = resultpreview.replaceAll("\\(subject_full\\)", subject);
}
} else {
resultpreview = jstemplate.replaceAll("\\(subject\\)","<a href='"+request.getContextPath()+"/viewthread.jsp?tid="+thread.get("tid")+"' target=_blanck>" + subject + "</a>");
resultpreview = resultpreview.replaceAll("\\(subject_nolink\\)", subject);
resultpreview = resultpreview.replaceAll("\\(subject_full\\)", subject);
}
if (picpre != null && !picpre.equals("")) {
resultpreview = resultpreview.replaceAll("\\(prefix\\)", "<img src='" + picpre + "'>");
} else {
resultpreview = resultpreview.replaceAll("\\(prefix\\)", "");
}
resultpreview = resultpreview.replaceAll("\\(message\\)",message);
resultpreview = resultpreview.replaceAll("\\(forum\\)","<a href='"+request.getContextPath()+"/forumdisplay?fid="+thread.get("fid")+"' target=_blanck>" + forumss + "</a>");
resultpreview = resultpreview.replaceAll("\\(author\\)","<a href='"+request.getContextPath()+"/space.jsp?uid="+thread.get("authorid")+"' target=_blanck>" + author + "</a>");
resultpreview = resultpreview.replaceAll("\\(dateline\\)",datetime);
resultpreview = resultpreview.replaceAll("\\(lastposter\\)", "<a href='"+request.getContextPath()+"/space.jsp?action=viewpro&username="+Common.encode(lastposter)+"' target=_blanck>" + lastposter+ "</a>");
resultpreview = resultpreview.replaceAll("\\(lastpost\\)",lastpost);
resultpreview = resultpreview.replaceAll("\\(replies\\)",replices);
resultpreview = resultpreview.replaceAll("\\(views\\)",views);
resultpreview = resultpreview.replaceAll("\\(link\\)", link);
preebuffer.append(resultpreview);
}
}
threadlist = 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("jsthreadsetting");
} 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 value = settings.get("jswizard_"+jskey);
if (value == null) {
dataBaseService.runQuery("insert into jrun_settings(variable,value)values('jswizard_"+jskey+"','"+resultvalue.replace("'", "''")+"')");
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");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -