cache.asp
来自「ZD-BS是一个基于asp+access的个人blog系统 程序特点: 1.」· ASP 代码 · 共 352 行
ASP
352 行
<script language="JScript" runat="server">
//============================================================
// Copyright 2006 VAL/ZYI. All Rights Reserved.
//============================================================
function CacheClass(){
//attributes
//the error mark
this.bError=false;
//the Load counter
this.loadCount=0;
//Application for the blog cache
this.setting=new Array();
this.area=new Array();
this.keyword=new Array();
this.archive=new Array();
this.page=new Array();
this.category=new Array();
this.newArticle=new Array();
this.newComment=new Array();
this.blogroll=new Array();
this.counter=new Array();
//methods
this.reload=function(bLoad){
Application.Contents.RemoveAll();
if(bLoad) this.getAll();
};
this.getAll=function(bAll){
this.getSetting();
this.getArea();
if(bAll){
this.getKeyword();
this.getArchive();
this.getPage();
this.getCategory();
this.getNewArticle();
this.getNewComment();
this.getBlogroll();
this.getCounter();
}
};
this.getSetting=function(){
var arrApp=func.loadApp(zd_nameSpace+"setting");
if(arrApp==undefined){
this.loadSetting();
arrApp=func.loadApp(zd_nameSpace+"setting");
}
if(arrApp==0){
this.setting=null;
this.bError=true;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
switch(arrApp.getItem(1,i)){
case "int":
this.setting[arrApp.getItem(0,i)]=func.checkInt(arrApp.getItem(2,i));
break;
case "boolean":
this.setting[arrApp.getItem(0,i)]=func.checkInt(arrApp.getItem(2,i))==1?true:false;
break;
case "date":
this.setting[arrApp.getItem(0,i)]=func.getDate(arrApp.getItem(2,i));
break;
case "string":
this.setting[arrApp.getItem(0,i)]=arrApp.getItem(2,i);
break;
default:
this.setting[arrApp.getItem(0,i)]=null;
break;
}
}
}
};
this.loadSetting=function(){
var strQuery="SELECT set_name,set_mode,set_value FROM zd_setting WHERE set_type='option'";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"setting",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getArea=function(){
var arrApp=func.loadApp(zd_nameSpace+"area");
if(arrApp==undefined){
this.loadArea();
arrApp=func.loadApp(zd_nameSpace+"area");
}
if(arrApp==0){
this.area=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.area[i]={
"ID":arrApp.getItem(0,i),
"title":arrApp.getItem(1,i),
"content":arrApp.getItem(2,i),
"order":arrApp.getItem(3,i),
"state":arrApp.getItem(4,i)
};
}
}
};
this.loadArea=function(){
var strQuery="SELECT cat_ID,cat_name,cat_describe,cat_order,cat_state FROM zd_category WHERE cat_type='area' ORDER BY cat_order ASC";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"area",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getKeyword=function(){
var arrApp=func.loadApp(zd_nameSpace+"keyword");
if(arrApp==undefined){
this.loadKeyword();
arrApp=func.loadApp(zd_nameSpace+"keyword");
}
if(arrApp==0){
this.keyword=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.keyword[i]={
"name":arrApp.getItem(0,i),
"URL":arrApp.getItem(1,i),
"describe":arrApp.getItem(2,i)
};
}
}
};
this.loadKeyword=function(){
var strQuery="SELECT link_name,link_URL,link_describe FROM zd_link WHERE link_type='keyword'";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"keyword",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getArchive=function(){
var arrApp=func.loadApp(zd_nameSpace+"archive");
if(arrApp==undefined){
this.loadArchive();
arrApp=func.loadApp(zd_nameSpace+"archive");
}
if(arrApp==0){
this.archive=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.archive[i]={
"yyyy":arrApp.getItem(0,i),
"mm":arrApp.getItem(1,i)
};
}
}
};
this.loadArchive=function(){
var strQuery="SELECT DISTINCT YEAR(post_postTime) AS yyyy,MONTH(post_postTime) AS mm FROM zd_post WHERE post_type='article' AND post_state<>'draft'";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"archive",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getPage=function(){
var arrApp=func.loadApp(zd_nameSpace+"page");
if(arrApp==undefined){
this.loadPage();
arrApp=func.loadApp(zd_nameSpace+"page");
}
if(arrApp==0){
this.page=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.page[i]={
"ID":arrApp.getItem(0,i),
"title":arrApp.getItem(1,i),
"order":arrApp.getItem(2,i)
};
}
}
};
this.loadPage=function(){
var strQuery="SELECT post_ID,post_title,post_catID FROM zd_post WHERE post_type='page' AND post_state='normal' ORDER BY post_catID ASC";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"page",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getCategory=function(){
var arrApp=func.loadApp(zd_nameSpace+"category");
if(arrApp==undefined){
this.loadCategory();
arrApp=func.loadApp(zd_nameSpace+"category");
}
if(arrApp==0){
this.category=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.category[i]={
"articleCount":arrApp.getItem(0,i),
"ID":arrApp.getItem(1,i),
"name":arrApp.getItem(2,i),
"describe":arrApp.getItem(3,i),
"state":arrApp.getItem(4,i)
};
}
}
};
this.loadCategory=function(){
var arrVBArray=dbConn.query("SELECT (select count(post_ID) FROM zd_post WHERE post_catID=cat_ID AND post_type='article' AND post_state<>'draft') as logCount,cat_ID,cat_name,cat_describe,cat_state FROM zd_category WHERE cat_type='category' ORDER BY cat_order ASC",undefined,undefined,true);
func.saveApp(zd_nameSpace+"category",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getNewArticle=function(){
var arrApp=func.loadApp(zd_nameSpace+"newArticle");
if(arrApp==undefined){
this.loadNewArticle();
arrApp=func.loadApp(zd_nameSpace+"newArticle");
}
if(arrApp==0){
this.newArticle=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.newArticle[i]={
"categoryState":arrApp.getItem(0,i),
"ID":arrApp.getItem(1,i),
"title":arrApp.getItem(2,i),
"authorID":arrApp.getItem(3,i),
"state":arrApp.getItem(4,i)
};
}
}
};
this.loadNewArticle=function(){
var intCount=dbConn.query("select top 1 set_value from zd_setting where set_name='cacheArticleCount'");
intCount=func.checkInt(intCount[0]["set_value"]);
var strQuery="SELECT TOP "+intCount+" ";
strQuery+="cat_state,post_ID,post_title,post_authorID,post_state ";
strQuery+="FROM zd_post,zd_category ";
strQuery+="WHERE post_catID=cat_ID AND post_type='article' AND post_state<>'draft' ";
strQuery+="ORDER BY post_postTime DESC";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"newArticle",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getNewComment=function(){
var arrApp=func.loadApp(zd_nameSpace+"newComment");
if(arrApp==undefined){
this.loadNewComment();
arrApp=func.loadApp(zd_nameSpace+"newComment");
}
if(arrApp==0){
this.newComment=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.newComment[i]={
"categoryState":arrApp.getItem(0,i),
"articleState":arrApp.getItem(1,i),
"articleAuthorID":arrApp.getItem(2,i),
"ID":arrApp.getItem(3,i),
"articleID":arrApp.getItem(4,i),
"content":arrApp.getItem(5,i),
"authorID":arrApp.getItem(6,i),
"authorName":arrApp.getItem(7,i)
};
}
}
};
this.loadNewComment=function(){
var intCount=dbConn.query("select top 1 set_value from zd_setting where set_name='cacheCommentCount'");
intCount=func.checkInt(intCount[0]["set_value"]);
var strQuery="SELECT TOP "+intCount+" ";
strQuery+="cat_state,post_state,post_authorID,comm_ID,comm_postID,comm_content,comm_authorID,comm_authorName ";
strQuery+="FROM zd_comment,zd_post,zd_category ";
strQuery+="WHERE comm_postID=post_ID AND post_catID=cat_ID AND comm_type='comment' AND comm_state='publish' ";
strQuery+="ORDER BY comm_postTime DESC";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"newComment",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getBlogroll=function(){
var arrApp=func.loadApp(zd_nameSpace+"blogroll");
if(arrApp==undefined){
this.loadBlogroll();
arrApp=func.loadApp(zd_nameSpace+"blogroll");
}
if(arrApp==0){
this.bogroll=null;
}else{
for(var i=0;i<=arrApp.ubound(2);i++){
this.blogroll[i]={
"name":arrApp.getItem(0,i),
"URL":arrApp.getItem(1,i),
"describe":arrApp.getItem(2,i),
"state":arrApp.getItem(3,i)
};
}
}
};
this.loadBlogroll=function(){
var strQuery="SELECT link_name,link_URL,link_describe,link_state FROM zd_link WHERE link_type='blogroll' ORDER BY link_order ASC";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"blogroll",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
this.getCounter=function(){
var arrApp=func.loadApp(zd_nameSpace+"counter");
if(arrApp==undefined){
this.loadCounter();
arrApp=func.loadApp(zd_nameSpace+"counter");
}
if(arrApp==0){
this.counter=null;
}else{
this.counter={
"article":arrApp.getItem(0,0),
"comment":arrApp.getItem(1,0),
"ping":arrApp.getItem(2,0),
"trackback":arrApp.getItem(3,0),
"visit":arrApp.getItem(4,0)
};
}
};
this.loadCounter=function(){
var strQuery="select top 1 ";
strQuery+="(select count(post_ID) from zd_post where post_type='article' and post_state<>'draft') as logCount,";
strQuery+="(select count(comm_ID) from zd_comment where comm_type='comment' and comm_state='publish') as commCount,";
strQuery+="(select count(comm_ID) from zd_comment where comm_type='pingback' and comm_state='publish') as pingCount,";
strQuery+="(select count(comm_ID) from zd_comment where comm_type='trackback' and comm_state='publish') as tbCount,";
strQuery+="set_number from zd_setting where set_name='visitCount'";
var arrVBArray=dbConn.query(strQuery,undefined,undefined,true);
func.saveApp(zd_nameSpace+"counter",arrVBArray==null?0:arrVBArray);
this.loadCount++;
};
}
</script>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?