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

📄 sysinfo.java

📁 天乙社区6.0是一套基于JAVA技术的网络虚拟社区
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package 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 + -