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

📄 bbscsutil.java

📁 天乙虚拟社区8.05版本。只支持Mysql
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.laoer.bbscs.comm;

import java.io.*;
import java.net.*;
import java.util.*;
import java.text.*;
import javax.servlet.http.*;
import org.apache.struts.util.*;
import com.opensymphony.xwork2.util.TextUtils;
import org.apache.commons.io.*;
import org.apache.commons.lang.StringUtils;

public class BBSCSUtil {

	public static String getUserWebFilePath(String userID) {
		StringBuffer sb = new StringBuffer();
		int num = Math.abs(userID.hashCode());
		sb.append(Constant.ROOTPATH);
		sb.append("user/");
		sb.append(num % 100);
		sb.append("/");
		sb.append(userID);
		sb.append("/");
		File ft = new File(sb.toString());
		if (!ft.exists()) {
			ft.mkdirs();
		}
		return sb.toString();
	}

	public static String getUserWebPath(String userID) {
		StringBuffer sb = new StringBuffer();
		int num = Math.abs(userID.hashCode());
		sb.append("user/");
		sb.append(num % 100);
		sb.append("/");
		sb.append(userID);
		sb.append("/");
		return sb.toString();
	}

	public static String getWebRealPath(HttpServletRequest request) {
		StringBuffer sb = new StringBuffer();
		sb.append("http://");
		sb.append(request.getServerName());
		if (request.getServerPort() != 80) {
			sb.append(":");
			sb.append(request.getServerPort());
		}

		// sb.append(request.getContextPath());
		// sb.append("/");
		return sb.toString();
	}

	public static String getUpFilePath(long bid, long adate) {
		StringBuffer sb = new StringBuffer();
		sb.append(Constant.ROOTPATH);
		sb.append(getUpFileWebPath(bid, adate));
		File ft = new File(sb.toString());
		if (!ft.exists()) {
			ft.mkdirs();
		}
		return sb.toString();
	}

	public static String getUpFileWebPath(long bid, long adate) {
		StringBuffer sb = new StringBuffer();
		sb.append("upload/");
		sb.append((bid % 20));
		sb.append("/");
		sb.append(bid);
		sb.append("/");
		sb.append(Util.formatDate4(new Date(adate)));
		sb.append("/");
		return sb.toString();
	}

	public static String getIncludePath() {
		StringBuffer sb = new StringBuffer();
		sb.append(Constant.ROOTPATH);
		sb.append("include/");
		File ft = new File(sb.toString());
		if (!ft.exists()) {
			ft.mkdirs();
		}
		return sb.toString();
	}

	public static String getActionMappingName(String action) {
		String value = action;
		int question = action.indexOf("?");
		if (question >= 0) {
			value = value.substring(0, question);
		}
		int slash = value.lastIndexOf("/");
		int period = value.lastIndexOf(".");
		if ((period >= 0) && (period > slash)) {
			value = value.substring(0, period);
		}
		if (value.startsWith("/")) {
			return (value);
		} else {
			return ("/" + value);
		}
	}

	public static String getActionMappingNameWithoutPrefix(String action) {
		String value = action;
		int question = action.indexOf("?");
		if (question >= 0) {
			value = value.substring(0, question);
		}
		int slash = value.lastIndexOf("/");
		int period = value.lastIndexOf(".");
		if ((period >= 0) && (period > slash)) {
			value = value.substring(0, period);
		}
		return (value);
	}

	public static String getActionMappingURL(String action) {

		StringBuffer value = new StringBuffer();

		// Use our servlet mapping, if one is specified
		String servletMapping = Constant.SERVLET_MAPPING;
		if (servletMapping != null) {

			String queryString = null;
			int question = action.indexOf("?");
			if (question >= 0) {
				queryString = action.substring(question);
			}
			String actionMapping = getActionMappingName(action);
			if (servletMapping.startsWith("*.")) {
				value.append(actionMapping);
				value.append(servletMapping.substring(1));
			} else if (servletMapping.endsWith("/*")) {
				value.append(servletMapping.substring(0, servletMapping.length() - 2));
				value.append(actionMapping);
			} else if (servletMapping.equals("/")) {
				value.append(actionMapping);
			}
			if (queryString != null) {
				value.append(queryString);
			}
		}

		// Otherwise, assume extension mapping is in use and extension is
		// already included in the action property
		else {
			if (!action.startsWith("/")) {
				value.append("/");
			}
			value.append(action);
		}

		// Return the completed value
		return (value.toString());
	}

	public static String getActionMappingURLWithoutPrefix(String action) {

		StringBuffer value = new StringBuffer();

		// Use our servlet mapping, if one is specified
		String servletMapping = Constant.SERVLET_MAPPING;
		if (servletMapping != null) {

			String queryString = null;
			int question = action.indexOf("?");
			if (question >= 0) {
				queryString = action.substring(question);
			}
			String actionMapping = getActionMappingNameWithoutPrefix(action);
			if (servletMapping.startsWith("*.")) {
				value.append(actionMapping);
				value.append(servletMapping.substring(1));
			} else if (servletMapping.endsWith("/*")) {
				value.append(servletMapping.substring(0, servletMapping.length() - 2));
				value.append(actionMapping);
			} else if (servletMapping.equals("/")) {
				value.append(actionMapping);
			}
			if (queryString != null) {
				value.append(queryString);
			}
		}

		// Otherwise, assume extension mapping is in use and extension is
		// already included in the action property
		// else {
		// if (!action.startsWith("/")) {
		// value.append("/");
		// }
		// value.append(action);
		// }

		// Return the completed value
		return (value.toString());
	}

	public static String getActionMappingURL(String action, HttpServletRequest request) {

		StringBuffer value = new StringBuffer(request.getContextPath());

		// Use our servlet mapping, if one is specified
		String servletMapping = Constant.SERVLET_MAPPING;
		if (servletMapping != null) {
			String queryString = null;
			int question = action.indexOf("?");
			if (question >= 0) {
				queryString = action.substring(question);
			}
			String actionMapping = getActionMappingName(action);
			if (servletMapping.startsWith("*.")) {
				value.append(actionMapping);
				value.append(servletMapping.substring(1));
			} else if (servletMapping.endsWith("/*")) {
				value.append(servletMapping.substring(0, servletMapping.length() - 2));
				value.append(actionMapping);
			} else if (servletMapping.equals("/")) {
				value.append(actionMapping);
			}
			if (queryString != null) {
				value.append(queryString);
			}
		}

		// Otherwise, assume extension mapping is in use and extension is
		// already included in the action property
		else {
			if (!action.startsWith("/")) {
				value.append("/");
			}
			value.append(action);
		}

		// Return the completed value
		return (value.toString());
	}

	public static URL absoluteActionURL(HttpServletRequest request, String action) throws MalformedURLException {
		return new URL(RequestUtils.serverURL(request) + getActionMappingURL(action, request));
	}

	public static URL absoluteActionURLHtml(HttpServletRequest request, String url) throws MalformedURLException {
		return new URL(RequestUtils.serverURL(request) + request.getContextPath() + url);
	}

	public static String getBoardPrefixLine(int level, String txt) {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < level * 2; i++) {
			sb.append(txt);
		}
		return sb.toString();
	}

	public static String[] filterUserSign(String[] sign, boolean useHTML, boolean useUBB, boolean useSmile) {
		for (int i = 0; i < sign.length; i++) {
			sign[i] = filterText(sign[i], useHTML, useUBB, useSmile);
		}
		return sign;
	}

	public static String filterText(String sign, boolean useHTML, boolean useUBB, boolean useSmile) {
		if (!useHTML) {
			// sign = TagUtils.getInstance().filter(sign);
			sign = TextUtils.htmlEncode(sign);
		}
		if (useUBB) {
			sign = getUBB2HTML(sign);
		}
		if (useSmile) {
			sign = replaceSmile(sign);
		}
		sign = sign.replaceAll("\n", "<BR/>");
		sign = filterScript(sign);
		return sign;
	}

	public static String filterScript(String txt) {
		return txt.replaceAll("[Ss][Cc][Rr][Ii][Pp][Tt]", "s.c.r.i.p.t");
	}

	public static String replaceSmile(String txt) {
		if (txt != null) {
			return txt.replaceAll("\\{(\\d{1,2})\\}", "<img src=\"images/smile/$1.gif\" alt=\"smile\"/>");
		} else {
			return "";
		}
	}

	public static String getUBB2HTML(String txt) {
		if (txt != null) {
			AutoFilter af = new AutoFilter(txt);
			txt = af.getFilteredStr();
		}
		return txt;
	}

	public static int getStrLength(String txt, String charset) {
		try {
			return txt.getBytes(charset).length;
		} catch (UnsupportedEncodingException ex) {
			return txt.length();
		}
	}

	public static int getSysCharsetStrLength(String txt) {
		try {
			return txt.getBytes(Constant.CHARSET).length;
		} catch (UnsupportedEncodingException ex) {
			return txt.length();
		}
	}

	public static boolean int2boolean(int value) {
		if (value == 1) {
			return true;
		}
		if (value == 0) {
			return false;
		}
		return false;
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -