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

📄 forummanageaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
							String[] fids=fidarray.toString().split(",");
							for (String ifid : fids) {
								ifid=ifid.trim();
								if(!ifid.equals("0"))
								{
									dataBaseService.runQuery("REPLACE INTO jrun_moderators (uid, fid, inherited) VALUES ('"+uid+"', '"+ifid+"', '1')",true);
								}
							}
						}
					}
				}
				forum.setInheritedmod(inheritedmodnew);
				forumService.updateForum(forum);
			}
			List<Map<String,String>> moderatorList=dataBaseService.executeQuery("SELECT m.username FROM jrun_members m, jrun_moderators mo WHERE mo.fid='"+fid+"' AND mo.inherited='0' AND m.uid=mo.uid ORDER BY mo.displayorder", new String[]{"username"});
			StringBuffer moderatorstr=new StringBuffer();
			if(moderatorList!=null&&moderatorList.size()>0)
			{
				for (Map<String, String> moderator : moderatorList) {
					moderatorstr.append("\t"+moderator.get("username"));
				}
			}
			dataBaseService.runQuery("UPDATE jrun_forumfields SET moderators='"+(moderatorstr.length()>0?moderatorstr.substring(1):"")+"' WHERE fid='"+fid+"'",true);
			request.setAttribute("successInfo", "版主设置成功更新。");
			request.setAttribute("requestPath","admincp.jsp?action=moderators&fid="+fid);
			return mapping.findForward("success");
		}
	}
	public ActionForward forumrules(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		String fid = request.getParameter("fid");
		HttpSession session=request.getSession();
		byte adminid = (Byte)session.getAttribute("jsprun_adminid");
		int uid = (Integer)session.getAttribute("jsprun_uid");
		if(fid==null){
			List<Map<String,String>> forums=null;
			if(adminid==2){
				forums=dataBaseService.executeQuery("SELECT fid, name FROM jrun_forums WHERE alloweditrules>'0' AND type IN ('forum', 'sub')");
			}else{
				forums=dataBaseService.executeQuery("SELECT f.fid, f.name, m.uid FROM jrun_forums f LEFT JOIN jrun_moderators m ON m.uid='"+uid+"' AND m.fid=f.fid WHERE alloweditrules>'0' AND f.type IN ('forum', 'sub')");
			}
			StringBuffer options=new StringBuffer();
			if(forums!=null&&forums.size()>0){
				for(Map<String,String> forum:forums){
					if(forum.get("uid")!=null||adminid==2){
						options.append("<option value=\""+forum.get("fid")+"\">"+Common.strip_tags(forum.get("name"))+"</option>");
					}
				}
			}
			request.setAttribute("options", options);
			return mapping.findForward("toForumrules");
		}else{
			boolean access=false;
			if(adminid==2){
				access=true;
			}else if(adminid==3){
				List<Map<String,String>> moderatorss=dataBaseService.executeQuery("SELECT uid FROM jrun_moderators WHERE uid='"+uid+"' AND fid='"+fid+"'");
				if(moderatorss!=null&&moderatorss.size()>0){
					access=true;
				}
			}
			List<Map<String,String>> forums=dataBaseService.executeQuery("SELECT f.fid, f.name, f.alloweditrules, ff.rules FROM jrun_forums f LEFT JOIN jrun_forumfields ff USING (fid) WHERE f.fid='"+fid+"' AND alloweditrules>'0' AND type IN ('forum', 'sub')");
			if(!access){
				request.setAttribute("resultInfo", "对不起,管理员设置了版主无法编辑版块规则。");
				return mapping.findForward("result");
			}
			if(forums==null||forums.size()==0){
				request.setAttribute("resultInfo", "对不起,管理员设置了版主无法编辑版块规则。");
				return mapping.findForward("result");
			}else{
				Map<String,String> forum=forums.get(0);
				String rulessubmit=request.getParameter("rulessubmit");
				if(rulessubmit==null){
					request.setAttribute("forum",forum);
					return mapping.findForward("toForumrules");
				}else{
					String rulesnew=request.getParameter("rulesnew");
					int alloweditrules=Integer.valueOf(forum.get("alloweditrules"));
					if(alloweditrules!=2){
						rulesnew = Common.dhtmlspecialchars(rulesnew);
					}
					dataBaseService.runQuery("UPDATE jrun_forumfields SET rules='"+rulesnew+"' WHERE fid='"+fid+"'",true);
					request.setAttribute("resultInfo", "版块规则成功编辑。");
					return mapping.findForward("result");
				}
			}
		}
	}
	@SuppressWarnings("unchecked")
	private Map<String,Boolean> toMap(Map<String,Boolean> map, String[] groupids) {
		if (groupids == null) {
			return null;
		}
		for (int i = 0; i < groupids.length; i++) {
			if (!"".equals(groupids[i])) {
				map.put(groupids[i], true);
			}
		}
		return map;
	}

	@SuppressWarnings("unchecked")
	private String toString(String[] groupids) {
		StringBuffer sb = new StringBuffer("");
		if (groupids != null && groupids.length > 0) {
			sb.append("\t");
			for (int i = 0; i < groupids.length; i++) {
				if (!"".equals(groupids[i])) {
					sb.append(groupids[i] + "\t");
				}
			}
		}
		return sb.toString();
	}

	@SuppressWarnings("unchecked")
	private Map toMap(Map map, HttpServletRequest request, Integer key,
			String fieldName) {
		if (fieldName != null && !"".equals(fieldName)) {
			String value = request.getParameter(fieldName + "[" + key + "]");
			if (value != null && !"".equals(value)) {
				if (map == null) {
					map = new TreeMap();
				}
				map.put(key, Common.toDigit(value, 99L, -2147483648L).intValue());
			}
		}
		return map;
	}
	private void copyModerator(short fid, short fup, byte inherited) {
		Map<String,String> upForum=dataBaseService.executeQuery("SELECT inheritedmod FROM jrun_forums WHERE fid='"+fup+"'").get(0);
		List<Map<String,String>> moderators=dataBaseService.executeQuery("SELECT uid, inherited FROM jrun_moderators WHERE fid='"+fup+"'");
		if (moderators != null&&moderators.size()>0) {
			StringBuffer sql=new StringBuffer();
			sql.append("REPLACE INTO jrun_moderators (uid, fid, inherited)VALUES");
			boolean flag=false;
			for (Map<String,String> moderator : moderators) {
				if ("1".equals(upForum.get("inheritedmod"))||"1".equals(moderator.get("inherited"))) {
					sql.append(" ('"+moderator.get("uid")+"', '"+fid+"', '1'),");
					flag=true;
				}
			}
			if(flag){
				sql.deleteCharAt(sql.length()-1);
			}
			dataBaseService.runQuery(sql.toString(),true);
		}
	}
	private void updateForumCache()
	{
		String realPath=servlet.getServletContext().getRealPath("/");
		Cache cache=new Cache(realPath);
		try {
			cache.updatecache("forums");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	private String showforum(Map<String,String> forum,String type,String indexname)
	{
		return  "<li><a href=\""+("group".equals(type)?indexname+"?gid="+forum.get("fid") : "forumdisplay.jsp?fid="+forum.get("fid"))+"\" target=\"_blank\"><b>"+forum.get("name")+"</b><span class=\"smalltxt\">"+("1".equals(forum.get("status")) ?"" : " (隐藏)")+"</span></a> - 显示顺序: <input type=\"text\" name=\""+forum.get("fid")+"\" value=\""+forum.get("displayorder")+"\" size=\"1\"> - "+(!"sub".equals(type)?"<a href=\"admincp.jsp?action=forumadd&fupid="+forum.get("fid")+"\" title=\"添加本分区或版块的下级版块\">[添加]</a> " : "")+"<a href=\"admincp.jsp?action=forumdetail&fid="+forum.get("fid")+"\" title=\"编辑本版块设置\">[编辑]</a> "+(!"group".equals(type)?"<a href=\"admincp.jsp?action=forumcopy&source="+forum.get("fid")+"\" title=\"将本版块的设置复制到其它版块\">[版块设置复制]</a> " :"")+"<a href=\"admincp.jsp?action=forumdelete&fid="+forum.get("fid")+"\" title=\"删除本版块及其中所有帖子\">[删除]</a> - <a href=\"admincp.jsp?action=moderators&fid="+forum.get("fid")+"\" title=\"编辑本版块版主\">[版主"+(!"".equals(forum.get("moderators"))?("1".equals(forum.get("inheritedmod"))?":&nbsp;<B>"+forum.get("moderators").replaceAll("\t", ",&nbsp;")+"</B>":":&nbsp;"+forum.get("moderators").replaceAll("\t", ",&nbsp;")):"")+"]</a><br /></li>";
	}
	private Map<String, Object> getValues(Object bean, String[] fields,Map<String, Object> fieldsMap) {
		try {
			Field[] beanFields = bean.getClass().getDeclaredFields();
			if (fieldsMap == null) {
				fieldsMap = new HashMap<String, Object>();
			}
			int fieldLength = fields.length;
			String paraName = null;
			String getMethod = null;
			for (int i = 0; i < fieldLength; i++) {
				paraName = fields[i];
				Method method = null;
				Object paraValue = null;
				int beanFieldLength = beanFields.length;
				for (int j = 0; j < beanFieldLength; j++) {
					if (paraName.equals(beanFields[j].getName())) {
						getMethod = "get"+ paraName.substring(0, 1).toUpperCase()+ paraName.substring(1, paraName.length());
						method = bean.getClass().getMethod(getMethod);
						paraValue = method.invoke(bean, new Object[0]);
					}
				}
				if (method != null) {
					if (paraValue instanceof Short) {
						paraValue = String.valueOf(paraValue);
					}
					fieldsMap.put(paraName, paraValue);
				}
			}
		}catch (Exception e) {
			e.printStackTrace();
		}
		return fieldsMap;
	}

	@SuppressWarnings("unchecked")
	private Object setValues(Object bean, Map fieldsMap) {
		try {
			Field[] fields = bean.getClass().getDeclaredFields();
			String paraName = null;
			String paraValue = null;
			String setMethod = null;
			int fieldLength = fields.length;
			for (int i = 0; i < fieldLength; i++) {
				paraName = fields[i].getName();
				Object obj = fieldsMap.get(paraName);
				if (obj != null) {
					paraValue = obj.toString();
					if (paraValue != null && !"".equals(paraValue)) {
						setMethod = "set"+ paraName.substring(0, 1).toUpperCase()+ paraName.substring(1, paraName.length());
						Method method = bean.getClass().getMethod(setMethod,fields[i].getType());
						method.invoke(bean, Common.convert(paraValue, fields[i].getType()));
					}
				}
			}
		}catch (Exception e) {
			e.printStackTrace();
		}
		return bean;
	}

	private Object setValues(Object bean, HttpServletRequest request) {
		try {
			Field[] fields = bean.getClass().getDeclaredFields();
			String paraName = null;
			String paraValue = null;
			String setMethod = null;
			int fieldLength = fields.length;
			for (int i = 0; i < fieldLength; i++) {
				paraName = fields[i].getName();
				Object obj = request.getParameter((paraName));
				if (obj != null) {
					paraValue = obj.toString();
					if (paraValue != null) {
						if ("forumcolumns".equals(paraName)) {
							paraValue = toForumColumns(paraValue).toString();
						}
						if ("displayorder".equals(paraName)) {
							paraValue = String.valueOf(toDisPlayOrder(paraValue));
						}
						if ("threadcaches".equals(paraName)) {
							paraValue = Common.toDigit(paraValue, 100L, 0L).toString();
						}
						if ("formulaperm".equals(paraName)) {
							continue;
						}
						setMethod = "set"+ paraName.substring(0, 1).toUpperCase()+ paraName.substring(1, paraName.length());
						Method method = bean.getClass().getMethod(setMethod,fields[i].getType());
						method.invoke(bean, Common.convert(paraValue, fields[i].getType()));
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return bean;
	}
	@SuppressWarnings("unchecked")
	public ActionForward threadtypes(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		short special = (short)Common.toDigit(request.getParameter("special"));

⌨️ 快捷键说明

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