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

📄 systemtoolaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:

package cn.jsprun.struts.action;

import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import cn.jsprun.domain.Settings;
import cn.jsprun.domain.Threadtypes;
import cn.jsprun.service.posts.ThreadtypesService;
import cn.jsprun.service.system.DataBaseService;
import cn.jsprun.service.system.SystemToolService;
import cn.jsprun.utils.Base64Decoder;
import cn.jsprun.utils.Base64Encoder;
import cn.jsprun.utils.BeanFactory;
import cn.jsprun.utils.Common;
import cn.jsprun.utils.DataParse;
import cn.jsprun.utils.ForumInit;
import cn.jsprun.utils.JspRunConfig;
import cn.jsprun.vo.jstype.JsTypeVo;

public class SystemToolAction extends DispatchAction {
	private SystemToolService systemToolServer = (SystemToolService) BeanFactory.getBean("systemToolServer");
	private ThreadtypesService threadTypeServer = (ThreadtypesService) BeanFactory.getBean("threadtypesService");
	private DataBaseService dataBaseService = (DataBaseService)BeanFactory.getBean("dataBaseService");
	private DataParse dataParse= (DataParse)BeanFactory.getBean("dataParse");
	@SuppressWarnings("unchecked")
	public ActionForward jsinit(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		Map<String,String> settings = (Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
		String jsstatus = settings.get("jsstatus");
		request.setAttribute("status", jsstatus);
		if(jsstatus != null && jsstatus.equals("1")){
			List<Settings> list = systemToolServer.findSettingsLikeVariable("jswizard_"); 
			List<JsTypeVo> targetList = new ArrayList<JsTypeVo>();
			if (list != null) {
				for (Settings setting : list) {
					String variable = setting.getVariable();
					String identifier = variable.replaceFirst("jswizard_", "");
					Map nowMap = dataParse.characterParse(setting.getValue(),false);
					byte type = (Byte) nowMap.get("type");
					JsTypeVo jtype = new JsTypeVo();
					String[] types = jtype.getTypes();
					String[] categorys = jtype.getCategorys();
					jtype.setCategory(categorys[type]);
					jtype.setType(types[type]);
					jtype.setIdentifier(identifier);
					targetList.add(jtype);
				}
			}
			list = null;
			request.setAttribute("settinglist", targetList);
			return mapping.findForward("javascript");
		}else{
			return mapping.findForward("jssetting");
		}
	}
	@SuppressWarnings("unchecked")
	public ActionForward gojsSetting(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		Map<String,String> settings = (Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
		String jsstatus = settings.get("jsstatus");
		if (jsstatus != null && jsstatus.equals("1")) {
			String cacle = settings.get("jscachelife");
			String format = settings.get("jsdateformat");
			String refdomain = settings.get("jsrefdomains");
			request.setAttribute("cacle", cacle);
			request.setAttribute("format", format);
			request.setAttribute("refdomain", refdomain);
		}
		settings = null;
		request.setAttribute("status", jsstatus);
		return mapping.findForward("jssetting");
	}
	@SuppressWarnings("unchecked")
	public ActionForward jsSetting(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String settingsubmit = request.getParameter("settingsubmit");
		if(settingsubmit==null){
			Common.requestforward(response, "admincp.jsp?action=jswizard");
			return null;
		}
		String jsstatus = request.getParameter("jsstatus");
		Map<String,String> settings = (Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap");
		if (jsstatus.equals("0")) {
			dataBaseService.runQuery("update jrun_settings set value='0' where variable='jsstatus'");
			settings.put("jsstatus", "0");
			ForumInit.setSettings(this.getServlet().getServletContext(), settings);
			request.setAttribute("successInfo", "JspRun选项成功更新");
			request.setAttribute("requestPath", request.getHeader("referer"));
			return mapping.findForward("success");
		} else {
			String jscachelife = request.getParameter("jscachelife");
			int jscachelifeint = Common.toDigit(jscachelife);
			String jsdateformat = request.getParameter("jsdateformat");
			String refdomain = request.getParameter("jsrefdomains");
			dataBaseService.runQuery("update jrun_settings set value='1' where variable='jsstatus'");
			dataBaseService.runQuery("update jrun_settings set value='"+jscachelifeint+"' where variable='jscachelife'");
			dataBaseService.runQuery("update jrun_settings set value='"+jsdateformat+"' where variable='jsdateformat'");
			dataBaseService.runQuery("update jrun_settings set value='"+refdomain+"' where variable='jsrefdomains'");
			settings.put("jsstatus", "1");
			settings.put("jscachelife", jscachelifeint+"");
			settings.put("jsdateformat", jsdateformat);
			settings.put("jsrefdomains", refdomain);
			request.setAttribute("successInfo", "JspRun选项成功更新");
			request.setAttribute("requestPath", request.getHeader("referer"));
			ForumInit.setSettings(this.getServlet().getServletContext(), settings);
			return mapping.findForward("success");
		}
	}
	private int convertInt(String ss) {
		int target = 0;
		try {
			target = Integer.valueOf(ss);
		} catch (Exception e) {
		}
		return target;
	}
	@SuppressWarnings("unchecked")
	public ActionForward jsthreads(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) {
			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";
			inentifier = "jswizard_" + inentifier;
			String values = settings.get(inentifier);
			Map result = dataParse.characterParse(values,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> threadtype = 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 : threadtype) {
				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;threadtype=null;forumMap=null;
			request.setAttribute("groups", groups);
			request.setAttribute("forums", forumslist);
			request.setAttribute("subs", subslist);
			request.setAttribute("threadtype", threadTypeMap);
			Map paramMap = (Map) result.get("parameter");
			String tids = (String) paramMap.get("tids");
			String keyword = (String) paramMap.get("keyword");
			String blog = (String) paramMap.get("blog");
			String orderby = (String) paramMap.get("orderby");
			String startrow = (String) paramMap.get("startrow");
			String items = (String) paramMap.get("items");
			String maxlength = (String) paramMap.get("maxlength");
			String highlight = (String) paramMap.get("highlight");
			String jstemplate = (String) paramMap.get("jstemplate");
			String jscharset = (String)paramMap.get("jscharset");
			String rewardstatus = (String)paramMap.get("rewardstatus");
			String jstemplatebody = "";
			if(jstemplate.matches(".*\\[node\\].*\\[/node\\].*")){
				jstemplatebody = jstemplate;
				jstemplate = jstemplate.replaceAll(".*\\[node\\](.+?)\\[/node\\].*", "$1");
			}
			String picpre = (String) paramMap.get("picpre");
			String threadtypes = (String) paramMap.get("threadtype");
			Map threads_forumsMap = (Map) paramMap.get("threads_forums");
			List<String> threads_forums = null;
			if (threads_forumsMap != null) {
				threads_forums = new ArrayList<String>();
				Iterator it = threads_forumsMap.keySet().iterator();
				while (it.hasNext()) {
					threads_forums.add(threads_forumsMap.get(it.next()).toString());
				}
			}
			Map typeidsMap = (Map) paramMap.get("typeids");
			List<String> typeids = null;
			if (typeidsMap != null) {
				typeids = new ArrayList<String>();
				Iterator it = typeidsMap.keySet().iterator();
				while (it.hasNext()) {
					typeids.add(typeidsMap.get(it.next()).toString());
				}
			}
			Map specialMap = (Map) paramMap.get("special");
			List<String> special = null;
			if (specialMap != null) {
				special = new ArrayList<String>();
				Iterator it = specialMap.keySet().iterator();
				while (it.hasNext()) {
					special.add(it.next().toString());
				}
			}
			Map digestMap = (Map) paramMap.get("digest");
			List<String> digest = null;
			if (digestMap != null) {
				digest = new ArrayList<String>();
				Iterator it = digestMap.keySet().iterator();
				while (it.hasNext()) {
					digest.add(it.next().toString());
				}
			}
			Map stickMap = (Map) paramMap.get("stick");
			List<String> stick = null;
			if (stickMap != null) {
				stick = new ArrayList<String>();
				Iterator it = stickMap.keySet().iterator();
				while (it.hasNext()) {
					stick.add(it.next().toString());
				}
			}
			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 ";

⌨️ 快捷键说明

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