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

📄 smiliesaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		}
		String edit = request.getParameter("edit");
		String directory = request.getParameter("directory");
		List<Smilies> list = new ArrayList<Smilies>(); 
		List<Short> shortListIds = new ArrayList<Short>(); 
		String[] deletes = request.getParameterValues("delete[]"); 
		if (deletes != null) {
			for (int i = 0; i < deletes.length; i++) {
				if (deletes[i] != null && FormDataCheck.isNum(deletes[i])) {
					shortListIds.add(Short.valueOf(deletes[i])); 
				}
			}
		}
		String hiddenids = request.getParameter("hiddenids");  
		if (hiddenids != null) {
			String[] ids = hiddenids.split(",");
			if (ids != null) {
				for (int i = 0; i < ids.length; i++) {
					if (FormDataCheck.isValueString(ids[i])) {
						String display = request.getParameter(getDisplayorder(ids[i])); 
						String code = request.getParameter(getCode(ids[i])); 
						Smilies s = new Smilies();  
						s.setId(Short.valueOf(ids[i])); 
						if (FormDataCheck.isValueString(display)&& FormDataCheck.isNum(display)) {
							s.setDisplayorder(Short.valueOf(display));
						} else {
							s.setDisplayorder(Short.valueOf("0"));
						}
						if (FormDataCheck.isValueString(code)) {
							s.setCode(code); 
							list.add(s); 
						} else {
							shortListIds.add(Short.valueOf(ids[i]));  
						}
					}
				}
			}
		}
		imagetypesService.deleteSmiliesIds(shortListIds);  
		imagetypesService.updateSmiliesDisplayorderCode(list);  
		list = null;shortListIds=null;deletes=null;
		Cache cache = new Cache(servlet.getServletContext().getRealPath("/"));
		try {
			cache.updatecache("post");
		} catch (Exception e) {
			e.printStackTrace();
		}
		String successInfo = "表情列表更新成功";
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath","admincp.jsp?action=smilies&search=yes&edit="+edit+"&directory="+directory);
		return mapping.findForward("success");
	}
	private String getDisplayorder(String ids) {
		StringBuffer sb = new StringBuffer("displayorder[");
		sb.append(ids);
		sb.append("]");
		return sb.toString();
	}
	private String getCode(String ids) {
		StringBuffer sb = new StringBuffer("code[");
		sb.append(ids);
		sb.append("]");
		return sb.toString();
	}
	public ActionForward ajaxSmilies(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String simliepath = request.getParameter("path");
		String path = servlet.getServletContext().getRealPath("/")+ "images/smilies/" + simliepath;
		String typeids = request.getParameter("typeid");
		response.setContentType("text/html");
		response.setHeader("Cache-Control", "no-store");  
		response.setHeader("Program", "no-cache");  
		response.setDateHeader("Expirse", 0);
		short typeid = Common.toDigit(typeids,10000000L,0L).shortValue();
		int count = 0;
		File file = new File(path);
		try {
			String[] files = file.list();
			StringBuffer context = new StringBuffer();
			context.append("<form method='post' action="+ request.getContextPath()+ "/smilies.do?smiliesaction=addSmilies>");
			context.append("<table width='100%' border='0' cellpadding='0' cellspacing='0' class='tableborder'>");
			context.append("<tr class='header'><td colspan='5' align='left'>批量添加表情</td></tr>");
			context.append("<tr><td class='altbg1'><input class='checkbox' type='checkbox' name='chkall' class='category' onclick=\"checkall(this.form,'cate')\" checked>启用</td><td class='altbg2'>显示顺序</td><td class='altbg1'>表情代码</td><td class='altbg2'>文件名</td><td class='altbg1'>图片</td></tr>");
			for (String s : files) {
				File smiliefile = new File(s);
				String filename = smiliefile.getName();
				if (!smilieService.findSmiliesbytypeid(typeid, filename)) {
					if (filename.matches("^[\\w\\-\\.\\[\\]\\(\\)\\<\\> &]+$")&&(filename.toLowerCase().lastIndexOf(".gif") != -1||filename.toLowerCase().lastIndexOf(".jpg") != -1)&&filename.length()<30) {
						count++;
						context.append("<tr><td class='altbg1'><input class='checkbox' type='checkbox' name='cate[]' value='1' checked></td><td class='altbg2'><input type='text' name='displayorder[]' value='0' size='2' maxlength='2'></td><td class='altbg1'><input type='text' name = 'code[]' id='codecode_"+count+"' value='' size='25' maxlength='30'></td><td class='altbg2'>"
								+ filename + "<input type='hidden' name='url' id = 'codeurl_"+count+"'value='"+filename+"'></td><td class='altbg1'><img src='"
								+ "images/smilies/" + simliepath + "/" + filename + "' onload=\"if(this.height>30) {this.resized=true; this.height=30; this.title='点击在新窗口查看全图';}\" onmouseover=\"if(this.resized) this.style.cursor='pointer';\" onclick=\"if(!this.resized) {return false;} else {window.open(this.src);}\"></td></tr>");
					}
				}
			}
			context.append("<tr><td colspan='5'>批量设置表情代码: <input type='text' size='2' value='前缀' id='codeprefix' onclick='clearinput(this, \"前缀\")' style='vertical-align: middle'> + <select id='codemiddle' style='vertical-align: middle'><option value='1'>文件名</option><option value='2'>自然顺序</option></select> + <input type='text' size='2' value='后缀' id='codesuffix' onclick='clearinput(this, \"后缀\")' style='vertical-align: middle'> <button type='button' onclick='addsmileycodes(\""+(count+1)+"\", \"code\");' style='vertical-align: middle'>应用</button></td></tr>");
			context.append("<tr><td colspan='5' align='center'><center><input type='submit' name='smiliesubmit' class='button' value='提交'>&nbsp;&nbsp;<input type='button' class='button' value='重新搜索' onclick=\"ajaxget('"
					+ request.getContextPath()+ "/smilies.do?smiliesaction=ajaxSmilies&path="
					+ simliepath+ "&typeid="+ typeids+ "', 'addsmilies', 'addsmilies','auto');doane(event);\"></center></td></tr></table>");
			context.append("<input type='hidden' name='typeid' value='"+typeid+"'></form>");
			if (count == 0) {
				context = new StringBuffer();
				context.append("<form method='post' action="+ request.getContextPath()+ "/smilies.do?smiliesaction=addSmilies>");
				context.append("<table width='100%' border='0' cellpadding='0' cellspacing='0' class='tableborder'>");
				context.append("<tr class='header'><td colspan='5' align='left'>批量添加表情</td></tr>");
				context.append("<tr><td colspan='5'>目录 ./images/smilies/"+ simliepath+ " 中没有找到尚未使用的表情图片,表情图片文件名只允许数字、26 个英文字母、下划线、半角空格及 <>-.&[]() 等符号,文件名长度不能超过 30 字节,否则将会无法识别。请通过 FTP 上传需要添加的表情图片到 ./images/smilies/"
						+ simliepath + " 目录,然后点击“重新搜索”</td></tr></table>");
				context.append("<center><input type=\"button\" class=\"button\" value=\"重新搜索\" onclick=\"ajaxget('"
						+ request.getContextPath()+ "/smilies.do?smiliesaction=ajaxSmilies&path="+ simliepath
						+ "&typeid="+ typeids+ "', 'addsmilies', 'addsmilies','auto');doane(event);\"></center></form>");
			}
			response.getWriter().write(context.toString());

		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	public ActionForward addSmilies(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String smiliesubmit = request.getParameter("smiliesubmit");
		if(smiliesubmit==null){
			Common.requestforward(response, "admincp.jsp?action=smilies");
			return null;
		}
		String code[] = request.getParameterValues("code[]");
		String cate[] = request.getParameterValues("cate[]");
		String displayorder[] = request.getParameterValues("displayorder[]");
		String url[] = request.getParameterValues("url");
		String typeid = request.getParameter("typeid");
		List<String> display = new ArrayList<String>();
		List<String> category = new ArrayList<String>();
		List<String> codes = new ArrayList<String>();
		List<String> urllist = new ArrayList<String>();
		List<Smilies> smilielist = new ArrayList<Smilies>();
		int size = url.length;
		for(int i=0;i<size;i++){
			display.add(displayorder[i]);
			if(cate!=null && cate.length>i){
				category.add(cate[i]);
			}else{
				category.add(null);
			}
			codes.add(code[i]);
			urllist.add(url[i]);
		}
		for(int i=0;i<size;i++){
			if(category.get(i)!=null && !category.get(i).equals("") && codes.get(i)!=null && !codes.get(i).equals("")){
				Smilies smilies = new Smilies();
				short displays = display.get(i)==null ? 0 : convertShort(display.get(i).toString());
				smilies.setCode(codes.get(i).toString());
				smilies.setDisplayorder(displays);
				smilies.setType("smiley");
				smilies.setUrl(urllist.get(i).toString());
				smilies.setTypeid(Short.valueOf(typeid));
				smilielist.add(smilies);
			}
		}
		smilieService.saveList(smilielist);
		display = null;category=null;codes=null;urllist=null;smilielist=null;
		String successInfo = "表情列表更新成功。";
		request.setAttribute("successInfo", successInfo);
		request.setAttribute("requestPath","admincp.jsp?action=smilies");
		return mapping.findForward("success");
	}
	
	private short convertShort(String s){
		short count = 0;
		try{
			count = Short.valueOf(s);
		}catch(Exception e){}
		return count;
	}
}

⌨️ 快捷键说明

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