📄 forumadmin.java
字号:
package net.acai.forum.admin;
/**
* Title: 阿菜网络
* Description:
* Copyright: Copyright (c) 2002
* Company: www.justhis.com
* @author: acai
* @version 1.0
*/
import net.acai.forum.*;
import net.acai.database.*;
import javax.servlet.http.*;
import java.sql.*;
import net.acai.util.*;
public class ForumAdmin{
public ForumAdmin(){}
//////////////////////////////////save mod/////////////
public void saveMod(HttpServletRequest request) throws Exception{
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=new DBConnect("update board set boardUser=?,boardskin=? where boardID=?");
dbc.setBytes(1,forumUser_1.getBytes("GBK"));
dbc.setInt(2,forumSkin);
dbc.setInt(3,forumID);
dbc.executeUpdate();
dbc.close();
}
public static void saveNew(HttpServletRequest request) throws 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","");
/*if(forumMaster==null||"".equals(forumMaster.trim()))
throw new Exception("请输入版主姓名。");
*/
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("请选择论坛开放状态。");
}
DBConnect 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)\n values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,now(),?,?)";
dbc.prepareStatement(sql);
dbc.setBytes(1,forumType.getBytes("GBK"));
dbc.setInt(2,classID);
dbc.setBytes(3,forumMaster.getBytes("GBK"));
dbc.setBytes(4,readme.getBytes("GBK"));
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,"indeIMG",""));
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.setBytes(20,("未知").getBytes("GBK"));
dbc.setInt(21,0);
dbc.setInt(22,0);
System.out.println(dbc.getPreparedStatement());
dbc.executeUpdate();
if(forumMaster!=null&&!("".equals(forumMaster.trim())))
addMaster(forumMaster,dbc);
dbc.close();
}
public static void saveEdit(HttpServletRequest request) throws Exception{
//System.out.println("asdf");
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","");
/*if(forumMaster==null||"".equals(forumMaster.trim()))
throw new Exception("请输入版主姓名。");*/
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("请选择论坛开放状态。");
}
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=? \n where boardid=?";
DBConnect dbc=new DBConnect();
dbc.prepareStatement(sql);
dbc.setBytes(1,forumType.getBytes("GBK"));
dbc.setInt(2,classID);
dbc.setBytes(3,forumMaster.getBytes("GBK"));
dbc.setBytes(4,readme.getBytes("GBK"));
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,"indeIMG",""));
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,editID);
dbc.executeUpdate();
sql="update bbs1 set boardid="+newforumID+" where boardid="+editID;
dbc.executeUpdate(sql);
if(forumMaster!=null&&!("".equals(forumMaster.trim())))
addMaster(forumMaster,dbc);
dbc.close();
}
public static void del(HttpServletRequest request) throws Exception{
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=new DBConnect(sql);
dbc.executeUpdate();
sql="delete from bbs1 where boardid="+forumID;
dbc.executeUpdate(sql);
dbc.close();
}
public static void dell(HttpServletRequest request) throws Exception{
int ID;
try{
ID=ParamUtil.getInt(request,"id");
}
catch(Exception e){
throw new Exception("请您选择您要删除的分类的ID");
}
DBConnect dbc=new DBConnect();
String sql = "delete from class where id="+ID;
dbc.executeUpdate(sql);
sql = "delete from board where class="+ID;
dbc.executeUpdate(sql);
sql="select boardid from board where class="+ID;
ResultSet rs=dbc.executeQuery(sql);
while(rs.next()){
sql="delete from bbs1 where boardid="+rs.getInt(1);
dbc.executeUpdate(sql);
}
dbc.close();
}
public static void updateOrders(HttpServletRequest request) throws Exception{
int newID;
try{
newID=ParamUtil.getInt(request,"newid");
}
catch(Exception e){
throw new Exception("请您选择您想要更新的类别!");
}
int ID;
try{
ID=ParamUtil.getInt(request,"id");
}
catch(Exception e){
throw new Exception("请您选择您想要更新的类别!");
}
if(newID==ID)
return;
DBConnect dbc=new DBConnect();
String sql="select * from class where id="+newID;
ResultSet rs=dbc.executeQuery(sql);
if(rs.next())
throw new Exception("您输入的序号和其他分类序号相同,请重新输入。");
sql="update class set id="+newID+",class=? where id="+ID;
dbc.prepareStatement(sql);
dbc.setBytes(1,ParamUtil.getString(request,"classname","").getBytes("GBK"));
dbc.executeUpdate();
sql="update board set class="+newID+" where class="+ID;
dbc.executeUpdate(sql);
sql="update board set class="+newID+" where class="+ID;
dbc.executeUpdate(sql);
dbc.close();
}
public static void saveClass(HttpServletRequest request) throws Exception{
String classname=ParamUtil.getString(request,"classname");
if(classname==null)
throw new Exception("请您输入您想添加分类的名字!");
String sql="insert into class(class) values(?)";
DBConnect dbc=new DBConnect(sql);
dbc.setBytes(1,classname.getBytes("GBK"));
dbc.executeUpdate();
dbc.close();
}
public String update() throws Exception{
String sql="select boardid,boardtype from board";
DBConnect dbc1=new DBConnect(sql);
ResultSet rs=dbc1.executeQuery();
StringBuffer sb=new StringBuffer();
if(!rs.next()){
dbc1.close();
throw new Exception("论坛还没有版面,请先添加版面。");
}
// temprs;
DBConnect dbc=new DBConnect();
String newuser=newuser(dbc);
do{
sql="Select count(announceid) from bbs1 where boardid="+rs.getInt(1);
ResultSet temprs=dbc.executeQuery(sql);
temprs.next();
String tempString=temprs.getString(1);
int allArticle=(tempString==null)?0:temprs.getInt(1);
temprs=dbc.executeQuery("Select count(announceid) from bbs1 where boardid="+rs.getInt(1) +" and parentID=0");
temprs.next();
tempString=temprs.getString(1);
int allTopic=(tempString==null)?0:temprs.getInt(1);
ResultSet ers=dbc.executeQuery("select Max(announceid) from bbs1 where boardid="+rs.getInt(1));
ers.next();
tempString=ers.getString(1);
//int maxID=(tempString==null)?"无":ers.getInt(1);
String userName,dateandtime;
if(tempString==null){
userName="无";
dateandtime=Format.getDateTime();
}
else {
int maxID=ers.getInt(1);
ers=dbc.executeQuery("select username,dateandtime from bbs1 where announceid="+maxID);
ers.next();
userName=ers.getString(1);
dateandtime=ers.getString(2);
}
sql="update board set lastpostuser=?,lastposttime='"+dateandtime+"',lastbbsnum="+allArticle+",lasttopicnum="+allTopic+",TodayNum="+todays(rs.getInt(1),dbc)+" where boardid="+rs.getInt(1);
dbc.prepareStatement(sql);
dbc.setBytes(1,userName.getBytes("GBK"));
dbc.executeUpdate();
sb.append("更新论坛数据成功,"+rs.getString(2)+"共有"+allArticle+"篇贴子,"+allTopic+"篇主题,今日有"+todays(rs.getInt(1),dbc)+"篇帖子。<br>");
}
while(rs.next());
sql="update config set TopicNum="+titlenum(dbc)+",BbsNum="+gettipnum(dbc)+",TodayNum="+alltodays(dbc)+",UserNum="+allusers(dbc)+",lastUser=?";
dbc.prepareStatement(sql);
dbc.setBytes(1,newuser.getBytes("GBK"));
dbc.executeUpdate();
dbc.close();
dbc1.close();
ForumPropertiesManager.resetManager();
return sb.toString();
}
public int todays(int boardid,DBConnect dbc) throws Exception{
ResultSet tmprs=dbc.executeQuery("Select count(announceid) from bbs1 Where to_days(dateandtime)=to_days(now()) and boardid="+boardid);
tmprs.next();
String tempString=tmprs.getString(1);
int temp=(tempString==null)?0:tmprs.getInt(1);
return temp;
}
public int alltodays(DBConnect dbc) throws Exception{
ResultSet tmprs=dbc.executeQuery("Select count(announceid) from bbs1 Where to_days(dateandtime)=to_days(now())");
tmprs.next();
String tempString=tmprs.getString(1);
int temp=(tempString==null)?0:tmprs.getInt(1);
return temp;
}
public int allusers(DBConnect dbc) throws Exception{
ResultSet tmprs=dbc.executeQuery("Select count(userid) from user");
tmprs.next();
String tempString=tmprs.getString(1);
int temp=(tempString==null)?0:tmprs.getInt(1);
return temp;
}
public String newuser(DBConnect dbc) throws Exception{
ResultSet tmprs=dbc.executeQuery("Select username from user order by userid desc limit 0,1");
String newuser;
if(!tmprs.next()){
newuser="没有会员";
}
else{
tmprs.next();
newuser=tmprs.getString(1);
}
return newuser;
}
public int gettipnum(DBConnect dbc) throws Exception{
ResultSet tmprs=dbc.executeQuery("Select Count(announceID) from bbs1");
tmprs.next();
String tempString=tmprs.getString(1);
int temp=(tempString==null)?0:tmprs.getInt(1);
return temp;
}
public int titlenum(DBConnect dbc) throws Exception{
ResultSet tmprs=dbc.executeQuery("Select Count(announceID) from bbs1 where parentID=0");
tmprs.next();
String tempString=tmprs.getString(1);
int temp=(tempString==null)?0:tmprs.getInt(1);
return temp;
}
//////////////////////////////////////
public static void addMaster(String masters,DBConnect dbc) throws Exception{
String [] arr=masters.split("\\|");
//DBConnect dbc=
ResultSet rs;
String sql;
for(int i=0;i<arr.length;i++){
sql="select userID from user where userName=?";
dbc.prepareStatement(sql);
dbc.setBytes(1,arr[i].getBytes("GBK"));
rs=dbc.executeQuery();
if(!rs.next()){
dbc.close();
throw new Exception("没有发现此用户"+arr[i]);
}
sql="update user set userclass=19 where username=?";
dbc.prepareStatement(sql);
dbc.setBytes(1,arr[i].getBytes("GBK"));
dbc.executeUpdate();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -