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

📄 postsaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		b.setTag(tagname); 
		b.setParams(param);
		String promptnew = request.getParameter("promptnew");
		promptnew = promptnew==null?"":promptnew;
		promptnew = promptnew.replaceAll("\r\n", "\t");
		b.setPrompt(promptnew); 
		b.setNest(nestnum);
		bbcodesService.updateBbcodes(b);
		Cache cache = new Cache(servlet.getServletContext().getRealPath("/"));
		try {
			cache.updatecache("post");
		} catch (Exception e) {
			e.printStackTrace();
		}
		String successInfo = "Jsprun! 代码成功更新。";
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath", "admincp.jsp?action=jspruncodes");
		return mapping.findForward("success");
	}
	private String getAvailable(String ids) {
		StringBuffer sb = new StringBuffer("availablenew[");
		sb.append(ids);
		sb.append("]");
		return sb.toString();
	}
	public ActionForward toRecyclebin(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session=request.getSession();
		short groupid = (Short)session.getAttribute("jsprun_groupid");
		Members member = (Members)session.getAttribute("user");
		request.setAttribute("forumselect", Common.forumselect(false, false,groupid,member!=null?member.getExtgroupids():"",null,false));
		session.removeAttribute("recyclebinform");
		return mapping.findForward("toRecyclebin");
	}
	@SuppressWarnings({ "unchecked", "deprecation" })
	public ActionForward toSmilies(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String export = request.getParameter("export");
		String importsubmit = request.getParameter("importsubmit");
		if(export==null && importsubmit==null){
		List<Map<String,String>> dateList = dataBaseService.executeQuery("select i.name,i.displayorder,i.typeid,i.directory,(select count(*) from jrun_smilies where typeid=i.typeid) as totalCount from jrun_imagetypes as i where i.type = 'smiley'");
		List<String> showList = new ArrayList<String>();
		String filePath = servlet.getServletContext().getRealPath("/")+"images/smilies";
		File f = new File(filePath);
		String[] fs = f.list(); 
		if (fs != null && fs.length > 0) {
			for (int i = 0; i < fs.length; i++) {
				File fsi = new File(filePath+"/"+fs[i]);
				if (fsi.isDirectory()) {
					showList.add(fsi.getName());
				}
			}
			if (showList != null && showList.size() > 0 && dateList != null && dateList.size() > 0) {
				for (int j = 0; j < dateList.size(); j++) {
					for (int i = 0; i < showList.size(); i++) {
						if (dateList.get(j).get("directory").equals(showList.get(i))) {
							showList.remove(i);
						}
					}
				}
			}
			request.setAttribute("showList", showList);
		}
		request.setAttribute("datelist", dateList);
		return mapping.findForward("toSmilies");
		}else if(export!=null){
			Imagetypes imagetype = typeServer.findImagetypeById(Short.valueOf(export));
			if(imagetype==null){
				request.setAttribute("resultInfo", "指定的表情分类不存在,无法导出。");
				return mapping.findForward("result");
			}
			List<Smilies> smilieslist = smiliesService.findSmiliesBytypeid(imagetype.getTypeid(), 0, 200);
			String dateformat=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("dateformat");
			String timeformat=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("timeformat");
			String timeoffset=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("timeoffset");
			String bbname=((Map<String,String>)request.getSession().getServletContext().getAttribute("fsmap")).get("bbname");
			String boardurl=(String)request.getSession().getAttribute("boardurl");
			Long timestamp=new Date().getTime();
			String time=new SimpleDateFormat(dateformat+" "+timeformat).format(timestamp+Integer.valueOf(timeoffset)*3600);
			Map smiliesMap=new HashMap();
			String name=imagetype.getName();
			smiliesMap.put("name", name);
			smiliesMap.put("directory", imagetype.getDirectory());
			Map smilesmap = new TreeMap();
			for(Smilies smilies : smilieslist){
				Map<String,String> smilMap = new HashMap<String,String>();
				smilMap.put("typeid", smilies.getTypeid()+"");
				smilMap.put("displayorder", smilies.getDisplayorder()+"");
				smilMap.put("code", smilies.getCode());
				smilMap.put("url", smilies.getUrl());
				smilesmap.put(Integer.valueOf(smilies.getId()+""), smilMap);
			}
			smiliesMap.put("smilies", smilesmap);
			smiliesMap.put("version",JspRunConfig.version);
			try {
				name=new String(name.getBytes("GBK"),"ISO8859-1");
			} catch (UnsupportedEncodingException e1) {
				e1.printStackTrace();
			}
			String style_export="# JspRun! Smilies Dump\n# Version: JspRun! "+JspRunConfig.version+"\n# Time: "+time+"\n# From: "+bbname+" ("+boardurl+")\n#\n# This file was BASE64 encoded\n#\n# JspRun! Community: http://www.JspRun.com\n# Please visit our website for latest news about JspRun!\n# --------------------------------------------------------\n\n\n"+Base64Encoder.encode(dataParse.combinationChar(smiliesMap), JspRunConfig.charset);
			response.setCharacterEncoding("ISO8859-1");
			response.setHeader("Content-Type","application/octet-stream");
			response.setHeader("Content-Disposition","attachment; filename=JspRun_smilies_"+name+".txt");
			response.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");
			response.setHeader("Last-Modified", new Date().toGMTString()+" GMT");
			response.setHeader("Content-Encoding", "none");
			response.setHeader("Cache-Control", "no-cache, must-revalidate");
			response.setHeader("Pragma", "no-cache");
			response.setHeader("Content-Length", String.valueOf(style_export.length()));
			try {
				OutputStream os=response.getOutputStream();
				os.write(style_export.getBytes(), 0, style_export.length());
				os.flush();
				os.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			smilieslist = null;smiliesMap=null;
			return null;
		}else {
			if(importsubmit==null){
				Common.requestforward(response, "admincp.jsp?action=smilies");
				return null;
			}
			String realPath=servlet.getServletContext().getRealPath("/");
			String styledata=request.getParameter("smiliesdata");
			styledata=styledata.replaceAll("(#.*\\s+)*", "");
			Map styleMap=dataParse.characterParse(Base64Decoder.decode(styledata, JspRunConfig.charset), false);
			if(styleMap==null||styleMap.size()==0)
			{
				request.setAttribute("errorInfo", "界面数据文件已损坏,无法导入,请返回。");
				return mapping.findForward("error");
			}
			boolean renamed=false;
			String directory=styleMap.get("directory")==null?"":styleMap.get("directory").toString();
			String templatedir=realPath+"./images/smilies/"+directory;
			File file=new File(templatedir);
			if(!file.isDirectory())
			{
				if(!file.mkdir())
				{
					String basedir=directory;
					request.setAttribute("errorInfo", "表情目录无法自动建立,请设置 "+basedir+" 目录属性为 777<br />或通过 FTP 建立目录 "+directory+" 并设置属性为 777。");
					return mapping.findForward("error");
				}
			}
			List<Imagetypes> imagetypes = typeServer.findImagetypeByName(styleMap.get("name").toString());
			if(imagetypes!=null && imagetypes.size()>0){
				styleMap.put("name", styleMap.get("name").toString()+"_"+getRandStr(4,false));
				renamed = true;
			}
			Imagetypes imagetype = new Imagetypes();
			imagetype.setName(styleMap.get("name").toString());
			imagetype.setDisplayorder(Short.valueOf("0"));
			imagetype.setDirectory(styleMap.get("directory").toString());
			imagetype.setType("smiley");
			if(!typeServer.addImagetype(imagetype)){
				request.setAttribute("errorInfo", "界面数据文件已损坏,无法导入,请返回。");
				return mapping.findForward("error");
			}
			short typeid = imagetype.getTypeid();
			Map smilemap = (HashMap)styleMap.get("smilies");
			if(smilemap!=null){
				Iterator its = smilemap.keySet().iterator();
				while(its.hasNext()){
					Object key = its.next();
					Map<String,String> smile = (Map<String,String>)smilemap.get(key);
					Smilies smilies = new Smilies();
					smilies.setCode(smile.get("code"));
					smilies.setType("smiley");
					smilies.setUrl(smile.get("url"));
					smilies.setTypeid(typeid);
					smilies.setDisplayorder(Short.valueOf(smile.get("displayorder")));
					smiliesService.addSmilies(smilies);
				}
			}
			String successInfo = "";
			Cache cache=new Cache(realPath);
			try {
				cache.updatecache("post");
			} catch (Exception e) {
				e.printStackTrace();
			}
			if(renamed)
			{
				successInfo="导入表情分类名称与现有重复,已被自动重命名。表情成功导入。";
			}
			else{
				successInfo="表情成功导入。";
			}
			styleMap = null;imagetypes=null;imagetype=null;smilemap=null;
			request.setAttribute("successInfo", successInfo);
			request.setAttribute("requestPath", "admincp.jsp?action=smilies");
			return mapping.findForward("success");
		}
	}
	public ActionForward toIcoes(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		List<Smilies> dateList = null;
		List<Smilies> showList = new ArrayList<Smilies>();
		dateList = smiliesService.getIcons();
		String filePath = servlet.getServletContext().getRealPath("/")+"images/icons";
		File f = new File(filePath);
		String repxl = "gif|jpg|png|bmp|jpeg";
		String[] fs = f.list(); 
		if (fs != null && fs.length > 0) {
			for (int i = 0; i < fs.length; i++) {
				int index = fs[i].lastIndexOf(".");
				if(index!=-1 && Common.matches(fs[i].substring(index).toLowerCase(),repxl)){
				File fsi = new File(filePath+"/"+fs[i]);
				if (fsi.exists() && !fsi.isDirectory()) {
					Smilies icons = new Smilies();
					icons.setUrl(fs[i]);
					showList.add(icons);
				}
				}
			}
			if (showList != null && showList.size() > 0 && dateList != null
					&& dateList.size() > 0) {
				for (int j = 0; j < dateList.size(); j++) {
					for (int i = 0; i < showList.size(); i++) {
						if (dateList.get(j).getUrl().equals(showList.get(i).getUrl())) {
							showList.remove(i);
						}
					}
				}
			}
			request.setAttribute("fileIcons", showList);
		}
		request.setAttribute("dateList", dateList);
		return mapping.findForward("toIcons");
	}
	@SuppressWarnings("unchecked")
	public ActionForward tomodreplies(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ServletContext context = request.getSession().getServletContext();
		String sql="SELECT f.fid,f.name FROM jrun_forums f LEFT JOIN jrun_forumfields ff USING(fid) WHERE f.type <>'group' AND f.status>0";
		List<Map<String,String>> forumList=dataBaseService.executeQuery(sql);
		request.setAttribute("forumList", forumList);
		String modreasons= ((Map<String,String>)context.getAttribute("fsmap")).get("modreasons");
		request.setAttribute("modreasons",modreasons!=null?modreasons.split("\r\n"):"");
		ModrepliesPageForm mod = new ModrepliesPageForm();
		mod.setList(request.getContextPath());
		request.setAttribute("modrepliesPageForm", mod);
		return mapping.findForward("toreplies");
	}
	@SuppressWarnings("unchecked")
	public ActionForward tomodthreads(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ServletContext context = request.getSession().getServletContext();
		String sql="SELECT f.fid,f.name FROM jrun_forums f LEFT JOIN jrun_forumfields ff USING(fid) WHERE f.type <>'group' AND f.status>0";
		List<Map<String,String>> forumList = dataBaseService.executeQuery(sql);
		request.setAttribute("forumList", forumList);
		String modreasons=((Map<String,String>)context.getAttribute("fsmap")).get("modreasons");
		request.setAttribute("modreasons",modreasons!=null?modreasons.split("\r\n"):"");
		PostsPageForm mod = new PostsPageForm();
		mod.setList(request.getContextPath());
		request.setAttribute("postsPageForm", mod);
		return mapping.findForward("tothreads");
	}
	private int convertInt(String str){
		int count = 0;
		try{
			count = Integer.valueOf(str);
		}catch(Exception e){
		}
		return count;
	}
	private String getRandStr(int length, boolean isOnlyNum) {
		Random random = new Random();
		int size = 62;
		if (isOnlyNum) {
			size = 10;
		}
		String str = "0123456789abcdefghigklmnopqrstuvtxyzABCDEFGHIGKLMNOPQRSTUVWXYZ";
		StringBuffer sRand = new StringBuffer("");
		String rand = "";
		for (int i = 0; i < length; i++) {
			rand = String.valueOf(str.charAt(random.nextInt(size)));
			sRand.append(rand);
		}
		return sRand.toString();
	}
	public ActionForward toforumrecommend(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		Strin

⌨️ 快捷键说明

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