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

📄 forumadmin.java

📁 BBS论坛设计JSP+MYSQL
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.bcxy.bbs.forum.admin;

/**
 * Title:
 * Description:
 * Copyright:
 * Company: www.liyunet.com
 * 
 * @author lishujiang	
 * @version 1.0
 */

import java.sql.ResultSet;

import javax.servlet.http.HttpServletRequest;

import com.bcxy.bbs.database.DBConnect;
import com.bcxy.bbs.forum.Forum;
import com.bcxy.bbs.forum.ForumFactory;
import com.bcxy.bbs.forum.ForumPropertiesManager;
import com.bcxy.bbs.forum.SkinUtil;
import com.bcxy.bbs.forum.User;
import com.bcxy.bbs.util.Format;
import com.bcxy.bbs.util.ParamUtil;
import com.bcxy.cache.CacheManager;
import com.bcxy.conf.ENV;
import com.bcxy.db.SqlQuery;

public class ForumAdmin {

	public ForumAdmin() {
	}

	public static void checkAdmin(HttpServletRequest request) throws Exception {
		String adminName = (String) request.getSession().getAttribute(
				"adminName");
		String adminPass = (String) request.getSession().getAttribute(
				"adminPass");
		if (adminName == null || adminPass == null) {
			throw new Exception("用户登录超时,请重新<a href=elogin.jsp>登录</a>!");
		}
		User adminUser = SkinUtil.userLogin(adminName, adminPass, 4);
		if (adminUser.getUserClass() < 20) {
			throw new Exception("您的身份不是论坛后台管理员!");
		}
	}

	public void saveMod(HttpServletRequest request) throws Exception {
		checkAdmin(request);
		int forumID;
		try {
			forumID = ParamUtil.getInt(request, "forumID");
		} catch (Exception e) {
			throw new Exception("对不起,请您选定您想要修改的论坛ID");
		}
		int forumSkin;
		try {
			forumSkin = ParamUtil.getInt(request, "forumSkin");
		} catch (Exception e) {
			throw new Exception("对不起,请您选定论坛的类别!");
		}
		Forum theForum = ForumFactory.getForum(forumID);
		if (theForum == null)
			throw new Exception("错误的论坛");
		if (theForum.getForumSkin() == forumSkin) {
			return;
		}
		String forumUser_1 = "";
		if (forumSkin == 5) {
			String vipuser = ParamUtil.getString(request, "vipuser");
			if (vipuser != null && !"".equals(vipuser.trim())) {
				String[] forumUser = vipuser.split("\\n|\\r");

				for (int i = 0; i < forumUser.length; i++) {
					if (!"".equals(forumUser_1)) {
						if (i != forumUser.length - 1)
							forumUser_1 += forumUser[i] + ",";
						else
							forumUser_1 += forumUser[i];
					}
				}
			}
		}
		DBConnect dbc = null;
		try {
			dbc = new DBConnect(
					"update board set boardUser=?,boardskin=? where boardID=?");
			dbc.setString(1, forumUser_1);
			dbc.setInt(2, forumSkin);
			dbc.setInt(3, forumID);
			dbc.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		} finally {
			dbc.close();
		}
	}

	public static void saveNew(HttpServletRequest request) throws Exception {
		checkAdmin(request);
		String forumType = ParamUtil.getString(request, "boardtype");
		if (forumType == null || "".equals(forumType.trim()))
			throw new Exception("请输入论坛名称。");
		int classID;
		try {
			classID = ParamUtil.getInt(request, "class");
		} catch (Exception e) {
			throw new Exception("请选择论坛分类。");
		}
		String forumMaster = ParamUtil.getString(request, "boardmaster", "");

		String readme = ParamUtil.getString(request, "readme");
		if (readme == null || "".equals(readme.trim()))
			throw new Exception("请输入论坛说明。");
		int lockForum;
		try {
			lockForum = ParamUtil.getInt(request, "lockboard");
		} catch (Exception e) {
			throw new Exception("请选择论坛开放状态。");
		}
		int forumSkin = ParamUtil.getInt(request, "forumSkin", 1);
		String forumUser = ParamUtil.getString(request, "vipuser", "");

		DBConnect dbc = null;
		try {
			dbc = new DBConnect();

			String sql = "insert into board(boardtype,class,boardmaster,readme,lockboard,tableback,tabletitle,\ntablebody,atablebody,tablefont,tablecontent,alertfont,forumlogo,indeximg,\nstrallowforumcode,strallowhtml,strimginposts,stricons,strflash,lastpostuser,\nlastposttime,lastbbsnum,lasttopicnum,boardskin,boarduser)\n values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,now(),?,?,?,?)";
			dbc.prepareStatement(sql);
			dbc.setString(1, forumType);
			dbc.setInt(2, classID);
			dbc.setString(3, forumMaster);
			dbc.setString(4, readme);
			dbc.setInt(5, lockForum);
			dbc.setString(6, ParamUtil.getString(request, "Tableback", ""));
			dbc.setString(7, ParamUtil.getString(request, "Tabletitle", ""));
			dbc.setString(8, ParamUtil.getString(request, "Tablebody", ""));
			dbc.setString(9, ParamUtil.getString(request, "aTablebody", ""));
			dbc.setString(10, ParamUtil.getString(request, "TableFont", ""));
			dbc.setString(11, ParamUtil.getString(request, "TableContent", ""));
			dbc.setString(12, ParamUtil.getString(request, "AlertFont", ""));
			dbc.setString(13, ParamUtil.getString(request, "Logo", ""));
			dbc.setString(14, ParamUtil.getString(request, "indexIMG", ""));
			dbc.setString(15, ParamUtil.getString(request, "strAllowForumCode",
					""));
			dbc.setString(16, ParamUtil.getString(request, "strAllowHTML", ""));
			dbc
					.setString(17, ParamUtil.getString(request,
							"strIMGInPosts", ""));
			dbc.setString(18, ParamUtil.getString(request, "strIcons", ""));
			dbc.setString(19, ParamUtil.getString(request, "strflash", ""));
			dbc.setString(20, ("未知"));
			dbc.setInt(21, 0);
			dbc.setInt(22, 0);
			dbc.setInt(23, forumSkin);
			dbc.setString(24, forumUser);
			dbc.executeUpdate();
			if (forumMaster != null && !("".equals(forumMaster.trim())))
				addMaster(forumMaster, dbc);
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		} finally {
			dbc.close();
		}
	}

	public static void saveEdit(HttpServletRequest request) throws Exception {
		checkAdmin(request);
		int editID;
		try {
			editID = ParamUtil.getInt(request, "editid");
		} catch (Exception e) {
			throw new Exception("请选择编辑论坛的ID。");
		}
		int newforumID;
		try {
			newforumID = ParamUtil.getInt(request, "newforumID");
		} catch (Exception e) {
			throw new Exception("请填写新论坛的ID。");
		}
		if (newforumID != editID) {
			Forum tempForum = ForumFactory.getForum(newforumID);
			if (tempForum != null)
				throw new Exception("您不能指定和别的论坛一样的序号。");
		}
		String forumType = ParamUtil.getString(request, "boardtype");
		if (forumType == null || "".equals(forumType.trim()))
			throw new Exception("请输入论坛名称。");
		int classID;
		try {
			classID = ParamUtil.getInt(request, "class");
		} catch (Exception e) {
			throw new Exception("请选择论坛分类。");
		}
		String forumMaster = ParamUtil.getString(request, "boardmaster", "");

		String readme = ParamUtil.getString(request, "readme");
		if (readme == null || "".equals(readme.trim()))
			throw new Exception("请输入论坛说明。");
		int lockForum;
		try {
			lockForum = ParamUtil.getInt(request, "lockboard");
		} catch (Exception e) {
			throw new Exception("请选择论坛开放状态。");
		}
		int forumSkin = ParamUtil.getInt(request, "forumSkin", 1);
		String forumUser = ParamUtil.getString(request, "vipuser", "");
		String oldBoardMaster = ForumFactory.getForum(editID).getForumMaster();
		
		String sql = "update board set boardtype=?,class=?,boardmaster=?,readme=?,lockboard=?,tableback=?,\n tabletitle=?,tablebody=?,atablebody=?,tableFont=?,tablecontent=?,alertfont=?,\n forumlogo=?,indexIMG=?,strAllowForumCode=?,strAllowHTML=?,strIMGInPosts=?,\n strIcons=?,strflash=? ,boardid=? ,boardskin=?, boarduser=? where boardid=?";
		DBConnect dbc = null;
		try {
			dbc = new DBConnect();
			dbc.prepareStatement(sql);

			dbc.setString(1, forumType);
			dbc.setInt(2, classID);
			dbc.setString(3, forumMaster);
			dbc.setString(4, readme);
			dbc.setInt(5, lockForum);
			dbc.setString(6, ParamUtil.getString(request, "Tableback", ""));
			dbc.setString(7, ParamUtil.getString(request, "Tabletitle", ""));
			dbc.setString(8, ParamUtil.getString(request, "Tablebody", ""));
			dbc.setString(9, ParamUtil.getString(request, "aTablebody", ""));
			dbc.setString(10, ParamUtil.getString(request, "TableFont", ""));
			dbc.setString(11, ParamUtil.getString(request, "TableContent", ""));
			dbc.setString(12, ParamUtil.getString(request, "AlertFont", ""));
			dbc.setString(13, ParamUtil.getString(request, "Logo", ""));
			dbc.setString(14, ParamUtil.getString(request, "indexIMG", ""));
			dbc.setString(15, ParamUtil.getString(request, "strAllowForumCode",""));
			dbc.setString(16, ParamUtil.getString(request, "strAllowHTML", ""));
			dbc.setString(17, ParamUtil.getString(request,"strIMGInPosts", ""));
			dbc.setString(18, ParamUtil.getString(request, "strIcons", ""));
			dbc.setString(19, ParamUtil.getString(request, "strflash", ""));
			dbc.setInt(20, newforumID);
			dbc.setInt(21, forumSkin);
			dbc.setString(22, forumUser);
			dbc.setInt(23, editID);
			dbc.executeUpdate();
			sql = "update bbs1 set boardid=" + newforumID + " where boardid="+ editID;
			dbc.executeUpdate(sql);
			//
			if(!"".equals(oldBoardMaster)){
				ForumAdmin.delMaster(oldBoardMaster, dbc);
			}
			if (forumMaster != null && !("".equals(forumMaster.trim()))) {
				addMaster(forumMaster, dbc);
			}
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		} finally {
			dbc.close();
		}
		// 消除缓存
		CacheManager.getCache(ENV.FORUM).remove(String.valueOf(newforumID));
	}

	public static void del(HttpServletRequest request) throws Exception {
		checkAdmin(request);
		int forumID;
		try {
			forumID = ParamUtil.getInt(request, "boardid");
		} catch (Exception e) {
			throw new Exception("请您选择您要修改的论坛ID");
		}
		String sql = "delete from board where boardid=" + forumID;
		DBConnect dbc = null;
		try {
			dbc = new DBConnect(sql);
			dbc.executeUpdate();

⌨️ 快捷键说明

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