package com.jspxcms.core.domain;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.jspxcms.core.support.Configurable;
public class GlobalRegister implements Configurable {
public static final String PREFIX = "register_";
/**
* 注册模式:关闭注册
*/
public static final int MODE_OFF = 0;
/**
* 注册模式:开放注册
*/
public static final int MODE_ON = 1;
/**
* 注册验证模式:不验证
*/
public static final int VERIFY_MODE_NONE = 0;
/**
* 注册验证模式:邮箱验证
*/
public static final int VERIFY_MODE_EMAIL = 1;
/**
* 注册验证模式:人工验证
*/
public static final int VERIFY_MODE_MANUAL = 2;
/**
* 注册模式。0:关闭注册,1:开放注册。
*/
public static final String MODE = "register_mode";
/**
* 会员组ID
*/
public static final String GROUP_ID = "register_groupId";
/**
* 组织ID
*/
public static final String ORG_ID = "register_orgId";
/**
* 用户名合法字符。
*/
public static final String VALID_CHARACTER = "register_validCharacter";
/**
* 用户名最小长度。
*/
public static final String MIN_LENGTH = "register_minLength";
/**
* 用户名最大长度。
*/
public static final String MAX_LENGTH = "register_maxLength";
/**
* 用户名保留字。
*/
public static final String RESERVED_WORDS = "register_reservedWords";
/**
* 用户验证模式。0:不验证,1:邮件验证,2:人工审核。
*/
public static final String VERIFY_MODE = "register_verifyMode";
/**
* 用户协议。
*/
public static final String USER_AGREEMENT = "register_userAgreement";
/**
* 注册验证EMAIL标题
*/
public static final String VERIFY_EMAIL_SUBJECT = "register_verifyEmailSubject";
/**
* 注册验证EMAIL正文
*/
public static final String VERIFY_EMAIL_TEXT = "register_verifyEmailText";
/**
* 找回密码EMAIL标题
*/
public static final String PASSWORD_EMAIL_SUBJECT = "register_passwordEmailSubject";
/**
* 找回密码EMAIL正文
*/
public static final String PASSWORD_EMAIL_TEXT = "register_passwordEmailText";
// /**
// * 邮箱激活EMAIL标题
// */
// public static final String ACTIVE_EMAIL_SUBJECT =
// "register_activeEmailSubject";
// /**
// * 邮箱激活EMAIL正文
// */
// public static final String ACTIVE_EMAIL_TEXT =
// "register_activeEmailText";
// /**
// * 欢迎信息EMAIL标题
// */
// public static final String WELCOME_EMAIL_SUBJECT =
// "register_welcomeEmailSubject";
// /**
// * 欢迎信息EMAIL正文
// */
// public static final String WELCOME_EMAIL_TEXT =
// "register_welcomeEmailText";
private Map<String, String> customs;
public GlobalRegister() {
}
public GlobalRegister(Map<String, String> customs) {
this.customs = customs;
}
public static String replaceVerifyEmail(String text, String username,
String sitename, String url) {
text = StringUtils.replace(text, "${username}", username);
text = StringUtils.replace(text, "${sitename}", sitename);
text = StringUtils.replace(text, "${url}", url);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
text = StringUtils.replace(text, "${date}", df.format(new Date()));
return text;
}
public static String replacePasswordEmail(String text, String username,
String sitename, String url) {
text = StringUtils.replace(text, "${username}", username);
text = StringUtils.replace(text, "${sitename}", sitename);
text = StringUtils.replace(text, "${url}", url);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
text = StringUtils.replace(text, "${date}", df.format(new Date()));
return text;
}
public Integer getMode() {
String mode = getCustoms().get(MODE);
if (StringUtils.isNotBlank(mode)) {
return Integer.parseInt(mode);
} else {
return MODE_ON;
}
}
public void setMode(Integer mode) {
if (mode != null) {
getCustoms().put(MODE, mode.toString());
} else {
getCustoms().remove(MODE);
}
}
public Integer getGroupId() {
String groupId = getCustoms().get(GROUP_ID);
if (StringUtils.isNotBlank(groupId)) {
return Integer.parseInt(groupId);
} else {
return 1;
}
}
public void setGroupId(Integer groupId) {
if (groupId != null) {
getCustoms().put(GROUP_ID, groupId.toString());
} else {
getCustoms().remove(GROUP_ID);
}
}
public Integer getOrgId() {
String orgId = getCustoms().get(ORG_ID);
if (StringUtils.isNotBlank(orgId)) {
return Integer.parseInt(orgId);
} else {
return 1;
}
}
public void setOrgId(Integer orgId) {
if (orgId != null) {
getCustoms().put(ORG_ID, orgId.toString());
} else {
getCustoms().remove(ORG_ID);
}
}
public Integer getMinLength() {
String minLength = getCustoms().get(MIN_LENGTH);
if (StringUtils.isNotBlank(minLength)) {
return Integer.parseInt(minLength);
} else {
return 3;
}
}
public void setMinLength(Integer minLength) {
if (minLength != null) {
getCustoms().put(MIN_LENGTH, minLength.toString());
} else {
getCustoms().remove(MIN_LENGTH);
}
}
public Integer getMaxLength() {
String maxLength = getCustoms().get(MAX_LENGTH);
if (StringUtils.isNotBlank(maxLength)) {
return Integer.parseInt(maxLength);
} else {
return 20;
}
}
public void setMaxLength(Integer maxLength) {
if (maxLength != null) {
getCustoms().put(MAX_LENGTH, maxLength.toString());
} else {
getCustoms().remove(MAX_LENGTH);
}
}
public String getValidCharacter() {
String validCharacter = getCustoms().get(VALID_CHARACTER);
if (StringUtils.isNotBlank(validCharacter)) {
return validCharacter;
} else {
return "^[0-9a-zA-Z\\u4e00-\\u9fa5\\.\\-@_]+$";
}
}
public void setValidCharacter(String validCharacter) {
if (StringUtils.isNotBlank(validCharacter)) {
getCustoms().put(VALID_CHARACTER, validCharacter);
} else {
getCustoms().remove(VALID_CHARACTER);
}
}
public String getReservedWords() {
return getCustoms().get(RESERVED_WORDS);
}
public void setReservedWords(String reservedWords) {
if (StringUtils.isNotBlank(reservedWords)) {
getCustoms().put(RESERVED_WORDS, reservedWords);
} else {
getCustoms().remove(RESERVED_WORDS);
}
}
public Integer getVerifyMode() {
String verifyMode = getCustoms().get(VERIFY_MODE);
if (StringUtils.isNotBlank(verifyMode)) {
return Integer.parseInt(verifyMode);
} else {
return VERIFY_MODE_NONE;
}
}
public void setVerifyMode(Integer verifyMode) {
if (verifyMode != null) {
getCustoms().put(VERIFY_MODE, verifyMode.toString());
} else {
getCustoms().remove(VERIFY_MODE);
}
}
public String getUserAgreement() {
return getCustoms().get(USER_AGREEMENT);
}
public void setUserAgreement(String userAgreement) {
if (StringUtils.isNotBlank(userAgreement)) {
getCustoms().put(USER_AGREEMENT, userAgreement);
} else {
getCustoms().remove(USER_AGREEMENT);
}
}
public String getVerifyEmailSubject() {
String subject = getCustoms().get(VERIFY_EMAIL_SUBJECT);
if (StringUtils.isNotBlank(subject)) {
return subject;
} else {
return "帐号激活邮件";
}
}
public void setVerifyEmailSubject(String verifyEmailSubject) {
if (StringUtils.isNotBlank(verifyEmailSubject)) {
getCustoms().put(VERIFY_EMAIL_SUBJECT, verifyEmailSubject);
} else {
getCustoms().remove(VERIFY_EMAIL_SUBJECT);
}
}
public String getVerifyEmailText() {
String text = getCustoms().get(VERIFY_EMAIL_TEXT);
if (StringUtils.isNotBlank(text)) {
return text;
} else {
return "亲爱的${username}:\n 请复制以下链接到浏览器中打开,以便激活您的帐号。\n ${url}\n\n${sitename}";
}
}
public void setVerifyEmailText(String verifyEmailText) {
if (StringUtils.isNotBlank(verifyEmailText)) {
getCustoms().put(VERIFY_EMAIL_TEXT, verifyEmailText);
} else {
getCustoms().remove(VERIFY_EMAIL_TEXT);
}
}
public String getPasswordEmailSubject() {
String subject = getCustoms().get(PASSWORD_EMAIL_SUBJECT);
if (StringUtils.isNotBlank(subject)) {
return subject;
} else {
return "找回密码通知";
}
}
public void setPasswordEmailSubject(String passwordEmailSubject) {
if (StringUtils.isNotBlank(passwordEmailSubject)) {
getCustoms().put(PASSWORD_EMAIL_SUBJECT, passwordEmailSubject);
} else {
getCustoms().remove(PASSWORD_EMAIL_SUBJECT);
}
}
public String getPasswordEmailText() {
String text = getCustoms().get(PASSWORD_EMAIL_TEXT);
if (StringUtils.isNotBlank(text)) {
return text;
} else {
return "亲爱的${username}:\n 请复制以下链接到浏览器中打开,进入密码修改页面。\n ${url}\n\n${sitename}";
}
}
public void setPasswordEmailText(String passwordEmailText) {
if (StringUtils.isNotBlank(passwordEmailText)) {
getCustoms().put(PASSWORD_EMAIL_TEXT, passwordEmailText);
} else {
getCustoms().remove(PASSWORD_EMAIL_TEXT);
}
}
// public String getWelcomeEmailTitle() {
// return getCustoms().get(WELCOME_EMAIL_TITLE);
// }
//
// public void setWelcomeEmailTitle(String welcomeEmailTitle) {
// if (StringUtils.isNotBlank(welcomeEmailTitle)) {
// getCustoms().put(WELCOME_EMAIL_TITLE, welcomeEmailTitle);
// } else {
// getCustoms().remove(WELCOME_EMAIL_TITLE);
// }
// }
//
// public String getWelcomeEmailText() {
// return getCustoms().get(WELCOME_EMAIL_TEXT);
// }
//
// public void setWelcomeEmailText(String welcomeEmailText) {
// if (StringUtils.isNotBlank(welcomeEmailText)) {
// getCustoms().put(WELCOME_EMAIL_TEXT, welcomeEmailText);
// } else {
// getCustoms().remove(WELCOME_EMAIL_TEXT);
// }
// }
public Map<String, String> getCustoms() {
if (customs == null) {
customs = new HashMap<String, String>();
}
return customs;
}
public void setCustoms(Map<String, String> customs) {
this.customs = customs;
}
public String getPrefix() {
return PREFIX;
}
}