📄 systemtoolaction.java
字号:
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 + -