📄 regconfig.java~6~
字号:
package com.redmoon.forum;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import java.io.*;
import java.net.URL;
import org.apache.log4j.Logger;
import java.net.URLDecoder;
import java.util.*;
import com.redmoon.forum.security.IPMonitor;
import cn.js.fan.util.StrUtil;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class RegConfig {
private final String CONFIG_FILENAME = "config_forum_reg.xml";
private final String rootChild = "forum";
Logger logger;
private String cfgpath;
Document doc = null;
Element root = null;
public RegConfig() {
logger = Logger.getLogger(RegConfig.class.getName());
init();
}
public void init() {
URL cfgURL = getClass().getClassLoader().getResource(
CONFIG_FILENAME);
cfgpath = cfgURL.getFile();
cfgpath = URLDecoder.decode(cfgpath);
SAXBuilder sb = new SAXBuilder();
try {
FileInputStream fin = new FileInputStream(cfgpath);
doc = sb.build(fin);
root = doc.getRootElement();
fin.close();
} catch (org.jdom.JDOMException e) {
logger.error("RegConfig:" + e.getMessage());
} catch (java.io.IOException e) {
logger.error("RegConfig:" + e.getMessage());
}
}
public Element getRootElement() {
if (root == null) {
init();
}
return root;
}
public void set(String code, String property, String textValue) {
List list = root.getChildren();
if (list != null) {
Iterator ir = list.listIterator();
while (ir.hasNext()) {
Element child = (Element) ir.next();
String ecode = child.getAttributeValue("code");
if (ecode.equals(code)) {
List list1 = child.getChildren();
if (list1 != null) {
Iterator ir1 = list1.listIterator();
while (ir1.hasNext()) {
Element childContent = (Element) ir1.next();
if (childContent.getName().equals(property)) {
childContent.setText(textValue);
}
}
}
} // end if
}
}
}
public boolean put(String name, String value) {
if (root == null)
init();
Element which = root.getChild(rootChild).getChild(name);
if (which == null)
return false;
which.setText(value);
writemodify();
return true;
}
public void writemodify() {
String indent = " ";
Format format = Format.getPrettyFormat();
format.setIndent(indent);
format.setEncoding("utf-8");
XMLOutputter outp = new XMLOutputter(format);
try {
FileOutputStream fout = new FileOutputStream(cfgpath);
outp.output(doc, fout);
fout.close();
} catch (java.io.IOException e) {}
}
public boolean valueValid(String value, String name) {
if (name.equals("specialIPRegCtrl") || name.equals("IPVisitList") ||
name.equals("adminIPVisitList")) {
if (!IPMonitor.IsValidIP(value)) {
return false;
}
}
if (name.equals("EAllowAddress") || name.equals("EForbidAddress")) {
String[] Emails = value.split("\n");
for (int i = 0; i < Emails.length; i++) {
Emails[i] = "a" + Emails[i];
if (!StrUtil.IsValidEmail(Emails[i])) {
return false;
}
}
}
if (name.equals("IPRegCtrl") || name.equals("newUserCtrl")) {
if (!StrUtil.isNumeric(value)) {
return false;
}
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -