📄 configoper.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! * * 用于操作全局的appConfig.xml文件 */package biz.tbuy.common;import biz.tbuy.common.logs.Elog;import biz.tbuy.share.XmlOper;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;import org.w3c.dom.Text;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b><a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b><a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class ConfigOper { public ConfigOper() {} /*************************************************************************** * 关于系统全局“开关”信息的装载, 全局的配置信息包括以下各项:<br> * displays.get("register") <br> * displays.get("login") <br> * displays.get("emailRegister") <br> * displays.get("validateRegister") <br> * displays.get("validateLogin") <br> * displays.get("upload") <br> * @return displays **************************************************************************/ public Map<String, Boolean> loadDisplay() { Map<String, Boolean> displays = new HashMap<String, Boolean>(6); try { Document doc = XmlOper.getDocument(getAppConfig()); Element root = doc.getDocumentElement(); Element display = (Element) root. getElementsByTagName("display").item(0); Boolean register = Boolean.valueOf(display. getElementsByTagName("register").item(0).getTextContent().trim()); Boolean login = Boolean.valueOf(display. getElementsByTagName("login").item(0).getTextContent().trim()); Boolean emailRegister = Boolean.valueOf(display. getElementsByTagName("email-register").item(0).getTextContent().trim()); Boolean validateRegister = Boolean.valueOf(display. getElementsByTagName("validate-register").item(0).getTextContent().trim()); Boolean validateLogin = Boolean.valueOf(display. getElementsByTagName("validate-login").item(0).getTextContent().trim()); Boolean upload = Boolean.valueOf(display. getElementsByTagName("upload").item(0).getTextContent().trim()); displays.put("register", register); displays.put("login", login); displays.put("emailRegister", emailRegister); displays.put("validateRegister", validateRegister); displays.put("validateLogin", validateLogin); displays.put("upload", upload); } catch (Exception e) { Elog.log("Exception:ConfigOper:loadDisplay:" + e.getMessage()); } return displays; } /** * 更新系统全局“开关”信息!参数displays的keys应该是这些<br> * register|login|emailRegister| * validateRegister|validateLogin|upload * @param displays Map类型 */ public void updateDisplay(Map<String, Boolean> displays) { Boolean register = displays.get("register"); Boolean login = displays.get("login"); Boolean emailRegister = displays.get("emailRegister"); Boolean validateRegister = displays.get("validateRegister"); Boolean validateLogin = displays.get("validateLogin"); Boolean upload = displays.get("upload"); try { Document doc = XmlOper.getDocument(getAppConfig()); Element root = doc.getDocumentElement(); Element dis = (Element)root.getElementsByTagName("display").item(0); if (register != null) dis.getElementsByTagName("register"). item(0).setTextContent(String.valueOf(register)); if (login != null) dis.getElementsByTagName("login"). item(0).setTextContent(String.valueOf(login)); if (emailRegister != null) dis.getElementsByTagName("email-register"). item(0).setTextContent(String.valueOf(emailRegister)); if (validateRegister != null) dis.getElementsByTagName("validate-register"). item(0).setTextContent(String.valueOf(validateRegister)); if (validateLogin != null) dis.getElementsByTagName("validate-login"). item(0).setTextContent(String.valueOf(validateLogin)); if (upload != null) dis.getElementsByTagName("upload"). item(0).setTextContent(String.valueOf(upload)); XmlOper.saveDocument(doc, getAppConfig()); } catch (Exception e) { Elog.log("Exception:ConfigOper:updateDisplay:" + e.getMessage()); } } /************************************************************************** * 关于Email邮件功能配置初始化的初始化<br> * 载入email的配置信息,当开启emailRegister时,会在用户注册完id后发送一封帐号 * 激活邮件至用户所指定的邮箱中,只有用户点击该激活链接,帐号才能正式开启使用! * 如果系统关闭了emailRegister,那么用户在未激活的情况下也可登录,同时id自动激活! * 注意:该配置同时影响用户的密码取回功能,密码的取回需要邮件功能! * 获取Email的配置信息,包含各项以下属性信息<br> * .serverType -> email服务器类型,如:pop3<br> * .serverSend -> 如:smtp.gmail.com<br> * .serverReceive -> 如:pop.gmail.com<br> * .portSmtp -> smtp端口,默认为:25<br> * .portPop -> pop端口,默认:110<br> * .isSSLSmtp -> 是否需要安全连接(smtp)默认:false<br> * .isSSLPop -> 是否需要安全连接(pop)默认:false<br> * .portSSLSmtp -> smtp安全连接端口,默认:465<br> * .portSSLPop -> pop安全连接端口,默认:995<br> * .address -> 完整的电子邮件地址:<br> * .user -> 连接服务器时的用户名:<br> * .password -> 连接服务器时的密码:<br> * @return emailConfig **************************************************************************/ public Map<String, String> loadEmailConfig() { Map<String, String> emailConfig = new HashMap<String, String>(12); try { Document doc = XmlOper.getDocument(getAppConfig()); Element root = doc.getDocumentElement(); Element email = (Element) root.getElementsByTagName("email-config"). item(0); String serverType = email.getElementsByTagName("server-type"). item(0).getTextContent().trim(); String serverSend = email.getElementsByTagName("server-send"). item(0).getTextContent().trim(); String serverReceive = email.getElementsByTagName("server-receive"). item(0).getTextContent().trim(); String portSmtp = email.getElementsByTagName("port-smtp"). item(0).getTextContent().trim(); String portPop = email.getElementsByTagName("port-pop"). item(0).getTextContent().trim(); String isSSLSmtp = email.getElementsByTagName("is-ssl-smtp"). item(0).getTextContent().trim(); String isSSLPop = email.getElementsByTagName("is-ssl-pop"). item(0).getTextContent().trim(); String portSSLSmtp = email.getElementsByTagName("port-ssl-smtp"). item(0).getTextContent().trim(); String portSSLPop = email.getElementsByTagName("port-ssl-pop"). item(0).getTextContent().trim(); String address = email.getElementsByTagName("address"). item(0).getTextContent().trim(); String user = email.getElementsByTagName("user"). item(0).getTextContent().trim(); String password = email.getElementsByTagName("password"). item(0).getTextContent().trim(); emailConfig.put("serverType", serverType); emailConfig.put("serverSend", serverSend); emailConfig.put("serverReceive", serverReceive); emailConfig.put("portSmtp", portSmtp); emailConfig.put("portPop", portPop); emailConfig.put("isSSLSmtp", isSSLSmtp); emailConfig.put("isSSLPop", isSSLPop); emailConfig.put("portSSLSmtp", portSSLSmtp); emailConfig.put("portSSLPop", portSSLPop); emailConfig.put("address", address); emailConfig.put("user", user); emailConfig.put("password", password); } catch (Exception e) { Elog.log("Exception:ConfigOper:loadEmailConfig:" + e.getMessage()); } return emailConfig; } /** * 更新email配置信息,configs keys像以下这样:<br> * serverType|serverSend|serverReceive|portSmtp|portPop| * isSSLSmtp|isSSLPop|portSSLSmtp|portSSLPop|address| * user|password * @param configs */ public void updateEmailConfig(Map<String, String> configs) { String serverType = configs.get("serverType"); String serverSend = configs.get("serverSend"); String serverReceive = configs.get("serverReceive"); String portSmtp = configs.get("portSmtp"); String portPop = configs.get("portPop"); String isSSLSmtp = configs.get("isSSLSmtp"); String isSSLPop = configs.get("isSSLPop"); String portSSLSmtp = configs.get("portSSLSmtp"); String portSSLPop = configs.get("portSSLPop"); String address = configs.get("address"); String user = configs.get("user"); String password = configs.get("password"); try { Document doc = XmlOper.getDocument(getAppConfig()); Element root = doc.getDocumentElement(); Element email = (Element)root.getElementsByTagName("email-config").item(0); if (serverType != null) email.getElementsByTagName("server-type").item(0). setTextContent(serverType); if (serverSend != null) email.getElementsByTagName("server-send").item(0). setTextContent(serverSend); if (serverReceive != null) email.getElementsByTagName("server-receive").item(0). setTextContent(serverReceive); if (portSmtp != null) email.getElementsByTagName("port-smtp").item(0). setTextContent(portSmtp); if (portPop != null) email.getElementsByTagName("port-pop").item(0). setTextContent(portPop); if (isSSLSmtp != null) email.getElementsByTagName("is-ssl-smtp").item(0). setTextContent(isSSLSmtp); if (isSSLPop != null) email.getElementsByTagName("is-ssl-pop").item(0). setTextContent(isSSLPop); if (portSSLSmtp != null) email.getElementsByTagName("port-ssl-smtp").item(0). setTextContent(portSSLSmtp); if (portSSLPop != null) email.getElementsByTagName("port-ssl-pop").item(0). setTextContent(portSSLPop); if (address != null) email.getElementsByTagName("address").item(0). setTextContent(address); if (user != null) email.getElementsByTagName("user").item(0). setTextContent(user); if (password != null) email.getElementsByTagName("password").item(0). setTextContent(password); XmlOper.saveDocument(doc, getAppConfig()); } catch (Exception e) { Elog.log("Exception:ConfigOper:updateEmailConfig:" + e.getMessage()); } } /*************************************************************************** * 关于总站admin列表的装载,注意admins中的id信息必须是已经注册的用户 * @return admins ArrayList<String>类型的集合,包含admin的id信息。 **************************************************************************/ public List<String> loadAdmins() { List<String> admins = new ArrayList<String>(2); try { Document doc = XmlOper.getDocument(getAppConfig()); Element root = doc.getDocumentElement(); Element adminList = (Element)root.getElementsByTagName("admin-list").item(0); NodeList ads = adminList.getElementsByTagName("id"); for (int i = 0; i < ads.getLength(); i++) { String admin = ads.item(i).getTextContent().trim(); admins.add(admin); } } catch (Exception e) { Elog.log("Exception:ConfigOper:loadAdmins:" + e.getMessage()); } return admins; } /***************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -