📄 cache.java
字号:
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")+" ");
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")+" ");
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 + -