📄 basicsettingsaction.java
字号:
}
String variables[]={"archiverstatus","rewritestatus","rewritecompatible","seotitle","seokeywords","seodescription","seohead","baidusitemap","baidusitemap_life"};
Map<String,String> oldSettings=ForumInit.settings;
Map<String,String> settings=new HashMap<String,String>();
for (String variable: variables) {
String value=request.getParameter(variable);
if("rewritestatus".equals(variable)){
int sum=0;
for(int j=0;j<5;j++){
String rewritestatus=request.getParameter(variable+j);
if(rewritestatus!=null){
sum=sum+Integer.valueOf(rewritestatus);
}
}
value=String.valueOf(sum);
}
else if("baidusitemap_life".equals(variable)){
value=Common.toDigit(value, 24l, 1l).toString();
}
this.putValue(variable, value, oldSettings, settings);
}
this.updateSettings(settings,oldSettings);
return this.getForward(mapping, request);
}
public ActionForward cachethread(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String settingsubmit=request.getParameter("settingsubmit");
if(settingsubmit==null){
HttpSession session=request.getSession();
short groupid = (Short)session.getAttribute("jsprun_groupid");
Members member = (Members)session.getAttribute("user");
request.setAttribute("forumselect", Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",null,false));
return mapping.findForward("setting_cachethread");
}
String[] variables =new String[]{"cacheindexlife", "cachethreadlife","cachethreaddir", "threadcaches" };
Map<String,String> oldSettings=ForumInit.settings;
Map<String,String> settings=new HashMap<String,String>();
for(String variable:variables){
String value=request.getParameter(variable);
if("cachethreaddir".equals(variable)){
String path = this.servlet.getServletContext().getRealPath("/");
File file = new File(path+value);
if (!file.isDirectory()) {
request.setAttribute("errorInfo", "对不起,您所指定的目录 " + value + " 不存在或者不可写!请返回并尝试通过 FTP 将其属性改为 777。");
return mapping.findForward("error");
}
}else if("threadcaches".equals(variable)){
value=Common.toDigit(value, 100L, 0L).toString();
String forum[]=request.getParameterValues("forum");
if(forum!=null&&forum.length>0){
StringBuffer fids=new StringBuffer("0");
for(String fid:forum){
if("all".equals(fid)){
fids=null;
break;
}
else if(!"".equals(fid)) {
fids.append(","+fid);
}
}
String sql=null;
if(fids==null){
sql="update jrun_forums set threadcaches= " + value;
}
else{
sql="update jrun_forums set threadcaches="+ value + " where fid in ("+fids+")";
}
dataBaseService.runQuery(sql,true);
}
}
else{
value=Common.toDigit(value, 2147483647l, 0l).toString();
}
this.putValue(variable, value, oldSettings, settings);
}
this.updateSettings(settings,oldSettings);
return this.getForward(mapping, request);
}
@SuppressWarnings("unchecked")
public ActionForward functions(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String settingsubmit=request.getParameter("settingsubmit");
if(settingsubmit==null){
Map<String,String> settings=ForumInit.settings;
int jsmenustatus=Integer.valueOf(settings.get("jsmenustatus"));
Common.setChecked(request, "jsmenustatus", 4, jsmenustatus);
List<Map<String,String>> medalMapList = dataBaseService.executeQuery("SELECT medalid,name,image FROM "+tablePrefix+"medals WHERE available='1'");
String honorvalue = settings.get("honorvalue");
Map<String,Map<String,String>> honorvalueDP = (Map<String,Map<String,String>>)dataParse.characterParse(honorvalue, false);
String tempString = null;
for(Map<String,String> medalMap : medalMapList){
medalMap.put("name", medalMap.get("name").replace("\"", """));
medalMap.put("image", medalMap.get("image").replace("\"", """));
Map<String,String> tempMap = honorvalueDP.get(medalMap.get("medalid"));
if(tempMap!=null){
tempString = tempMap.get("qualification");
tempString = tempString !=null ? tempString.replace("\"", """):null;
medalMap.put("qualification", tempString);
tempString = tempMap.get("reason");
tempString = tempString !=null ? tempString.replace("\"", """):null;
medalMap.put("reason", tempString);
medalMap.put("checked", tempMap.get("checked"));
}else{
medalMap.put("qualification", "");
medalMap.put("reason", "勋章自动授予");
medalMap.put("checked", "0");
}
}
Map extcredits = dataParse.characterParse(settings.get("extcredits"),true);
request.setAttribute("medalMapList", medalMapList);
request.setAttribute("extcredits", extcredits);
return mapping.findForward("setting_functions");
}
String variables[] = { "forumjump", "jsmenustatus", "pluginjsmenu","editoroptions","bbinsert","smileyinsert", "smthumb", "smcols", "smrows", "statstatus","statscachelife", "pvfrequence", "oltimespan", "modworkstatus","maxmodworksmonths", "myrecorddays", "losslessdel","modreasons", "bannedmessages", "tagstatus", "hottags","viewthreadtags", "rssstatus", "rssttl", "allowcsscache","bdaystatus", "debug", "activitytype"};
Map<String,String> oldSettings=ForumInit.settings;
Map<String,String> settings=new HashMap<String,String>();
for(String variable:variables){
String value=request.getParameter(variable);
if ("jsmenustatus".equals(variable)) {
int sum = 0;
for (int j = 0; j < 4; j++) {
String par = request.getParameter(variable + j);
if (par != null)
sum = sum + Integer.valueOf(par);
}
value = String.valueOf(sum);
}else if("editoroptions".equals(variable)||"editoroptions_changer".equals(variable)){
int editoroptions_editer=Integer.valueOf(request.getParameter("editoroptions_editer"));
int editoroptions_changer=Integer.valueOf(request.getParameter("editoroptions_changer"));
value=String.valueOf(editoroptions_editer+editoroptions_changer);
}else if(Common.matches(variable, "^(smcols|statscachelife|pvfrequence|oltimespan|maxmodworksmonths|losslessdel|rssttl)$")){
value = Double.valueOf(FormDataCheck.getDoubleString(value)).toString();
if(value.endsWith(".0")){
value = value.substring(0,value.length()-2);
}
}else if("smthumb".equals(variable)){
long smthumb=Common.toDigit(value, 2147483647l, 0l);
value =String.valueOf(smthumb);
if(!(smthumb>=20&&smthumb<=40)){
value = "20";
}
}else if("myrecorddays".equals(variable)){
long myrecorddays=Common.toDigit(value, 2147483647l, 0l);
value =String.valueOf(myrecorddays);
if(myrecorddays<1){
value = "30";
}
}
this.putValue(variable, value, oldSettings, settings);
}
String honorset = request.getParameter("honorset");
this.putValue("honorset", honorset, oldSettings, settings);
String[] medalIdArray = request.getParameterValues("au_medalid");
List<Map<String,String>> medalMapList = dataBaseService.executeQuery("SELECT medalid FROM "+tablePrefix+"medals WHERE available");
Map<String,Map<String,String>> honorvalueTDP = new HashMap<String, Map<String,String>>();
boolean checked_b = false;
for(Map<String,String> medalMap : medalMapList){
checked_b = false;
String medalid = medalMap.get("medalid");
Map<String,String> honorvalueIMP = new HashMap<String, String>();
honorvalueTDP.put(medalid, honorvalueIMP);
if(medalIdArray!=null){
for(String medalIdFR : medalIdArray){
if(medalid.equals(medalIdFR)){
checked_b = true;
break;
}
}
}
honorvalueIMP.put("checked", checked_b?"1":"0");
String qualification = request.getParameter("mqualification_"+medalid);
if (checked_b && (qualification==null||qualification.trim().equals("")||!validateQualification(qualification))) {
request.setAttribute("errorInfo","积分公式包含无效变量或运算符,请返回修改。");
return mapping.findForward("error");
}
honorvalueIMP.put("qualification", qualification);
honorvalueIMP.put("reason", request.getParameter("mreason_"+medalid));
}
String honorvalue = dataParse.combinationChar(honorvalueTDP);
this.putValue("honorvalue", honorvalue, oldSettings, settings);
this.updateSettings(settings,oldSettings);
if("2".equals(honorset)&& medalIdArray!=null){
Members currentMember = (Members) request.getSession().getAttribute("members");
String realPath = servlet.getServletContext().getRealPath("/");
int nowtime = (int)(System.currentTimeMillis()/1000);
String uids = null;
for(String medalId : medalIdArray){
Map<String,String> honorvalueIMP = honorvalueTDP.get(medalId);
String qualification = honorvalueIMP.get("qualification");
String reason = honorvalueIMP.get("reason");
qualification = qualification.replace("extcredits", "m.extcredits").replace("oltime", "m.oltime").replace("pageviews", "m.pageviews").replaceAll("posts", "temp").replace("digesttemp", "m.digestposts").replace("temp", "m.posts");
List<Map<String, String>> memberslist = dataBaseService.executeQuery("select m.uid,m.username,mm.medals from "+tablePrefix+"members as m left join "+tablePrefix+"memberfields as mm on m.uid=mm.uid where "+qualification);
boolean exist = false;
uids = "0";
if(memberslist!=null){
for(Map<String,String> memberIfMap : memberslist){
String mmMedals = memberIfMap.get("medals");
exist = false;
if(mmMedals!=null && !mmMedals.equals("")){
String[] mmMedalsArray = mmMedals.split("\t");
for(String mmMedal : mmMedalsArray){
if(mmMedal.equals(medalId)){
exist = true;
break;
}
}
}
if(!exist){
uids += ","+memberIfMap.get("uid");
Log.writelog(realPath, "medalslog", nowtime + "\t" + currentMember.getUsername() + "\t" + request.getRemoteAddr() + "\t" + memberIfMap.get("username") + "\t" + medalId + "\tgrant\t" + reason);
}
}
}
if(!uids.equals("0")){
dataBaseService.execute("UPDATE "+tablePrefix+"memberfields SET medals=concat(medals,'"+medalId+"\t') where uid IN(" + uids+")");
}
}
}
return this.getForward(mapping, request);
}
@SuppressWarnings("unchecked")
public ActionForward toCredits(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String settingsubmit = request.getParameter("settingsubmit");
String addsubmit = request.getParameter("addsubmit");
if(settingsubmit == null && addsubmit==null){
String projectId = request.getParameter("projectid");
Map<String,String> settingMap = ForumInit.settings;
Map extcredits = null;
Map creditspolicy = null;
String creditsformula = null;
String creditstrans = null;
String creditstax = null;
String transfermincredits = null;
String exchangemincredits = null;
String maxincperthread = null;
String maxchargespan = null;
if (projectId == null || projectId.equals("0")) {
extcredits = dataParse.characterParse(settingMap.get("extcredits"), true);
creditspolicy = dataParse.characterParse(settingMap.get("creditspolicy"), true);
creditsformula = settingMap.get("creditsformula");
creditstrans = settingMap.get("creditstrans");
creditstax = settingMap.get("creditstax");
transfermincredits = settingMap.get("transfermincredits");
exchangemincredits = settingMap.get("exchangemincredits");
maxincperthread = settingMap.get("maxincperthread");
maxchargespan = settingMap.get("maxchargespan");
} else {
Short id = new Short(projectId);
Projects project = creSetSer.findBuId(id);
if (project != null) {
String str = project.getValue();
Map temp = dataParse.characterParse(str, true);
extcredits = dataParse.characterParse((String) temp.get("extcredits"),true);
creditspolicy = dataParse.characterParse((String) temp.get("creditspolicy"), true);
creditstrans = (String) temp.get("creditstrans");
creditsformula = (String) temp.get("creditsformula");
creditstax = (String) temp.get("creditstax");
transfermincredits = (String) temp.get("transfermincredits");
exchangemincredits = (String) temp.get("exchangemincredits");
maxincperthread = (String) temp.get("maxincperthread");
maxchargespan = (String) temp.get("maxchargespan");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -