📄 forumadmin.java
字号:
package com.bcxy.bbs.forum.admin;
/**
* Title:
* Description:
* Copyright:
* Company: www.liyunet.com
*
* @author lishujiang
* @version 1.0
*/
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
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.BBSConst;
import com.bcxy.bbs.util.ParamUtil;
import com.bcxy.cache.CacheManager;
import com.bcxy.conf.ENV;
import com.bcxy.db.JdbcWrapper;
import com.bcxy.util.DateUtil;
public class ForumAdmin {
private static Logger log = Logger.getLogger(ForumAdmin.class);
public ForumAdmin() {
}
/**
* 检查用户的权限
*
* @param request
* @throws Exception
*/
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("您的身份不是论坛后台管理员!");
}
}
/**
* 修改论坛基本配置信息
*
* @param request
* @throws 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];
}
}
}
}
JdbcWrapper jw = new JdbcWrapper();
try {
jw.prepareStatement("update " + BBSConst.TABLE_BOARD
+ " set boardUser=?,boardskin=? where boardID=?");
jw.setString(1, forumUser_1);
jw.setInt(2, forumSkin);
jw.setInt(3, forumID);
jw.executeUpdate();
} catch (Exception e) {
log.error("保存论坛信息出错", e);
throw e;
} finally {
jw.close();
}
}
/**
* 添加论坛版块
*
* @param request
* @throws Exception
*/
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", "");
JdbcWrapper jw = new JdbcWrapper();
try {
String sql = "insert into "
+ BBSConst.TABLE_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(),?,?,?,?)";
jw.prepareStatement(sql);
jw.setString(1, forumType);
jw.setInt(2, classID);
jw.setString(3, forumMaster);
jw.setString(4, readme);
jw.setInt(5, lockForum);
jw.setString(6, ParamUtil.getString(request, "Tableback", ""));
jw.setString(7, ParamUtil.getString(request, "Tabletitle", ""));
jw.setString(8, ParamUtil.getString(request, "Tablebody", ""));
jw.setString(9, ParamUtil.getString(request, "aTablebody", ""));
jw.setString(10, ParamUtil.getString(request, "TableFont", ""));
jw.setString(11, ParamUtil.getString(request, "TableContent", ""));
jw.setString(12, ParamUtil.getString(request, "AlertFont", ""));
jw.setString(13, ParamUtil.getString(request, "Logo", ""));
jw.setString(14, ParamUtil.getString(request, "indexIMG", ""));
jw.setString(15, ParamUtil.getString(request, "strAllowForumCode",
""));
jw.setString(16, ParamUtil.getString(request, "strAllowHTML", ""));
jw.setString(17, ParamUtil.getString(request, "strIMGInPosts", ""));
jw.setString(18, ParamUtil.getString(request, "strIcons", ""));
jw.setString(19, ParamUtil.getString(request, "strflash", ""));
jw.setString(20, ("未知"));
jw.setInt(21, 0);
jw.setInt(22, 0);
jw.setInt(23, forumSkin);
jw.setString(24, forumUser);
jw.executeUpdate();
if (forumMaster != null && !("".equals(forumMaster.trim()))) {
addMaster(forumMaster, jw);
}
} catch (Exception e) {
log.error("添加论坛信息出错", e);
throw e;
} finally {
jw.close();
}
}
/**
* 更新论坛版块信息
*
* @param request
* @throws Exception
*/
public static void saveEdit(HttpServletRequest request) throws Exception {
checkAdmin(request);
JdbcWrapper jw = new JdbcWrapper();
int editID = 0;
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) {
if (jw.isExists("select boardid from " + BBSConst.TABLE_BOARD + " where boardid=" + newforumID))
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 "
+ BBSConst.TABLE_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=?";
try {
jw.setAutoClose(false);
jw.prepareStatement(sql);
jw.setString(1, forumType);
jw.setInt(2, classID);
jw.setString(3, forumMaster);
jw.setString(4, readme);
jw.setInt(5, lockForum);
jw.setString(6, ParamUtil.getString(request, "Tableback", ""));
jw.setString(7, ParamUtil.getString(request, "Tabletitle", ""));
jw.setString(8, ParamUtil.getString(request, "Tablebody", ""));
jw.setString(9, ParamUtil.getString(request, "aTablebody", ""));
jw.setString(10, ParamUtil.getString(request, "TableFont", ""));
jw.setString(11, ParamUtil.getString(request, "TableContent", ""));
jw.setString(12, ParamUtil.getString(request, "AlertFont", ""));
jw.setString(13, ParamUtil.getString(request, "Logo", ""));
jw.setString(14, ParamUtil.getString(request, "indexIMG", ""));
jw.setString(15, ParamUtil.getString(request, "strAllowForumCode",
""));
jw.setString(16, ParamUtil.getString(request, "strAllowHTML", ""));
jw.setString(17, ParamUtil.getString(request, "strIMGInPosts", ""));
jw.setString(18, ParamUtil.getString(request, "strIcons", ""));
jw.setString(19, ParamUtil.getString(request, "strflash", ""));
jw.setInt(20, newforumID);
jw.setInt(21, forumSkin);
jw.setString(22, forumUser);
jw.setInt(23, editID);
jw.executeUpdate();
sql = "update " + BBSConst.TABLE_BBS1 + " set boardid="
+ newforumID + " where boardid=" + editID;
jw.executeUpdate(sql);
//
if (!"".equals(oldBoardMaster)) {
ForumAdmin.delMaster(oldBoardMaster, jw);
}
if (forumMaster != null && !("".equals(forumMaster.trim()))) {
addMaster(forumMaster, jw);
}
} catch (Exception e) {
log.error("编辑论坛信息出错", e);
throw e;
} finally {
jw.close();
}
CacheManager.getCache(ENV.FORUM).remove(String.valueOf(newforumID));
}
/**
* 删除论坛版块
*
* @param request
* @throws Exception
*/
public static void del(HttpServletRequest request) throws Exception {
checkAdmin(request);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -