?? sysinfo.java
字號:
package src.com.laoer.bbscs.sys;
import java.io.*;
import java.util.*;
import org.apache.commons.lang.*;
import org.apache.commons.logging.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
/**
* <p>Title: TianYi BBS</p>
* <p>Description: TianYi BBS System</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: LAOER.COM/TIANYISOFT.NET</p>
* @author laoer
* @version 6.0
*/
public class SysInfo {
private static final Log logger = LogFactory.getLog(SysInfo.class);
public static SysInfo instance;
private String website;
private String weburl;
private String forumname;
private String forumurl;
private String webmasteremail;
private String usepass;
private String passurl;
private String cookiepath;
private String cookiedomain;
private String cookiekey;
private int bulletinnum;
private String usejs;
private int jsnum;
private String open;
private String closemsg;
private int logindistance;
private int facehigh;
private int facewith;
private int facesize;
private int signmaxlength;
private String forbidnickname;
private int notenumpage;
private int subscibenumsuper;
private int subscibenummaster;
private int subscibenumuser;
private int notehtml;
private int noteubb;
private int regopen;
private int seeuserinfo;
private int seeuserlist;
private int signhtml;
private int signubb;
private int useallsearch;
private int usesearch;
private int hiddenboards;
private java.util.List userlevel;
private int postmaxsize;
private int forumpernum;
private int postpernum;
private int posthtml;
private int postubb;
private int htmledit;
private int upfile;
private int upfilesize;
private String upfilename;
private int upimghigh;
private int upimgwith;
private int indexall;
private int indextime;
private int cachemaxsize;
private int cachemaxlifetime;
private int postminsize;
private int votenum;
private String smtpmail;
private int smtpauth;
private String smtp;
private String mailuser;
private String mailpasswd;
private int boardthread;
private int friendnum = 100;
private int posttitlemax;
private int voteexp;
private int authcode;
private String passregurl;
private String passchangeurl;
private String logouturl;
public synchronized static SysInfo getInstance() {
if (instance == null) {
instance = new SysInfo();
}
return instance;
}
public SysInfo() {
loadConfig();
}
public void loadConfig() {
SAXBuilder sb = new SAXBuilder();
try {
Document doc = sb.build(new FileInputStream(Constant.CONFIGPATH +
Constant.CONFIGXMLFILE));
Element root = doc.getRootElement();
this.website = root.getChild("website").getTextTrim();
this.weburl = root.getChild("weburl").getTextTrim();
this.forumname = root.getChild("forumname").getTextTrim();
this.forumurl = root.getChild("forumurl").getTextTrim();
this.webmasteremail = root.getChild("webmasteremail").getTextTrim();
this.usepass = root.getChild("usepass").getTextTrim();
this.passurl = root.getChild("passurl").getTextTrim();
this.passregurl = root.getChild("passregurl").getTextTrim();
this.passchangeurl = root.getChild("passchangeurl").getTextTrim();
this.cookiepath = root.getChild("cookiepath").getTextTrim();
this.cookiedomain = root.getChild("cookiedomain").getTextTrim();
this.cookiekey = root.getChild("cookiekey").getTextTrim();
this.bulletinnum = NumberUtils.stringToInt(root.getChild("bulletinnum").
getTextTrim(), 5);
this.usejs = root.getChild("usejs").getTextTrim();
this.jsnum = NumberUtils.stringToInt(root.getChild("jsnum").getTextTrim(),
10);
this.boardthread = NumberUtils.stringToInt(root.getChild("boardthread").
getTextTrim(), 0);
this.authcode = NumberUtils.stringToInt(root.getChild("authcode").
getTextTrim(), 0);
this.logouturl = root.getChild("logouturl").getTextTrim();
this.open = root.getChild("open").getTextTrim();
this.closemsg = root.getChild("closemsg").getTextTrim();
this.logindistance = NumberUtils.stringToInt(root.getChild(
"logindistance").getTextTrim(), 15);
this.facehigh = NumberUtils.stringToInt(root.getChild("facehigh").
getTextTrim(), 30);
this.facewith = NumberUtils.stringToInt(root.getChild("facewith").
getTextTrim(), 30);
this.facesize = NumberUtils.stringToInt(root.getChild("facesize").
getTextTrim(), 20);
this.signmaxlength = NumberUtils.stringToInt(root.getChild(
"signmaxlength").getTextTrim(), 255);
this.signhtml = NumberUtils.stringToInt(root.getChild("signhtml").
getTextTrim(), 0);
this.signubb = NumberUtils.stringToInt(root.getChild("signubb").
getTextTrim(), 0);
this.regopen = NumberUtils.stringToInt(root.getChild("regopen").
getTextTrim(), 1);
this.forbidnickname = root.getChild("forbidnickname").getTextTrim();
//Constant.FORBIDNICKNAME = this.forbidnickname;
this.seeuserlist = NumberUtils.stringToInt(root.getChild("seeuserlist").
getTextTrim(), 1);
this.usesearch = NumberUtils.stringToInt(root.getChild("usesearch").
getTextTrim(), 1);
this.useallsearch = NumberUtils.stringToInt(root.getChild("useallsearch").
getTextTrim(), 1);
this.seeuserinfo = NumberUtils.stringToInt(root.getChild("seeuserinfo").
getTextTrim(), 0);
this.hiddenboards = NumberUtils.stringToInt(root.getChild("hiddenboards").
getTextTrim(), 1);
this.notenumpage = NumberUtils.stringToInt(root.getChild("notenumpage").
getTextTrim(), 5);
this.notehtml = NumberUtils.stringToInt(root.getChild("notehtml").
getTextTrim(), 0);
this.noteubb = NumberUtils.stringToInt(root.getChild("noteubb").
getTextTrim(), 0);
this.subscibenumsuper = NumberUtils.stringToInt(root.getChild(
"subscibenumsuper").getTextTrim(), 300);
this.subscibenummaster = NumberUtils.stringToInt(root.getChild(
"subscibenummaster").getTextTrim(), 150);
this.subscibenumuser = NumberUtils.stringToInt(root.getChild(
"subscibenumuser").getTextTrim(), 100);
Element userlevele = root.getChild("userlevel");
List userlevellist = userlevele.getChildren();
UserLevel ul = null;
userlevel = new ArrayList();
for (int i = 0; i < userlevellist.size(); i++) {
ul = new UserLevel();
Element level = (Element) userlevellist.get(i);
ul.setId(i);
ul.setName(level.getAttribute("name").getValue());
ul.setMin(level.getAttribute("min").getIntValue());
ul.setMax(level.getAttribute("max").getIntValue());
ul.setHpower(level.getAttribute("hpower").getIntValue());
userlevel.add(ul);
}
this.postmaxsize = NumberUtils.stringToInt(root.getChild("postmaxsize").
getTextTrim(), 20);
this.forumpernum = NumberUtils.stringToInt(root.getChild("forumpernum").
getTextTrim(), 20);
this.postpernum = NumberUtils.stringToInt(root.getChild("postpernum").
getTextTrim(), 10);
this.posthtml = NumberUtils.stringToInt(root.getChild("posthtml").
getTextTrim(), 1);
this.postubb = NumberUtils.stringToInt(root.getChild("postubb").
getTextTrim(), 1);
this.htmledit = NumberUtils.stringToInt(root.getChild("htmledit").
getTextTrim(), 1);
this.upfile = NumberUtils.stringToInt(root.getChild("upfile").getTextTrim(),
1);
this.upfilesize = NumberUtils.stringToInt(root.getChild("upfilesize").
getTextTrim(), 1);
this.upfilename = root.getChild("upfilename").getTextTrim();
this.upimghigh = NumberUtils.stringToInt(root.getChild("upimghigh").
getTextTrim(), 500);
this.upimgwith = NumberUtils.stringToInt(root.getChild("upimgwith").
getTextTrim(), 500);
this.indexall = NumberUtils.stringToInt(root.getChild("indexall").
getTextTrim(), 1);
this.indextime = NumberUtils.stringToInt(root.getChild("indextime").
getTextTrim(), 60);
this.cachemaxsize = NumberUtils.stringToInt(root.getChild("cachemaxsize").
getTextTrim(), 2048);
this.cachemaxlifetime = NumberUtils.stringToInt(root.getChild(
"cachemaxlifetime").getTextTrim(), 360);
this.postminsize = NumberUtils.stringToInt(root.getChild(
"postminsize").getTextTrim(), 20);
this.voteexp = NumberUtils.stringToInt(root.getChild(
"voteexp").getTextTrim(), 10);
this.votenum = NumberUtils.stringToInt(root.getChild(
"votenum").getTextTrim(), 10);
this.posttitlemax = NumberUtils.stringToInt(root.getChild(
"posttitlemax").getTextTrim(), 10);
this.smtpmail = root.getChild("smtpmail").getTextTrim();
this.smtpauth = NumberUtils.stringToInt(root.getChild("smtpauth").
getTextTrim(), 1);
this.smtp = root.getChild("smtp").getTextTrim();
this.mailuser = root.getChild("mailuser").getTextTrim();
this.mailpasswd = root.getChild("mailpasswd").getTextTrim();
}
catch (Exception ex) {
logger.error(ex);
}
}
public void changeConfig() {
Element rootElement = new Element("sysinfo");
Document bbscsDocument = new Document(rootElement);
rootElement.addContent(new Element("website").addContent(new CDATA(this.
website)));
rootElement.addContent(new Element("weburl").addContent(this.weburl));
rootElement.addContent(new Element("forumname").addContent(new CDATA(this.
forumname)));
rootElement.addContent(new Element("forumurl").addContent(this.forumurl));
rootElement.addContent(new Element("webmasteremail").addContent(this.
webmasteremail));
rootElement.addContent(new Element("usepass").addContent(this.usepass));
rootElement.addContent(new Element("passurl").addContent(this.passurl));
rootElement.addContent(new Element("passregurl").addContent(this.passregurl));
rootElement.addContent(new Element("passchangeurl").addContent(this.
passchangeurl));
rootElement.addContent(new Element("cookiepath").addContent(this.cookiepath));
rootElement.addContent(new Element("cookiedomain").addContent(this.
cookiedomain));
rootElement.addContent(new Element("cookiekey").addContent(this.cookiekey));
rootElement.addContent(new Element("bulletinnum").addContent(String.valueOf(this.
bulletinnum)));
rootElement.addContent(new Element("usejs").addContent(this.usejs));
rootElement.addContent(new Element("jsnum").addContent(String.valueOf(this.
jsnum)));
rootElement.addContent(new Element("boardthread").addContent(String.valueOf(this.
boardthread)));
rootElement.addContent(new Element("authcode").addContent(String.valueOf(this.
authcode)));
rootElement.addContent(new Element("logouturl").addContent(this.logouturl));
rootElement.addContent(new Element("open").addContent(this.open));
rootElement.addContent(new Element("closemsg").addContent(new CDATA(this.
closemsg)));
rootElement.addContent(new Element("logindistance").addContent(String.
valueOf(this.logindistance)));
rootElement.addContent(new Element("facehigh").addContent(String.valueOf(this.
facehigh)));
rootElement.addContent(new Element("facewith").addContent(String.valueOf(this.
facewith)));
rootElement.addContent(new Element("facesize").addContent(String.valueOf(this.
facesize)));
rootElement.addContent(new Element("signmaxlength").addContent(String.
valueOf(this.signmaxlength)));
rootElement.addContent(new Element("signhtml").addContent(String.valueOf(this.
signhtml)));
rootElement.addContent(new Element("signubb").addContent(String.valueOf(this.
signubb)));
rootElement.addContent(new Element("regopen").addContent(String.valueOf(this.
regopen)));
rootElement.addContent(new Element("forbidnickname").addContent(new CDATA(this.
forbidnickname)));
rootElement.addContent(new Element("seeuserlist").addContent(String.valueOf(this.
seeuserlist)));
rootElement.addContent(new Element("usesearch").addContent(String.valueOf(this.
usesearch)));
rootElement.addContent(new Element("useallsearch").addContent(String.
valueOf(this.useallsearch)));
rootElement.addContent(new Element("seeuserinfo").addContent(String.valueOf(this.
seeuserinfo)));
rootElement.addContent(new Element("hiddenboards").addContent(String.
valueOf(this.hiddenboards)));
rootElement.addContent(new Element("notenumpage").addContent(String.valueOf(this.
notenumpage)));
rootElement.addContent(new Element("notehtml").addContent(String.valueOf(this.
notehtml)));
rootElement.addContent(new Element("noteubb").addContent(String.valueOf(this.
noteubb)));
rootElement.addContent(new Element("subscibenumsuper").addContent(String.
valueOf(this.subscibenumsuper)));
rootElement.addContent(new Element("subscibenummaster").addContent(String.
valueOf(this.subscibenummaster)));
rootElement.addContent(new Element("subscibenumuser").addContent(String.
valueOf(this.subscibenumuser)));
Element userlevel = new Element("userlevel");
for (int i = 0; i < this.userlevel.size(); i++) {
UserLevel ul = (UserLevel)this.userlevel.get(i);
Element level = new Element("level");
level.addAttribute("name", ul.getName());
level.addAttribute("min", String.valueOf(ul.getMin()));
level.addAttribute("max", String.valueOf(ul.getMax()));
level.addAttribute("hpower", String.valueOf(ul.getHpower()));
userlevel.addContent(level);
}
rootElement.addContent(userlevel);
rootElement.addContent(new Element("postmaxsize").addContent(String.
valueOf(this.postmaxsize)));
rootElement.addContent(new Element("forumpernum").addContent(String.
valueOf(this.forumpernum)));
rootElement.addContent(new Element("postpernum").addContent(String.
valueOf(this.postpernum)));
rootElement.addContent(new Element("posthtml").addContent(String.
valueOf(this.posthtml)));
rootElement.addContent(new Element("postubb").addContent(String.
valueOf(this.postubb)));
rootElement.addContent(new Element("htmledit").addContent(String.
valueOf(this.htmledit)));
rootElement.addContent(new Element("upfile").addContent(String.
valueOf(this.upfile)));
rootElement.addContent(new Element("upfilesize").addContent(String.
valueOf(this.upfilesize)));
rootElement.addContent(new Element("upfilename").addContent(this.upfilename));
rootElement.addContent(new Element("upimghigh").addContent(String.
valueOf(this.upimghigh)));
rootElement.addContent(new Element("upimgwith").addContent(String.
valueOf(this.upimgwith)));
rootElement.addContent(new Element("indexall").addContent(String.
valueOf(this.indexall)));
rootElement.addContent(new Element("indextime").addContent(String.
valueOf(this.indextime)));
rootElement.addContent(new Element("cachemaxsize").addContent(String.
valueOf(this.cachemaxsize)));
rootElement.addContent(new Element("cachemaxlifetime").addContent(String.
valueOf(this.cachemaxlifetime)));
rootElement.addContent(new Element("postminsize").addContent(String.
valueOf(this.postminsize)));
rootElement.addContent(new Element("voteexp").addContent(String.
valueOf(this.voteexp)));
rootElement.addContent(new Element("votenum").addContent(String.
valueOf(this.votenum)));
rootElement.addContent(new Element("posttitlemax").addContent(String.
valueOf(this.posttitlemax)));
rootElement.addContent(new Element("smtpmail").addContent(this.smtpmail));
rootElement.addContent(new Element("smtpauth").addContent(String.
valueOf(this.smtpauth)));
rootElement.addContent(new Element("smtp").addContent(this.smtp));
rootElement.addContent(new Element("mailuser").addContent(this.mailuser));
rootElement.addContent(new Element("mailpasswd").addContent(this.mailpasswd));
try {
XMLOutputter xmlo = new XMLOutputter(" ", true, "UTF-8");
xmlo.output(bbscsDocument, new FileOutputStream(Constant.CONFIGPATH +
Constant.CONFIGXMLFILE));
}
catch (java.io.IOException e) {
logger.error(e);
}
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
public String getWeburl() {
return weburl;
}
public void setWeburl(String weburl) {
this.weburl = weburl;
}
public String getForumname() {
return forumname;
}
public void setForumname(String forumname) {
this.forumname = forumname;
}
public String getForumurl() {
return forumurl;
}
public void setForumurl(String forumurl) {
this.forumurl = forumurl;
}
public String getWebmasteremail() {
return webmasteremail;
}
public void setWebmasteremail(String webmasteremail) {
this.webmasteremail = webmasteremail;
}
public String getUsepass() {
return usepass;
}
public void setUsepass(String usepass) {
this.usepass = usepass;
}
public String getPassurl() {
return passurl;
}
public void setPassurl(String passurl) {
this.passurl = passurl;
}
public String getCookiepath() {
return cookiepath;
}
public void setCookiepath(String cookiepath) {
this.cookiepath = cookiepath;
}
public String getCookiedomain() {
return cookiedomain;
}
public void setCookiedomain(String cookiedomain) {
this.cookiedomain = cookiedomain;
}
public String getCookiekey() {
return cookiekey;
}
public void setCookiekey(String cookiekey) {
this.cookiekey = cookiekey;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -