package cn.jsprun.struts.foreg.actions;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.config.ModuleConfig;
import org.apache.struts.util.MessageResources;
import cn.jsprun.domain.Attachments;
import cn.jsprun.domain.Forumfields;
import cn.jsprun.domain.Forums;
import cn.jsprun.domain.Members;
import cn.jsprun.domain.Polloptions;
import cn.jsprun.domain.Polls;
import cn.jsprun.domain.Posts;
import cn.jsprun.domain.Threads;
import cn.jsprun.struts.action.BaseAction;
import cn.jsprun.utils.Cache;
import cn.jsprun.utils.Common;
import cn.jsprun.utils.CookieUtil;
import cn.jsprun.utils.FileUploadUtil;
import cn.jsprun.utils.FormDataCheck;
import cn.jsprun.utils.ForumInit;
import cn.jsprun.utils.ImageUtil;
import cn.jsprun.utils.JspRunConfig;
import cn.jsprun.utils.Jspruncode;
import cn.jsprun.utils.Log;
import cn.jsprun.utils.Md5Token;
public class PostManageAction extends BaseAction {
public final static String FILEPATHTIME = JspRunConfig.realPath+"forumdata/temp";
public final static int memeoryBlock = 1572864;
@SuppressWarnings("unchecked")
public ActionForward toNewthread(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
short fid = (short)Common.toDigit(request.getParameter("fid"));
Forums forum = forumService.findById(fid);
if (forum == null) {
request.setAttribute("errorInfo", getMessage(request, "forum_nonexistence"));
return mapping.findForward("showMessage");
}
request.setAttribute("styleid", forum.getStyleid() > 0 ? forum.getStyleid() : null);
Forumfields forumfield = forumfieldService.findById(fid);
if((forum.getSimple()&1)>0||forumfield.getRedirect().length()>0){
request.setAttribute("resultInfo", getMessage(request, "forum_disablepost"));
return mapping.findForward("showMessage");
}
HttpSession session = request.getSession();
short groupid=(Short)session.getAttribute("jsprun_groupid");
Members member = (Members) session.getAttribute("user");
int jsprun_uid = (Integer) session.getAttribute("jsprun_uid");
Map<String, String> usergroups = (Map<String, String>) request.getAttribute("usergroups");
int allowpost =Integer.valueOf(usergroups.get("allowpost"));
String postperm = forumfield.getPostperm();
List<Map<String,String>> accesslist = dataBaseService.executeQuery("select allowpost,allowpostattach from jrun_access where uid='"+jsprun_uid+"' and fid='"+fid+"'");
Map<String,String> access = accesslist.size()>0?accesslist.get(0):null;
if (member == null&& !((postperm.equals("") && allowpost > 0) || (!postperm.equals("") && Common.forumperm(postperm, groupid, member!=null?member.getExtgroupids():"")))) {
request.setAttribute("show_message", getMessage(request, "group_nopermission", usergroups.get("grouptitle")));
return mapping.findForward("nopermission");
}else if(access==null||Common.empty(access.get("allowpost"))){
if (postperm.equals("") && allowpost == 0) {
request.setAttribute("show_message", getMessage(request, "group_nopermission", usergroups.get("grouptitle")));
return mapping.findForward("nopermission");
} else if (!postperm.equals("") && !Common.forumperm(postperm, groupid, member!=null?member.getExtgroupids():"")) {
request.setAttribute("errorInfo", getMessage(request, "post_forum_newthread_nopermission"));
return mapping.findForward("showMessage");
}
}
if ("yes".equals(request.getParameter("isblog"))&& (Integer.valueOf(usergroups.get("allowuseblog")) == 0 || forum.getAllowshare() == 0)) {
request.setAttribute("errorInfo", getMessage(request, "post_newthread_blog_invalid"));
return mapping.findForward("showMessage");
}
int timestamp = (Integer)(request.getAttribute("timestamp"));
int special = Common.range(Common.intval(request.getParameter("special")), 6, 0);
Map<String, String> settings = ForumInit.settings;
this.common(request, response, settings, usergroups, forumfield, forum,special,access,null);
byte only = forum.getAllowspecialonly();
boolean allowpostpoll = (Boolean)request.getAttribute("allowpostpoll");
boolean allowposttrade = (Boolean)request.getAttribute("allowposttrade");
boolean allowpostreward = (Boolean)request.getAttribute("allowpostreward");
boolean allowpostactivity = (Boolean)request.getAttribute("allowpostactivity");
boolean allowpostdebate = (Boolean)request.getAttribute("allowpostdebate");
boolean allowpostvideo = (Boolean)request.getAttribute("allowpostvideo");
if(special>0){
if(!((special==1&&allowpostpoll)||(special==2&&allowposttrade)||(special==3&&allowpostreward)||(special==4&&allowpostactivity)||(special==5&&allowpostdebate)||(special==6&&allowpostvideo))){
request.setAttribute("show_message", getMessage(request, "group_nopermission", usergroups.get("grouptitle")));
return mapping.findForward("nopermission");
}
}
if(only==1&&special==0){
if(allowpostpoll){
special = 1;
}else if(allowposttrade){
special = 2;
}else if(allowpostreward){
special = 3;
}else if(allowpostactivity){
special = 4;
}else if(allowpostdebate){
special = 5;
}else if(allowpostvideo){
special = 6;
}else{
request.setAttribute("errorInfo", getMessage(request, "undefined_action_return"));
return mapping.findForward("showMessage");
}
request.setAttribute("special", special);
}
String timeoffset=(String)session.getAttribute("timeoffset");
usergroups=null;
String target =null;
if (special == 2) {
SimpleDateFormat format = Common.getSimpleDateFormat("yyyy-MM-dd", timeoffset);
Map<String, String> trade = new HashMap<String, String>();
Calendar calendar = Common.getCalendar(timeoffset);
calendar.add(Calendar.MONTH, 1);
String expiration_month = format.format(calendar.getTimeInMillis());
calendar.add(Calendar.MONTH, -1);
calendar.add(Calendar.DATE, 7);
request.setAttribute("expiration_7days", format.format(calendar.getTimeInMillis()));
calendar.add(Calendar.DATE, 7);
request.setAttribute("expiration_14days", format.format(calendar.getTimeInMillis()));
request.setAttribute("expiration_month", expiration_month);
calendar.add(Calendar.DATE, -14);
calendar.add(Calendar.MONTH, 3);
request.setAttribute("expiration_3months", format.format(calendar.getTimeInMillis()));
calendar.add(Calendar.MONTH, 3);
request.setAttribute("expiration_halfyear", format.format(calendar.getTimeInMillis()));
calendar.add(Calendar.MONTH, -6);
calendar.add(Calendar.YEAR, 1);
request.setAttribute("expiration_year", format.format(calendar.getTimeInMillis()));
trade.put("amount", "1");
trade.put("transport", "2");
trade.put("expiration", expiration_month);
request.setAttribute("trade", trade);
trade=null;
String tradetypes=settings.get("tradetypes");
if(tradetypes!=null&&tradetypes.length()>0) {
Map<String,String> forumtradetypes=dataParse.characterParse(forumfield.getTradetypes(), true);
Map<String,String> tradetypesmap=dataParse.characterParse(tradetypes, true);
StringBuffer tradetypeselect = new StringBuffer("<
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
[论坛社区]JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100625 正式版.zip (2000个子文件)
PostManageAction.class 130KB
UserAction.class 111KB
ViewThreadAction.class 102KB
ForumManageAction.class 96KB
Common.class 89KB
BasicSettingsAction.class 88KB
TopicAdminActionService.class 78KB
StatvarsService.class 69KB
OtherManageAction.class 61KB
WapAction.class 59KB
MiscAction.class 57KB
SpacesAction.class 56KB
PostsAction.class 52KB
WapService.class 48KB
ControlAction.class 44KB
ExtendsAction.class 43KB
PmsAction.class 42KB
MyManageAction.class 38KB
DataBaseManageAction.class 37KB
SystemToolAction.class 37KB
Cache.class 36KB
TopicAdminAction.class 36KB
MyMagicBoxAction.class 34KB
SystemUtilUserAction.class 32KB
Archiver.class 29KB
ForumdisplayAction.class 28KB
SearchThreadAction.class 28KB
MembersDaoImpl.class 26KB
JavaScriptAction.class 25KB
MagicMarketAction.class 25KB
RegisterManageAction.class 24KB
MagicAction.class 23KB
PostsDaoImpl.class 23KB
MemberManageAction.class 22KB
MemberService.class 21KB
IndexManageAction.class 20KB
DataBaseDaoImpl.class 19KB
EccreditAction.class 19KB
MagicLogAction.class 18KB
AttachmentAction.class 17KB
Usergroups.class 17KB
PruneAction.class 17KB
OtherSetDaoImpl.class 16KB
TradeManageAction.class 16KB
OtherSetService.class 15KB
ModcpAction.class 15KB
ThreadsAction.class 15KB
OnlineFilter.class 15KB
SmiliesAction.class 15KB
Jspruncode.class 14KB
Tenpayapi.class 13KB
PostOperating.class 13KB
AdvSetService.class 12KB
TradelogId.class 12KB
Members.class 12KB
IPSeeker.class 12KB
ThreadsDaoImple.class 12KB
ProjectManageAction.class 12KB
AdmincpAction.class 12KB
InviteAction.class 11KB
ForumInit.class 11KB
UserGroupDaoImpl.class 11KB
LoggingManageAction.class 11KB
BaseAction.class 11KB
RssAction.class 11KB
RecyclebinAction.class 11KB
SafetyManageAction.class 11KB
PostsPageForm.class 11KB
CronsDaoImpl.class 10KB
UserForm.class 10KB
NotifyAction.class 10KB
Stats_mainVO.class 10KB
FooterManageAction.class 10KB
SystemToolService.class 10KB
ModrepliesPageForm.class 10KB
AttachmentsAction.class 9KB
ImageUtil.class 9KB
RecyclebinDaoImple.class 9KB
StatisticAction.class 9KB
Serializer.class 9KB
SmiliesDaoImple.class 9KB
CronsSetService.class 9KB
AttachmentsDaoImple.class 9KB
PostsService.class 8KB
ForumsDaoImpl.class 8KB
SystemFileAction.class 8KB
DigestAction.class 8KB
SitemapAction.class 8KB
FileCaptureFilter.class 8KB
HomeManageAction.class 8KB
Forums.class 8KB
RedirectManageAction.class 8KB
ThreadsService.class 8KB
Mail.class 8KB
TagsAction.class 7KB
MagicLogVO.class 7KB
FileUploadUtil.class 7KB
Jfreechart.class 7KB
PmsDaoImpl.class 7KB
ImagetypesDaoImple.class 7KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
芝麻粒儿
- 粉丝: 5w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab主成分分析图像压缩重建系统代码14
- C语言《基于AT89C52单片机搭建的PID直流电机控制程序,主要用于Proteus电路仿真》+源代码
- C++《基于规划和汽车动力学的自动驾驶项目仿真(基于ROS的自动驾驶项目仿真,使用DWA路径规划算法和双PID控制器)》+源代码
- vos3000客户端2.1.7.03、2.1.8.05、2.1.9.07
- c++《用于船舶控制方法研究的3D船舶运动仿真软件》+源代码
- globalmapper24
- Python 小游戏 (贪吃蛇、五子棋、扫雷、俄罗斯方块)源码.zip
- Map data that can be used for 2D raster map path planning
- 关于电子技术数字电路的芯片模拟.zip
- 普中开发板proteus仿真电路V2.6
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功