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

📄 modcpaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		}
		if ((admingroup==null || admingroup.getAlloweditpost()==0 || forums.getAlloweditpost() == 0 || !modertar) && jrun_uid!=post.getAuthorid()) {
			message = "对不起,您没有权力编辑他人发表的帖子,请返回。";
			this.showmessage(false, message, response);
			return null;
		}
		Members author = memberService.findMemberById(post.getAuthorid());
		if (author != null && (author.getAdminid() > 0 && jsprun_adminid > author.getAdminid())) {
			message = "对不起,您没有权力编辑他人发表的帖子,请返回。";
			this.showmessage(false, message, response);
			return null;
		}
		if (editmessagesubmit == null) {
			request.setAttribute("post", post);
			return mapping.findForward("tomodcppost");
		} else {
			List<Map<String,String>> smilieslist = dataBaseService.executeQuery("select s.id,s.typeid,s.code,s.url,i.directory from jrun_smilies s left join jrun_imagetypes  i on s.typeid=i.typeid where s.type='smiley' order by s.displayorder");
			String dos = request.getParameter("do");
			if (dos != null) {
				Posts posts = postService.getPostsById(convertInt(pid));
				String messages = posts.getMessage();
				messages = this.parseSmilies(smilieslist,messages, 10,forums.getAllowimgcode()>0);
				try {
					response.getWriter().write(messages);
				} catch (IOException e) {
					e.printStackTrace();
				}
			} else {
				String messages = request.getParameter("message");
				message=message.replace("\\", "\\\\");
				dataBaseService.runQuery("update jrun_posts set message='" + messages.replace("'", "''")+ "' where pid = " + pid);
				messages = this.parseSmilies(smilieslist,messages, 10,forums.getAllowimgcode()>0);
				writeMessage(response,messages,false);
			}
			smilieslist=null;
			return null;
		}
	}

	public ActionForward getip(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		response.setContentType("text/html");
		response.setHeader("Cache-Control", "no-store");
		response.setHeader("Program", "no-cache");
		response.setDateHeader("Expirse", 0);
		String pid = request.getParameter("pid");
		String tid = request.getParameter("tid");
		HttpSession session = request.getSession();
		short groupid = (Short)session.getAttribute("jsprun_groupid");
		byte jsprun_adminid = (Byte)( session.getAttribute("jsprun_adminid")==null?0:session.getAttribute("jsprun_adminid"));
		String modertarhql = "SELECT m.adminid, p.first, m.regip FROM jrun_posts p	LEFT JOIN jrun_members m ON m.uid=p.authorid WHERE pid='"+ pid + "' AND tid='" + tid + "'";
		List<Map<String, String>> members = dataBaseService.executeQuery(modertarhql);
		String message = "";
		if(members==null || members.size()<=0){
			message = "指定的主题不存在或已被删除或正在被审核,请返回。";
			this.showMessage("ajaxerror",message, response);
			return null;
		}else{
			Threads thread = threadService.findByTid(convertInt(tid));
			Map<String,String> membermap = members.get(0);
			if(("1".equals(membermap.get("adminid")) && jsprun_adminid>1)||("2".equals(membermap.get("adminid")) && jsprun_adminid>2)){
				message = "对不起,您没有权限查看比您高级的管理员 IP,请返回。";
				this.showMessage("ajaxerror",message, response);
				return null;
			}else if(membermap.get("first").equals("1") && thread.getDigest()==-1){
				message = "特殊主题不允许进行此操作,请返回。";
				this.showMessage("ajaxerror",message, response);
				return null;
			}
			IPSeeker seeker  = IPSeeker.getInstance();
			String address = seeker.getAddress(membermap.get("regip")==null?"":membermap.get("regip"));
			request.setAttribute("address", address);
			request.setAttribute("ip", membermap.get("regip"));
			Admingroups admingroup = userGroupService.findAdminGroupById(Short.valueOf(groupid+""));
			if(admingroup!=null){
				request.setAttribute("banip", admingroup.getAllowbanip());
			}
			return mapping.findForward("topicagetip");
		}
	}
	private void writeMessage(HttpServletResponse response,String message,boolean iserror){
		response.setContentType("application/xml");
		response.setHeader("Cache-Control", "no-store");
		response.setHeader("Program", "no-cache");
		response.setDateHeader("Expirse", 0);
		String content = "<?xml version=\"1.0\" encoding=\""+JspRunConfig.charset+"\"?><root><![CDATA[";
		if(iserror){
			message = message+" <script type=\"text/javascript\" reload=\"1\">function ajaxerror() { alert('"+message+"');}ajaxerror();</script>";
		}
		message = message.replaceAll("([\\x01-\\x09\\x0b-\\x0c\\x0e-\\x1f])+", "");
		message = message.replaceAll("]]>", "]]&gt");
		content = content+message+"]]></root>";
		try {
			response.getWriter().write(content);
		} catch (IOException e) {
		}
	}
	@SuppressWarnings("unused")
	private int convertInt(String s) {
		int count = 0;
		try {
			count = Integer.valueOf(s);
		} catch (Exception e) {
		}
		return count;
	}
	private String parseSmilies(List<Map<String,String>> smilieslist,String message, int parnum,boolean allowimgcode) {
		Jspruncode jspcode = (Jspruncode)BeanFactory.getBean("jspruncode");
		message = jspcode.parsecode(message,false);
		message = jspcode.parsetable(message);
		message = jspcode.parseimg(message, allowimgcode);
		message = message.replaceAll("\\n", "<br/>");
		message = message.replaceAll("(?i)<br/>(<TD>|<TR>|</TR>)", "$1");
		message = relacesmile(smilieslist,message, parnum);
		return message;
	}

	private String relacesmile(List<Map<String,String>> smilieslist,String message, int parnum) {
		int count = 0;
		message = message+" ";
		for(Map<String,String> smiles:smilieslist){
			if(message.indexOf(smiles.get("code")+" ")!=-1 || message.indexOf(" "+smiles.get("code"))!=-1){
				StringBuffer buffer = new StringBuffer();
				buffer.append("<img src='images/smilies/");
				buffer.append(smiles.get("directory"));
				buffer.append("/");
				buffer.append(smiles.get("url"));
				buffer.append("' smilieid='");
				buffer.append(smiles.get("id"));
				buffer.append("' border='0' alt='' /> ");
				message = StringUtils.replace(message, smiles.get("code"), buffer.toString());
				count++;
			}
			if (count > parnum) {
				break;
			}
		}
		return message;
	}
	private void showmessage(boolean sucess, String message, HttpServletResponse response) {
		response.setContentType("text/html");
		response.setHeader("Cache-Control", "no-store");
		response.setHeader("Program", "no-cache");
		response.setDateHeader("Expirse", 0);
		try {
			if(sucess){
				response.getWriter().write(message);
			} else {
				response.getWriter().write("error:"+message);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	private void showMessage(String url,String message,HttpServletResponse response)
	{
		response.setContentType("text/html");
		response.setHeader("Cache-Control", "no-store");
		response.setHeader("Program", "no-cache");
		response.setDateHeader("Expirse", 0);
		try {
			if(message!=null)
			{
				response.getWriter().write(url+"<script type=\"text/javascript\">alert('"+message+"错误状态码:"+new Random().nextInt(10000)+"');</script>");
			}
			else{
				response.getWriter().write(url);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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