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

📄 topicadminaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
		String[] postIdArray = request.getParameterValues("postIdArray");  
		String banned = request.getParameter("banned");
		String sendreasonpm = request.getParameter("sendreasonpm");
		String reason = request.getParameter("reason");
		if(tid==null){
			request.setAttribute("errorInfo", "请确保正常操作");
			return mapping.findForward("showMessage");
		}
		if(postIdArray==null){
			request.setAttribute("errorInfo", "对不起,您没有选择要进行操作的回帖,请返回修改。");
			return mapping.findForward("showMessage");
		}
		Threads threads = threadsService.findByTid(Integer.valueOf(tid));
		if(threads==null||threads.getDisplayorder()<0){
			request.setAttribute("errorInfo", "对不起,该主题已经被删除。");
			return mapping.findForward("showMessage");
		}
		List<Integer> pidList = new ArrayList<Integer>();
		for(int i = 0;i<postIdArray.length;i++){
			pidList.add(Integer.valueOf(postIdArray[i]));
		}
		List<Posts> postsList = postsService.getPostsListByPidList(pidList);
		for(int i = 0;i<postsList.size();i++){
			if(postsList.get(i)==null){
				request.setAttribute("errorInfo", "对不起,您所操作的帖子中存在被删除的选项,请返回刷新后重试!");
				return mapping.findForward("showMessage");
			}
		}
		HttpSession session = request.getSession();
		Members members = (Members)session.getAttribute("user");
		if(members==null){
			try{
				throw new Exception();
			}catch(Exception  exception){
				exception.printStackTrace();
				request.setAttribute("errorInfo", "错误01,请稍后在试。");
				return mapping.findForward("showMessage");
			}
		}	
		
		String realPath = servlet.getServletContext().getRealPath("/");
		String IP = request.getRemoteAddr();
		String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
		Map<String,Object> parameterMap = new HashMap<String, Object>();
		parameterMap.put("threads", threads);
		parameterMap.put("postsList", postsList);
		parameterMap.put("banned", banned);
		parameterMap.put("timeoffset", session.getAttribute("timeoffset"));
		parameterMap.put("fid", threads.getFid());  
		parameterMap.put("sendreasonpm", sendreasonpm);  
		parameterMap.put("reason", reason);	 
		parameterMap.put("adminId", members.getAdminid());	 
		parameterMap.put("uid", members.getUid());	 
		parameterMap.put("username", members.getUsername());  
		parameterMap.put("groupId", members.getGroupid());	 
		parameterMap.put("url", url);	 
		parameterMap.put("realPath",realPath);	 
		parameterMap.put("IP", IP);	 
		String result = topicAdminActionService.operatingBanPost(parameterMap);
		if(result!=null){
			request.setAttribute("errorInfo", result);
			return mapping.findForward("showMessage");
		}
		if(Common.isshowsuccess(request.getSession(), "admin_succeed")){
			Common.requestforward(response, "viewthread.jsp?tid="+tid+"&page="+currentPage+"&extra="+threadPage);
			return null;
		}else{
			request.setAttribute("successInfo", "管理操作成功,现在将返回论坛。");
			request.setAttribute("requestPath", "viewthread.jsp?tid="+tid+"&page="+currentPage+"&extra="+threadPage);
			return mapping.findForward("showMessage");
		}
	}
	public ActionForward copy(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		String fid = request.getParameter("fid"); 
		HttpSession session = request.getSession();
		Members member = (Members)session.getAttribute("user");
		if(!Common.ismoderator(Short.valueOf(fid), member)){
			request.setAttribute("errorInfo", "错误的操作.");
			return mapping.findForward("showMessage");
		}
		String moderates = request.getParameter("moderates");  
		if(fid==null||moderates==null){
			request.setAttribute("errorInfo", "请进行合法操作");
			return mapping.findForward("showMessage");
		}
		Threads threads = threadsService.findByTid(Integer.valueOf(moderates));
		if(threads==null||threads.getDisplayorder()<0){
			request.setAttribute("errorInfo", "对不起,您选择的主题已经被删除");
			return mapping.findForward("showMessage");
		}
		String reasonpm = ((Map<String,String>)request.getAttribute("usergroups")).get("reasonpm"); 
		String modreasons = settingService.findBySettingvariable("modreasons").getValue(); 
		Map<String,Object> parameterMap = new HashMap<String, Object>();
		short groupid = (Short)session.getAttribute("jsprun_groupid");
		parameterMap.put("groupid", groupid);
		parameterMap.put("member", member);
		parameterMap.put("fid", fid);
		parameterMap.put("tid", moderates);
		parameterMap.put("operation", "copy");
		parameterMap.put("reasonpm", reasonpm);
		parameterMap.put("modreasons", modreasons);
		parameterMap.put("timeoffset", session.getAttribute("timeoffset"));
		TopicCopyVO topicCopyVO = topicAdminActionService.geTopicCopyVO(parameterMap);
		request.setAttribute("valueObject", topicCopyVO);
		return mapping.findForward("goTopicadmin_copy");
	}
	public ActionForward operatingCopy(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		String fid = request.getParameter("fid"); 
		HttpSession session = request.getSession();
		Members members = (Members)session.getAttribute("user");
		if(!Common.ismoderator(Short.valueOf(fid), members)){
			request.setAttribute("errorInfo", "错误的操作.");
			return mapping.findForward("showMessage");
		}
		String tid = request.getParameter("tid");  
		String copyTo = request.getParameter("copyto");  
		String sendreasonpm = request.getParameter("sendreasonpm");
		String reason = request.getParameter("reason");
		if(fid==null||tid==null||copyTo==null){
			request.setAttribute("errorInfo", "非法访问");
			return mapping.findForward("showMessage");
		}
		Threads threads = threadsService.findByTid(Integer.valueOf(tid));
		Forums targetForums = forumService.findById(Short.valueOf(copyTo));
		Members threadsOwner = memberService.findMemberById(threads.getAuthorid());
		Usergroups usergroups = userGroupService.findUserGroupById(threadsOwner.getGroupid());
		String allowdirectpost = usergroups.getAllowdirectpost().toString();
		
		boolean allowCopy = allowCopy(targetForums, allowdirectpost, threads);
		if(!allowCopy){
			request.setAttribute("errorInfo", "对不起,该帖的作者没有在目标版块直接发贴的权限");
			return mapping.findForward("showMessage");
		}
		if(members==null){
			request.setAttribute("errorInfo", "错误01,请稍后再试。");
			return mapping.findForward("showMessage");
		}	
		String realPath = servlet.getServletContext().getRealPath("/");
		String IP = request.getRemoteAddr();
		String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
		String creditsformula = ((Map<String,String>)request.getAttribute("settings")).get("creditsformula");
		String creditspolicy = ((Map<String,String>)request.getAttribute("settings")).get("creditspolicy");
		Map<String,Object> parameterMap = new HashMap<String, Object>();
		parameterMap.put("threads", threads);
		parameterMap.put("fid", fid);
		parameterMap.put("targetForums", targetForums);
		parameterMap.put("sendreasonpm", sendreasonpm);  
		parameterMap.put("reason", reason);	 
		parameterMap.put("adminId", members.getAdminid());	 
		parameterMap.put("uid", members.getUid());	 
		parameterMap.put("username", members.getUsername());  
		parameterMap.put("groupId", members.getGroupid());	 
		parameterMap.put("timeoffset", session.getAttribute("timeoffset"));
		parameterMap.put("realPath",realPath);	 
		parameterMap.put("IP", IP); 
		parameterMap.put("url", url);	 
		parameterMap.put("creditsformula", creditsformula); 
		parameterMap.put("creditspolicy", creditspolicy); 
		parameterMap.put("settingMap", (Map<String,String>)request.getAttribute("settings")); 
		String result = topicAdminActionService.operatingCopy(parameterMap);
		if(result!=null){
			request.setAttribute("errorInfo", result);
			return mapping.findForward("showMessage");
		}
		if(Common.isshowsuccess(request.getSession(), "admin_succeed")){
			Common.requestforward(response, "forumdisplay.jsp?fid="+fid);
			return null;
		}else{
			request.setAttribute("successInfo", "管理操作成功,现在将返回论坛。");
			request.setAttribute("requestPath", "forumdisplay.jsp?fid="+fid);
			return mapping.findForward("showMessage");
		}
	}
	private boolean allowDeletePosts(HttpServletRequest request){
		HttpSession session = request.getSession(); 
		Byte adminId = (Byte)session.getAttribute("jsprun_adminid");	
		if(adminId!=null){
			if(adminId==0){
				return false;
			}else{
				Map<String,String> usergroups = (Map<String,String>)request.getAttribute("usergroups");
				String allowdelpost = usergroups.get("allowdelpost");
				if(allowdelpost!=null){
					if(allowdelpost.equals("0")){
						return false;
					}else{
						return true;
					}
				}else{
					try{
						throw new Exception("Request 中的 admingroups 为 NULL");
					}catch(Exception exception){
						exception.printStackTrace();
					}
					return false;
				}
			}
		}else{
			try{
				throw new Exception("Session 中的 adminID 为 NULL");
			}catch(Exception exception){
				exception.printStackTrace();
			}
			return false;
		}
	}
	private boolean allowBanpost(HttpServletRequest request){
		HttpSession session = request.getSession(); 
		Byte adminId = (Byte)session.getAttribute("jsprun_adminid");	
		if(adminId!=null){
			if(adminId==0){
				return false;
			}else{
				Map<String,String> usergroups = (Map<String,String>)request.getAttribute("usergroups");
				String allowdelpost = usergroups.get("allowbanpost");
				if(allowdelpost!=null){
					if(allowdelpost.equals("0")){
						return false;
					}else{
						return true;
					}
				}else{
					try{
						throw new Exception("Request 中的 admingroups 为 NULL");
					}catch(Exception exception){
						exception.printStackTrace();
					}
					return false;
				}
			}
		}else{
			try{
				throw new Exception("Session 中的 adminID 为 NULL");
			}catch(Exception exception){
				exception.printStackTrace();
			}
			return false;
		}
	}
	private boolean allowStick(HttpServletRequest request,String level){
		HttpSession session = request.getSession(); 
		Byte adminId = (Byte)session.getAttribute("jsprun_adminid");	
		if(adminId!=null){
			if(adminId==0){
				return false;
			}else{
				Map<String,String> usergroups = (Map<String,String>)request.getAttribute("usergroups");
				String allowstickthread = usergroups.get("allowstickthread");
				if(allowstickthread!=null){
					Integer levelInteger = Integer.valueOf(level);
					Integer aInteger = Integer.valueOf(allowstickthread);
					if(levelInteger>aInteger){
						return false;
					}else{
						return true;
					}
				}else{
					try{
						throw new Exception("Request 中的 admingroups 为 NULL");
					}catch(Exception exception){
						exception.printStackTrace();
					}
					return false;
				}
			}
		}else{
			try{
				throw new Exception("Session 中的 adminID 为 NULL");
			}catch(Exception exception){
				exception.printStackTrace();
			}
			return false;
		}
	}
	private boolean allowCopy(Forums targetForums,String allowdirectpost,Threads threads){
		if(targetForums==null||allowdirectpost==null||threads==null){
			try{
				throw new Exception();
			}catch(Exception exception){
				exception.printStackTrace();
				return false;
			}
		}
		if(threads.getSpecial()>0){
			return false;
		}
		if(needAuditing(targetForums, allowdirectpost)){
			return false;
		}
		return true;
	}
	private boolean needAuditing(Forums targetForums,String allowdirectpost){
		if(targetForums.getModnewposts()>0&&!allowdirectpost.equals("2")&&!allowdirectpost.equals("3")){
			return true;
		}else{
			return false;
		}
	}
	public String getAttachmentRealyPath(String attachmentPath,String serverUrl){
		if(attachmentPath.startsWith("http://")){
			attachmentPath = attachmentPath.substring(serverUrl.length());
		}
		ServletContext context = servlet.getServletContext();
		return context.getRealPath(attachmentPath);
	}
}

⌨️ 快捷键说明

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