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

📄 systemtoolaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			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 + -