package com.redmoon.forum;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2002
* Company:
* @author
* @version 1.0
*/
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import cn.js.fan.cache.jcs.*;
import cn.js.fan.db.*;
import cn.js.fan.mail.*;
import cn.js.fan.security.*;
import cn.js.fan.util.*;
import cn.js.fan.web.*;
import com.cloudwebsoft.framework.db.*;
import com.redmoon.blog.*;
import com.redmoon.forum.message.*;
import com.redmoon.forum.person.*;
import com.redmoon.forum.plugin.*;
import com.redmoon.forum.plugin.base.*;
import com.redmoon.kit.util.*;
import org.apache.log4j.*;
import com.cloudwebsoft.framework.util.LogUtil;
import com.redmoon.forum.security.TimeConfig;
public class MsgDb implements java.io.Serializable {
public static int LEVEL_TOP_BOARD = 100;
public static int LEVEL_TOP_FORUM = 200;
public static int LEVEL_NONE = 0;
public static int WEBEDIT_UBB = 0;
public static int WEBEDIT_REDMOON = 1;
public static int WEBEDIT_NORMAL = 2;
public static int MIN_CONTENT_LEN = 10;
public static int MAX_CONTENT_LEN = 3000;
public static int MAX_CONTENT_LEN_WE = 20000;
public static int MAX_TOPIC_LEN = 100;
public static int MIN_TOPIC_LEN = 1;
public static final int TYPE_MSG = 0;
public static final int TYPE_VOTE = 1;
public static final int CHECK_STATUS_NOT = 0; // 未审核
public static final int CHECK_STATUS_PASS = 1; // 审核通过
public static final int CHECK_STATUS_DUSTBIN = 10; // 删除
static {
initParam();
}
String connname = Global.defaultDB;
// 序列化时,类的所有数据成员应可序列化除了声明为transient或static的成员。
// 将变量声明为transient告诉JVM我们会负责将变元序列化。
// 将数据成员声明为transient后,序列化过程就无法将其加进对象字节流中,
// transient Logger Logger = Logger.getLogger(MsgDb.class.getName());
int ret = 1;
String boardcode, name, pwd,
title = "", content = "", picturename, ip;
int show_smile = 1, show_ubbcode = 1, email_notify = 0;
long rootid = -1;
long id;
int layer;
java.util.Date addDate;
int orders;
int expression = 1;
String fileName = "";
String rootpath;
long replyid = -1;
int isWebedit = WEBEDIT_NORMAL;
private String plugin2Code;
public MsgDb() {
init();
}
public MsgDb(long id) {
init();
loadFromDb(id);
}
public static void initParam() {
com.redmoon.forum.Config cfg = new com.redmoon.forum.Config();
MIN_TOPIC_LEN = cfg.getIntProperty("forum.msgTitleLengthMin");
MAX_TOPIC_LEN = cfg.getIntProperty("forum.msgTitleLengthMax");
MIN_CONTENT_LEN = cfg.getIntProperty("forum.msgLengthMin");
MAX_CONTENT_LEN = cfg.getIntProperty("forum.msgLengthMax");
MAX_CONTENT_LEN_WE = MAX_CONTENT_LEN;
}
public void init() {
}
protected void finalize() throws Throwable {
super.finalize();
}
public String getFileName() {
return fileName;
}
private int recount;
public String getboardcode() {
return boardcode;
}
/**
* 取得当前处理的boardcode,用于oscache刷新缓存,oscache已放弃,主要是其原理适合于页面的缓存,但对于对象的缓存不是很方便
* @return String
*/
public String getCurBoardCode() {
return boardcode;
}
/**@task:需优化
* 取得year年month月中每天的日志数
* @param year int
* @param month int First month begin with 1
* @return int[] First day begin with 1
*/
public int[] getBlogMsgDayCount(long blogId, int year, int month) {
// System.out.println("month=" + month);
// 取得year-month这个月的天数
int dayCount = DateUtil.getDayCount(year, month - 1);
// System.out.println("day=" + dayCount);
int[] ary = new int[dayCount + 1];
for (int i = 1; i <= dayCount; i++) {
ary[i] = 0;
}
Calendar calStart = Calendar.getInstance();
calStart.set(year, month - 1, 1);
String start = "" + calStart.getTimeInMillis();
Calendar calEnd = Calendar.getInstance();
calEnd.set(year, month - 1, dayCount, 24, 60);
String end = "" + calEnd.getTimeInMillis();
String sql = "select lydate from sq_thread where blog_id=? and isBlog=1 and lydate>? and lydate<? order by lydate asc";
Conn conn = new Conn(connname);
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setLong(1, blogId);
pstmt.setString(2, start);
pstmt.setString(3, end);
rs = conn.executePreQuery();
Calendar cal = Calendar.getInstance();
while (rs.next()) {
java.util.Date d = DateUtil.parse(rs.getString(1));
cal.setTime(d);
ary[cal.get(cal.DAY_OF_MONTH)]++;
}
} catch (SQLException e) {
Logger.getLogger(MsgDb.class.getName()).error("getBlogMsgDayCount:" +
e.getMessage());
} finally {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {}
rs = null;
}
if (pstmt != null) {
try {
pstmt.close();
} catch (Exception e) {}
pstmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
}
return ary;
}
/**
* 取得y年m月d日的用户日志
* @param userName String
* @param y int
* @param m int
* @param d int
* @return Vector
*/
public Vector getBlogDayList(long blogId, int y, int m, int d) {
String sql = "select id from sq_thread where blog_id=? and isBlog=1 and lydate>? and lydate<? order by lydate asc";
Calendar calStart = Calendar.getInstance();
calStart.set(y, m - 1, d, 0, 0, 0);
String start = "" + calStart.getTimeInMillis();
Calendar calEnd = Calendar.getInstance();
calEnd.set(y, m - 1, d, 23, 59, 59);
String end = "" + calEnd.getTimeInMillis();
PreparedStatement pstmt = null;
ResultSet rs = null;
Vector v = new Vector();
Conn conn = new Conn(connname);
try {
pstmt = conn.prepareStatement(sql);
pstmt.setLong(1, blogId);
pstmt.setString(2, start);
pstmt.setString(3, end);
// url,title,image,userName,sort,kind
rs = conn.executePreQuery();
Calendar cal = Calendar.getInstance();
while (rs.next()) {
MsgDb md = getMsgDb(rs.getLong(1));
v.addElement(md);
}
} catch (SQLException e) {
Logger.getLogger(MsgDb.class.getName()).error("getBlogDayList:" +
e.getMessage());
} finally {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {}
rs = null;
}
if (pstmt != null) {
try {
pstmt.close();
} catch (Exception e) {}
pstmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
}
return v;
}
public static String LoadString(HttpServletRequest request, String key) {
return SkinUtil.LoadString(request, "res.forum.MsgDb", key);
}
public
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
云网论坛(CWBBS) v2.2 (631个子文件)
Leaf.class 14KB
PhotoDb.class 12KB
User.class 11KB
DirectoryView.class 11KB
LinkDb.class 10KB
Navigation.class 8KB
UserGroup.class 8KB
Privilege.class 8KB
MessageDb.class 8KB
LinkForm.class 6KB
WeatherUtil.class 6KB
PhotoForm.class 5KB
Priv.class 5KB
Directory.class 5KB
NavigationMgr.class 4KB
AdUserLink.class 4KB
WeatherSkin.class 4KB
UserGroupMgr.class 4KB
LeafChildrenCacheMgr.class 4KB
NavigationCheck.class 4KB
LinkMgr.class 3KB
PhotoMgr.class 3KB
PrivMgr.class 3KB
WeatherConfig.class 3KB
UserMgr.class 3KB
NavElementTag.class 3KB
UserCheck.class 3KB
MessageMgr.class 2KB
WeatherSchedulerUnit.class 2KB
UserGroupCheck.class 2KB
PrivCheck.class 2KB
NavBarTag.class 2KB
UprightLineNode.class 1KB
MessageCache.class 801B
PhotoCache.class 766B
LinkCache.class 751B
.classpath 2KB
Entries 1KB
Entries 517B
Entries 278B
MsgDb.java 216KB
Document.java 66KB
ParamChecker.java 60KB
MsgMgr.java 56KB
Privilege.java 41KB
QObjectDb.java 39KB
UserDb.java 33KB
Leaf.java 33KB
DocContent.java 30KB
SubjectView.java 28KB
DirectoryView.java 24KB
DirectoryView.java 24KB
AuctionMsgAction.java 24KB
DocumentMgr.java 22KB
FileUpload.java 21KB
Parser.java 21KB
Leaf.java 20KB
MsgCache.java 20KB
Leaf.java 20KB
Leaf.java 20KB
DefaultRender.java 19KB
SubjectDb.java 19KB
Leaf.java 19KB
DirectoryView.java 18KB
LeafPriv.java 18KB
LeafPriv.java 18KB
userservice.java 18KB
DirectoryView.java 18KB
TransmitData.java 17KB
JdbcTemplate.java 17KB
AuctionOrderDb.java 17KB
Directory.java 17KB
DirectoryView.java 17KB
SweetUserInfoDb.java 17KB
AuctionViewShowMsg.java 16KB
BlogCache.java 16KB
ObjectDb.java 16KB
SendMail.java 16KB
AuctionDb.java 15KB
PhotoDb.java 15KB
User.java 14KB
ForumDb.java 14KB
Connection.java 13KB
ParamUtil.java 13KB
UserConfigDb.java 13KB
TreasureMgr.java 13KB
LinkDb.java 13KB
ObjectCache.java 12KB
DocCacheMgr.java 12KB
Paginator.java 12KB
UploadDdxc.java 12KB
Conn.java 12KB
RSSGenerator.java 12KB
Attachment.java 12KB
VIPCardDb.java 11KB
MessageDb.java 11KB
GetMail.java 11KB
SubjectListDb.java 11KB
OnlineUserDb.java 11KB
TimeConfig.java 11KB
共 631 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
xwuxin
- 粉丝: 32
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功