⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 postmanageaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				else{
					sql.append("('" + tid+ "','0','0','" + polloptvalue + "','')");
				}
				flag=true;
			}
			if(flag){
				dataBaseService.runQuery(sql.toString(),true);
			}
			sql=null;
		}else if (special == 3 && allowpostreward) {
			dataBaseService.runQuery("INSERT INTO jrun_rewardlog (tid, authorid, netamount, dateline) VALUES ('"+ tid + "', '" + member.getUid() + "', " + realprice+ ", '" + timestamp + "')",true);
		}else if (special == 4 && allowpostactivity) {
			dataBaseService.runQuery("INSERT INTO jrun_activities (tid, uid, cost, starttimefrom, starttimeto, place, class, gender, number, expiration) VALUES ('"+ tid + "', '" + (member!=null?member.getUid():0) + "', '"+ activity.get("cost") + "', '"+ activity.get("starttimefrom") + "', '"+ activity.get("starttimeto") + "', '"+ activity.get("place") + "', '" + activity.get("class")+ "', '" + activity.get("gender") + "', '"+ activity.get("number") + "', '"+ activity.get("expiration") + "')",true);
		} else if (special == 5 && allowpostdebate) {
			dataBaseService.runQuery("INSERT INTO jrun_debates (tid, uid, starttime, endtime, affirmdebaters, negadebaters, affirmvotes, negavotes, umpire, winner, bestdebater, affirmpoint, negapoint, umpirepoint,affirmvoterids,negavoterids,affirmreplies,negareplies) VALUES ('"+ tid + "', '" + member.getUid() + "', '" + timestamp+ "', '" + (endtime > 0 ? endtime : 0)+ "', '0', '0', '0', '0', '" + umpire + "', '0', '', '"+ affirmpoint + "', '" + negapoint + "', '','','','0','0')",true);
		} else if (special == 6 && allowpostvideo) {

		}
		if (moderated > 0) {
			Common.updatemodlog(member, timestamp, String.valueOf(tid),(displayorder > 0 ? "STK" : "DIG"), null, 1, false);
			Common.updatemodworks(settings, uid, timestamp,(displayorder > 0 ? "STK" : "DIG"), 1);
		}
		if (threadtypes.get("special") != null&& "1".equals(((Map<Integer, String>) threadtypes.get("special")).get((int)typeid)) && optiondata != null&& optiondata.size() > 0) {
			StringBuffer sql=new StringBuffer();
			sql.append("INSERT INTO jrun_typeoptionvars (typeid, tid, optionid,value, expiration) VALUES ");
			boolean flag=false;
			typeexpiration=(typeexpiration > 0 ? timestamp + typeexpiration : 0);
			Set<Integer> keys = optiondata.keySet();
			for (Integer optionid : keys) {
				if(flag){
					sql.append(",('"+ typeid + "', '" + tid + "', '" + optionid + "', '"+ optiondata.get(optionid) + "', '"+typeexpiration+ "')");
				}else{
					sql.append("('"+ typeid + "', '" + tid + "', '" + optionid + "', '"+ optiondata.get(optionid) + "', '"+typeexpiration+ "')");
				}
				flag=true;
			}
			if(flag){
				dataBaseService.runQuery(sql.toString(),true);
			}
		}
		threadtypes=null;
		String tags = request.getParameter("tags");
		if (tagstatus > 0 && tags != null && !"".equals(tags)) {
			String[] tagarray = tags.split(" ");
			int tagcount = 0;
			for (String tagname : tagarray) {
				tagname = tagname.trim();
				int len=Common.strlen(tagname);
				if (len>=3&&len<=20) {
					List<Map<String, String>> map = dataBaseService.executeQuery("SELECT closed FROM jrun_tags WHERE tagname='" + tagname + "'");
					int isclosed=0;
					if (map != null && map.size() > 0) {
						isclosed = Integer.valueOf(map.get(0).get("closed"));
						if (isclosed == 0) {
							dataBaseService.runQuery("UPDATE jrun_tags SET total=total+1 WHERE tagname='"+ tagname + "'",true);
						}
					} else {
						dataBaseService.runQuery("INSERT INTO jrun_tags (tagname, closed, total) VALUES ('"+ tagname + "', 0, 1)",true);
					}
					if (isclosed == 0) {
						dataBaseService.runQuery("INSERT jrun_threadtags (tagname, tid) VALUES ('"	+ tagname + "', " + tid + ")",true);
					}
					tagcount++;
					if (tagcount > 4) {
						break;
					}
				}
			}
		}
		
		if (modnewthreads) {
			dataBaseService.runQuery("UPDATE jrun_forums SET todayposts=todayposts+1 WHERE fid='"+fid+"'",true);
			if (allowuseblog == 1 && "yes".equals(isblog) && blog > 0) {
				request.setAttribute("successInfo","非常感谢,管理员设置了需要对本栏目新文章进行审核,您的文章通过审核后将被显示出来,现在将转入文集。");
				request.setAttribute("requestPath", "blog.jsp?uid="+ member.getUid());
				return mapping.findForward("showMessage");
			} else {
				request.setAttribute("successInfo","非常感谢,管理员设置了需要对新主题进行审核,现在将转入主题列表,您的帖子通过审核后将被显示出来。");
				request.setAttribute("requestPath", "forumdisplay.jsp?fid="+ fid);
				return mapping.findForward("showMessage");
			}
		} else {
			Map creditspolicys=dataParse.characterParse(settings.get("creditspolicy"),false);
			Map<Integer, Integer> postcredits = dataParse.characterParse(forumfield.getPostcredits(),false);
			if(postcredits==null||postcredits.size()<=0){
				postcredits=(Map<Integer,Integer>)creditspolicys.get("post");
			}
			if (digest > 0) {
				Map<Integer, Integer> digestcredits = dataParse.characterParse(forumfield.getDigestcredits(),false);
				if(digestcredits==null||digestcredits.size()<=0)
				{
					digestcredits=(Map<Integer,Integer>)creditspolicys.get("digest");
				}
				if (digest > 0) {
					Set<Integer> keys = digestcredits.keySet();
					for (Integer key : keys) {
						postcredits.put(key,(postcredits.get(key) != null ? postcredits.get(key) : 0)+ digestcredits.get(key));
					}
				}
			}
			creditspolicys=null;
			if(member!=null){
				Common.updatepostcredits("+", uid, postcredits, timestamp);
				Common.updatepostcredits(uid,settings.get("creditsformula"));
				Common.updateMember(session, uid);
			}
			postcredits=null;
			String lastpost = tid + "\t" + Common.dhtmlspecialchars(Common.cutstr(subject.replaceAll("\t", " "), 40, null)) + "\t" + timestamp + "\t"+ (member!=null?member.getUsername():"匿名");
			dataBaseService.runQuery("UPDATE jrun_forums SET lastpost='"+lastpost+"', threads=threads+1, posts=posts+1, todayposts=todayposts+1 WHERE fid='"+fid+"'",true);
			if (forum.getType().equals("sub")) {
				dataBaseService.runQuery("UPDATE jrun_forums SET lastpost='"+ lastpost.replace("'", "''") + "' WHERE fid='" + forum.getFup()+"'",true);
			}
			if (allowuseblog == 1 && "yes".equals(isblog) && blog > 0) {
				if(Common.isshowsuccess(session, "post_newthread_blog_succeed")){
					Common.requestforward(response, "blog.jsp?tid=" + tid);
					return null;
				}else{
					request.setAttribute("successInfo", "非常感谢,您的文章已经发布,现在将转入文集。");
					request.setAttribute("requestPath", "blog.jsp?tid=" + tid);
					return mapping.findForward("showMessage");
				}
			} else {
				int frombbs = Common.toDigit(request.getParameter("frombbs"),1000000000L, 0L).intValue();
				if(Common.isshowsuccess(session, "post_newthread_succeed")){
					Common.requestforward(response, "viewthread.jsp?tid=" + tid+ (page > 0 ? "&page=" + page : "")+ (frombbs > 0 ? "&frombbs=" + frombbs : ""));
					return null;
				}
				request.setAttribute("successInfo", "非常感谢,您的主题已经发布,现在将转入主题页。<br/><br/><a href='forumdisplay.jsp?fid="+fid+"'>[需要转入主题列表请点击这里]</a>");
				request.setAttribute("requestPath", "viewthread.jsp?tid=" + tid+ (page > 0 ? "&page=" + page : "")+ (frombbs > 0 ? "&frombbs=" + frombbs : ""));
				return mapping.findForward("showMessage");
			}
		}
	}
	@SuppressWarnings("unchecked")
	public ActionForward newtrade(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		short fid = Short.valueOf(request.getParameter("fid"));
		FileAttaUploadForm fileupload = (FileAttaUploadForm)form;
		Forums forum = forumService.findById(fid);
		if (forum == null||"group".equals(forum.getType())) {
			request.setAttribute("errorInfo", "指定的版块不存在,请返回。");
			return mapping.findForward("showMessage");
		}
		int special = Common.toDigit(request.getParameter("special"), 6L, 0L).intValue();
		if(special!=2){
			request.setAttribute("errorInfo", "未定义操作。");
			return mapping.findForward("showMessage");
		}
		Forumfields forumfield = forumfieldService.findById(fid);
		if((forum.getSimple()&1)>0||forumfield.getRedirect().length()>0){
			request.setAttribute("resultInfo", "本版块禁止发帖。");
			return mapping.findForward("showMessage");
		}
		Map<String, String> usergroups = (Map<String, String>) request.getAttribute("usergroups");
		Map<String, String> settings = (Map<String, String>) request.getAttribute("settings");
		this.common(request, response, settings, usergroups, forumfield, forum,special);
		boolean allowposttrade = (Boolean) request.getAttribute("allowposttrade");
		if(!allowposttrade){
			request.setAttribute("show_message", "您所在的用户组("+ usergroups.get("grouptitle") + ")无法进行此操作。");
			return mapping.findForward("nopermission");
		}
		HttpSession session = request.getSession();
		int jsprun_uid = (Integer) session.getAttribute("jsprun_uid");
		short jsprun_groupid=(Short)session.getAttribute("jsprun_groupid");
		Members member = (Members) session.getAttribute("user");
		int allowpost = Common.toDigit(usergroups.get("allowpost"), 255L, 0L).intValue();
		String postperm = forumfield.getPostperm();
		if (member == null&& !((postperm.equals("") && allowpost > 0) || (!postperm.equals("") && Common.forumperm(postperm, jsprun_groupid, member!=null?member.getExtgroupids():"")))) {
			request.setAttribute("show_message", "您所在的用户组("+ usergroups.get("grouptitle") + ")无法进行此操作。");
			return mapping.findForward("nopermission");
		} else if (postperm.equals("") && allowpost == 0) {
			request.setAttribute("show_message", "您所在的用户组("+ usergroups.get("grouptitle") + ")无法进行此操作。");
			return mapping.findForward("nopermission");
		} else if (!postperm.equals("") && !Common.forumperm(postperm, jsprun_groupid, member!=null?member.getExtgroupids():"")) {
			request.setAttribute("errorInfo", "对不起,本版块只有特定用户组可以发新话题,请返回。");
			return mapping.findForward("showMessage");
		}
		String isblog = request.getParameter("isblog");
		int allowuseblog = Common.toDigit(usergroups.get("allowuseblog"), 255L, 0L).intValue();
		if ("yes".equals(isblog)&& (allowuseblog == 0 || forum.getAllowshare() == 0)) {
			request.setAttribute("errorInfo", "对不起,您没有权限或管理员设置了禁止在本版发表文章,请返回。");
			return mapping.findForward("showMessage");
		}
		Map extcredits = dataParse.characterParse(settings.get("extcredits"),true);
		Map creditspolicy = dataParse.characterParse(settings.get("creditspolicy"),true);
		Map<Integer, Integer> postcredits = dataParse.characterParse(forumfield.getPostcredits(),true);
		Map<Integer, Integer> lowerlimits = (Map<Integer, Integer>) creditspolicy.get("lowerlimit");
		boolean checklowerlimits=(lowerlimits != null && lowerlimits.size() > 0);
		String lowerlimitmessage=this.checklowerlimit(extcredits, postcredits, checklowerlimits, member, 1);
		if (lowerlimitmessage != null) {
			request.setAttribute("errorInfo", lowerlimitmessage);
			return mapping.findForward("showMessage");
		}
		String subject = request.getParameter("subject");
		String message = request.getParameter("message");
		String previewpost=request.getParameter("previewpost");
		if(previewpost!=null){
			request.setAttribute("typeid", request.getParameter("typeid"));
			return this.toNewthread(mapping, form, request, response);
		}
		if (subject==null||message==null||subject.equals("") ||message.equals("")) {
			request.setAttribute("errorInfo", "您没有输入标题或内容,请返回填写。");
			return mapping.findForward("showMessage");
		}
		String post_invalid = Common.checkpost(subject, message, settings, usergroups);
		if (post_invalid != null) {
			request.setAttribute("errorInfo", post_invalid);
			return mapping.findForward("showMessage");
		}
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		String checkflood = checkflood(jsprun_uid, timestamp, member!=null?member.getLastpost():0, Integer.valueOf(settings.get("floodctrl")), Integer.valueOf(usergroups.get("disablepostctrl")), Integer.valueOf(usergroups.get("maxpostsperhour")));
		if (checkflood != null) {
			request.setAttribute("resultInfo", checkflood);
			return mapping.findForward("showMessage");
		}
		float item_price=Float.valueOf(FormDataCheck.turnToDoubleString(request.getParameter("item_price")));
		String item_name=request.getParameter("item_name").trim();
		float maxtradeprice=Float.valueOf(usergroups.get("maxtradeprice"));
		float mintradeprice=Float.valueOf(usergroups.get("mintradeprice"));
		int item_number=Common.toDigit(request.getParameter("item_number"));
		if(item_name.length()==0){
			request.setAttribute("errorInfo","对不起,商品名称不能为空,请返回修改。");
			return mapping.findForward("showMessage");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -