if (StringUtils.isEmpty(log.getContent())) {
msgs.add("content",
new ActionMessage("error.empty_not_allowed"));
break;
}
SiteBean site = super.getSiteByID(log.getSid());
if (site == null) {
msgs.add("topic", new ActionMessage("error.site_not_available"));
break;
}
//��������
if(isUserInBlackList(site, loginUser)){
msgs.add("topic", new ActionMessage("error.user_in_blacklist"));
break;
}
ForumBean forum = BBSForumDAO.getForumByID(log.getForum());
if (forum == null || forum.getSite().getId() != site.getId()
|| !forum.canCreateOrUpdateTopic(loginUser)) {
msgs.add("topic", new ActionMessage("error.forum_not_available",
new Integer(log.getForum())));
break;
}
// ����TopicBean
TopicBean topic = new TopicBean();
topic.setUser(loginUser);
topic.setUsername(loginUser.getName());
topic.setSite(site);
// �Է����ı����Լ������Զ����������ִʹ���
topic.setTitle(super.autoFiltrate(site, log.getTitle()));
String content = StringUtils.abbreviate(super.autoFiltrate(null,
log.getContent()), MAX_TOPIC_LENGTH);
topic.setContent(super.filterScriptAndStyle(content));
// FIXME: �����ؼ���̫���������ݿ�д��ʧ�ܵ�����
topic.setKeyword(DLOGSecurityManager.IllegalGlossary
.deleteIllegalWord(log.getSearchKey()));
topic.setClient(new ClientInfo(request, log.getClientType()));
topic.setCreateTime(new Date());
topic.setForum(forum);
topic.setStatus(TopicBean.STATUS_NORMAL);
if(site.getOwner().getId()==loginUser.getId()){
if (log.getTop() == 1)
topic.setTop(true);
if (log.getElite() == 1)
topic.setElite(true);
}