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

📄 cache.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
					finds.put(id,find);
					replaces.put(id,replacement);
				}
			}
			if(finds.size()>0)
			{
				filters.put("find", finds);
				filters.put("replace",replaces);
			}
			datas.put("filter", dataParse.combinationChar(filters.size()>0?filters:null));
			datas.put("banned", banned.length()>0?"("+banned+")":"");
			datas.put("mod", mod.length()>0?"("+mod+")":"");
			finds=null;
			replaces=null;
			filters=null;
			mod=null;
			banned=null;
			writeToCacheFile(cachename, arrayeval(cname, datas), prefix, append);
		}else if ("faqs".equals(cname))
		{
			Map<String, Map<String, String>> faqsmap = new HashMap<String, Map<String, String>>();
			for (Map<String, String> data : dataList) {
				if(!"".equals(data.get("identifier"))&&!"".equals(data.get("keyword")))
				{
					Map<String,String> map=new HashMap<String,String>();
					map.put("id", data.get("id"));
					map.put("keyword", data.get("keyword"));
					faqsmap.put(data.get("identifier"),map);
				}
			}
			datas.put(cname, dataParse.combinationChar(faqsmap.size() > 0 ? faqsmap: null));
			faqsmap=null;
			writeToCacheFile(cachename, arrayeval(cname, datas), prefix, append);
		}else if ("index".equals(cachename)){
			Map<Integer,Map<String, String>> map = new HashMap<Integer,Map<String, String>>();
			if ("forumlinks".equals(cname)) {
				Map<String,String> settings=ForumInit.settings;
				int forumlinkstatus=Common.toDigit(settings.get("forumlinkstatus"));
				if(forumlinkstatus>0){
					Map<String, String> forumlink = null;
					StringBuffer tightlink_text =new StringBuffer();
					StringBuffer tightlink_logo = new StringBuffer();
					for (Map<String, String> flink : dataList) {
						int id = Integer.valueOf(flink.get("id"));
						String name = flink.get("name");
						String url = flink.get("url");
						forumlink = new HashMap<String, String>();
						if (!"".equals(flink.get("description"))) {
							forumlink.put("content", "<h5><a href='" + url+ "' target='_blank'>" + name+ "</a></h5><p>" + flink.get("description") + "</p>");
							if (!"".equals(flink.get("logo"))) {
								forumlink.put("type", "1");
								forumlink.put("logo", flink.get("logo"));
							} else {
								forumlink.put("type", "2");
							}
							map.put(id, forumlink);
						} else {
							if (!"".equals(flink.get("logo"))) {
								tightlink_logo.append("<a href='" + url+ "' target='_blank'><img src='" + flink.get("logo")+ "' border='0' alt='" + name+ "' /></a> ");
							} else {
								tightlink_text.append("<a href='" + url+ "' target='_blank'>[" + name+ "]]</a> ");
							}
						}
					}
					if (tightlink_logo.length()>0 || tightlink_text.length()>0) {
						forumlink = new HashMap<String, String>();
						if(!"".equals(tightlink_logo)){
							tightlink_logo.append("<br />");
						}
						forumlink.put("type", "3");
						forumlink.put("content", tightlink_logo.append(tightlink_text).toString());
						map.put(0, forumlink);
					}
					tightlink_text=null;
					tightlink_logo=null;
					forumlink=null;
				}
				datas.put(cname, dataParse.combinationChar(map.size() > 0 ? map	: null));
			}else if ("onlinelist".equals(cname)) {
				StringBuffer legend=new StringBuffer();
				for(Map<String, String> list : dataList) {
					datas.put(list.get("groupid"), list.get("url"));
					legend.append("<img src=\"images/common/"+list.get("url")+"\" alt=\"\" /> "+list.get("title")+" &nbsp; &nbsp; &nbsp; ");
					if(Integer.valueOf(list.get("groupid"))==7){
						datas.put("guest", list.get("title"));
					}
				}
				datas.put("legend", legend.toString());
				legend=null;
			}else if("birthdays_index".equals(cname))
			{
				StringBuffer todaysbdays=new StringBuffer();
				for (Map<String, String> bdaymember : dataList) {
					todaysbdays.append("<a href=\"space.jsp?uid="+bdaymember.get("uid")+"\" target=\"_blank\" title=\""+bdaymember.get("bday")+"\">"+bdaymember.get("username")+"</a>, ");
				}
				int length=todaysbdays.length();
				datas.put("todaysbdays",length>=2?todaysbdays.substring(0,length-2):"");
			}
			else if("announcements".equals(cname)){
				int size=dataList.size();
				for (int i = 1; i <= size; i++) {
					Map<String,String> data=dataList.get(i-1);
					if(!"1".equals(data.get("type"))){
						data.remove("message");
					}
					map.put(i, data);
				}
				if(map.size() > 0){
					datas.put(cname,dataParse.combinationChar(map));
				}
			}else if("tags_index".equals(cname)){
				cname="tags";
				Map<String,String> settings=ForumInit.settings;
				int tagstatus=Common.toDigit(settings.get("tagstatus"));
				int rewritestatus = Common.toDigit(settings.get("rewritestatus"));
				boolean tagsurl=(rewritestatus & 8)>0;
				if(tagstatus>0){
					int hottags=Common.toDigit(settings.get("hottags"));
					StringBuffer tags=new StringBuffer();
					if(hottags>0&&dataList!=null&&dataList.size()>0){
						for(Map<String,String> tag:dataList){
							if(tagsurl){
								tags.append(" <a href='tag-"+Common.encode(tag.get("tagname"))+".html' target='_blank'>"+tag.get("tagname")+"<em>("+tag.get("total")+")</em></a>");
							}else{
								tags.append(" <a href='tag.jsp?name="+Common.encode(tag.get("tagname"))+"' target='_blank'>"+tag.get("tagname")+"<em>("+tag.get("total")+")</em></a>");
							}
						}
					}
					if(tags.length()>0){
						datas.put(cname, tags.substring(1));
					}
				}
			}
			writeToCacheFile(cachename, arrayeval(cname, datas), prefix, append);
			map=null;
		}else if ("forumdisplay".equals(cachename)) {
			Map<Integer, Map<String, String>> map = new HashMap<Integer, Map<String, String>>();
			if ("announcements_forum".equals(cname)) {
				cname="announcement";
				if(dataList!=null&&dataList.size()>0)
				{
					Map<String,String> data=dataList.get(0);
					Set<String> keys=data.keySet();
					if(!"1".equals(data.get("type"))){
						keys.remove("message");
					}
					for (String key : keys) {
						datas.put(key, data.get(key));
					}
				}
			}else if("announcements".equals(cname)){
				int size=dataList.size();
				for (int i = 1; i <= size; i++) {
					Map<String,String> data=dataList.get(i-1);
					data.remove("message");
					map.put(i, data);
				}
				datas.put(cname, dataParse.combinationChar(map.size() > 0 ? map: null));
			}else if ("onlinelist".equals(cname)) {
				StringBuffer legend=new StringBuffer();
				for(Map<String, String> list : dataList) {
					datas.put(list.get("groupid"), list.get("url"));
					legend.append("<img src=\"images/common/"+list.get("url")+"\" alt=\"\" /> "+list.get("title")+" &nbsp; &nbsp; &nbsp; ");
					if(Integer.valueOf(list.get("groupid"))==7)
					{
						datas.put("guest", list.get("title"));
					}
				}
				datas.put("legend", legend.toString());
			}else if("globalstick".equals(cname)){
				Map<String, Map<String, String>> globalstick = new HashMap<String, Map<String, String>>();
				Map<String,String> fupMap=new HashMap<String, String>();
				Map<String,String> threadMap=new HashMap<String, String>();
				for (Map<String, String> list : dataList) {
					if(list.get("type").equals("forum")){
						fupMap.put(list.get("fid"),list.get("fup"));
					}
					else{
						fupMap.put(list.get("fid"),fupMap.get(list.get("fup")));
					}
				}
				List<Map<String,String>> threads= dataBaseDao.executeQuery("SELECT tid,fid,displayorder FROM jrun_threads WHERE displayorder IN (2, 3)");
				if(threads!=null&&threads.size()>0){
					for (Map<String, String> thread : threads) {
						if(thread.get("displayorder").equals("2")){
							StringBuffer tids=null;
							if(threadMap.get(fupMap.get(thread.get("fid")))==null){
								tids=new StringBuffer(thread.get("tid"));
							}
							else{
								tids=new StringBuffer(threadMap.get(fupMap.get(thread.get("fid")))+","+thread.get("tid"));
							}
							threadMap.put(fupMap.get(thread.get("fid")),tids.toString());
						}
						else{
							StringBuffer tids=null;
							if(threadMap.get("global")==null){
								tids=new StringBuffer(thread.get("tid"));
							}
							else{
								tids=new StringBuffer(threadMap.get("global")+","+thread.get("tid"));
							}
							threadMap.put("global", tids.toString());
						}
					}
				}
				Set<String> keys=threadMap.keySet(); 
				for (String key : keys) {
					String tids=threadMap.get(key);
					if(tids!=null)
					{
						Map<String,String> categories=new HashMap<String, String>();
						categories.put("tids", tids);
						categories.put("count", String.valueOf(tids.split(",").length));
						globalstick.put(key, categories);
					}
				}
				datas.put(cname, dataParse.combinationChar(globalstick.size() > 0 ? globalstick	: null));
				globalstick=null;
				fupMap=null;
				threadMap=null;
			}else {
				int size= dataList.size();
				for (Integer i = 1; i <= size; i++) {
					map.put(i, dataList.get(i - 1));
				}
				datas.put(cname, dataParse.combinationChar(map.size() > 0 ? map	: null));
			}
			writeToCacheFile(cachename, arrayeval(cname, datas), prefix, append);
			map=null;
		}
		else if ("viewthread".equals(cachename))
		{
			if("bbcodes".equals(cname))
			{
				for (Map<String, String> list : dataList) {
					datas.put(list.get("tag"), list.get("replacement"));
				}
			}else if("announcements".equals(cname)){
				int size=dataList.size();
				Map<Integer, Map<String, String>> map = new HashMap<Integer, Map<String, String>>();
				for (int i = 1; i <= size; i++) {
					Map<String,String> data=dataList.get(i-1);
					data.remove("message");
					map.put(i, data);
				}
				datas.put(cname, dataParse.combinationChar(map.size() > 0 ? map: null));
				map=null;
			}else{
				Map<Integer, Map<String, String>> map = new HashMap<Integer, Map<String, String>>();
				int size =dataList.size();
				for (Integer i = 1; i <= size; i++) {
					map.put(i, dataList.get(i - 1));
				}
				datas.put(cname, dataParse.combinationChar(map.size() > 0 ? map	: null));
				map=null;
			}
			String currdata = arrayeval(cname, datas);
			writeToCacheFile(cachename, currdata, prefix, append);
		}else if ("ranks".equals(cachename)){
			Map<Integer, Map<String, String>> map = new HashMap<Integer, Map<String, String>>();
			int size =dataList.size();
			for (Integer i = 1; i <= size; i++) {
				map.put(i, dataList.get(i - 1));
			}
			datas.put(cname, dataParse.combinationChar(map.size() > 0 ? map	: null));
			writeToCacheFile(cachename, arrayeval(cname, datas), prefix, append);
		}else if ("post".equals(cachename)) {
			Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
			if ("bbcodes_display".equals(cname)) {
				for (Map<String, String> bbcode : dataList) {
					map.put(bbcode.get("tag"), bbcode);
				}
				datas.put(cname, dataParse.combinationChar(map.size() > 0 ? map	: null));
				map=null;
			}
			else if("smilies_display".equals(cname))
			{
				Map<String, String> smileytypes = new HashMap<String, String>();
				for (Map<String, String> imagetype : dataList) {
					List<Map<String,String>> smileyList=dataBaseDao.executeQuery("SELECT id, code, url FROM "+tablepre+"smilies WHERE type='smiley' AND code<>'' AND typeid='"+imagetype.get("typeid")+"' ORDER BY displayorder");
					if(smileyList!=null&&smileyList.size()>0)
					{
						imagetype.remove("displayorder");
						imagetype.remove("type");
						smileytypes.put(imagetype.get("typeid"),  dataParse.combinationChar(imagetype.size() > 0 ? imagetype: null));
						Map<String,Map<String,String>> smilies=new HashMap<String, Map<String,String>>();
						for (Map<String, String> smiley : smileyList) {
							smilies.put(smiley.get("id"), smiley);
						}
						datas.put(imagetype.get("typeid"), dataParse.combinationChar(smilies.size() > 0 ? smilies: null));;
					}
				}
				writeToCacheFile(cachename, arrayeval("smileytypes", smileytypes), prefix, append);
				smileytypes=null;
			}
			else if("smilies".equals(cname))
			{
				Map<String, String> searcharray = new HashMap<String, String>();
				Map<String, String> replacearray = new HashMap<String, String>();
				Map<String, String> typearray = new HashMap<String, String>();
				for (Map<String, String> smiley : dataList) {
					searcharray.put(smiley.get("id"), smiley.get("code"));
					replacearray.put(smiley.get("id"), smiley.get("url"));
					typearray.put(smiley.get("id"), smiley.get("typeid"));
				}
				datas.put("searcharray", dataParse.combinationChar(searcharray.size() > 0 ? searcharray: null));
				datas.put("replacearray", dataParse.combinationChar(replacearray.size() > 0 ? replacearray: null));
				datas.put("typearray", dataParse.combinationChar(typearray.size() > 0 ? typearray: null));
				searcharray=null;
				replacearray=null;
				typearray=null;
			}
			writeToCacheFile(cachename, arrayeval(cname, datas), prefix, append);
		}
		else if ("google".equals(cachename)) {
			if(dataList!=null&&dataList.size()>0)
			{
				Map<String,String> googleInfo=dataList.get(0);
				Map<String,String> google=dataParse.characterParse(googleInfo.get("value"), false);
				writeToJsCacheFile(cachename, "var google_host=\""+HTTP_HOST+"\";var google_charset=\""+JspRunConfig.charset+"\";var google_hl=\""+google.get("lang")+"\";var google_lr=\""+(google.get("lang")!=null?"lang_"+google.get("lang"):"")+"\";", "_var");
				googleInfo=null;
				google=null;
			}
		}
		else if ("baidu".equals(cachename)) {
			if(dataList!=null&&dataList.size()>0)
			{
				Map<String,String> baiduInfo=dataList.get(0);
				Map<String,String> baidu=dataParse.characterParse(baiduInfo.get("value"), false);
				writeToJsCacheFile(cachename, "var baidu_host=\""+HTTP_HOST+"\";var baidu_charset=\""+JspRunConfig.charset+"\";var baidu_hl=\""+baidu.get("lang")+"\";var baidu_lr=\""+(baidu.get("lang")!=null?"lang_"+baidu.get("lang"):"")+"\";", "_var");
				baiduInfo=null;
				baidu=null;
			}
		}else if("profilefields".equals(cachename)){
			if(dataList!=null&&dataList.size()>0)

⌨️ 快捷键说明

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