? 博客升级完毕(PJBlog3 v3.2.8.352修改合集) - 黑咖啡 乐动体育娱乐,乐动APP入口,乐动体育官方在线

博客升级完毕(PJBlog3 v3.2.8.352修改合集)

千呼万唤之中,终于升级到最新版了,话说是最新版,却是PJ一年前的更新了.因为是非正式版,所以等了这么久.另外,本版(V3.2.8.352)也存在很多问题,现一一说明解决方法如下:

========2010.12.20 新增加的修改=========
自PJBlog3以来,一直存在草稿部分有问题,今天稍微分析了一下代码,本地测试可以解决问题.
问题描述:
1、编写草稿之后,点击保存草稿,然后返回的页面提示和链接有问题(这个问题我以前写过博文解决,可点击进入查看).
2、顺便说下,凡是由草稿修改然后保存为正式博文的,首页的"固定链接"至少20分钟内都是无法打开的,因为Application周期默认为20分钟.
3、经过第1步修改之后的链接,点进去依然出错.但是发现过大约20分钟之后就正常了.为什么?分析代码,跟踪参数之后,发现Application一直出于清空状态(值为空""),所以才会出现页面上的提示"function.asp中的RedirectUrl()函数中参数Url必须不为空.那么怎么修改呢?
方法如下:
打开/common/function.asp文件,搜索"function caload(id)",将它下面的一行代码
If not IsEmpty(Application(CookieName&"_articleUrl_"&id)) then
替换为
If not IsEmpty(Application(CookieName&"_articleUrl_"&id)) and Application(CookieName&"_articleUrl_"&id) <> "" then
保存即可.

如有兴趣的朋友,欢迎去我的博客参与讨论此问题.博客地址:http://www.heycoffee.com
========2010.12.20 End,下面继续=========

1、CODE执行BUG及查看更多连接的修改
引用内容 引用内容
打开cls_logAction.asp,找到(记得,有两处。)
Temp1 = Replace(Temp1, "<$ArticleContent$>", UnCheckStr(UBBCode(HtmlEncode(log_View("log_Content")), Mid(log_View("log_ubbFlags"), 1, 1), Mid(log_View("log_ubbFlags"), 2, 1), Mid(log_View("log_ubbFlags"), 3, 1), Mid(log_View("log_ubbFlags"), 4, 1), Mid(log_View("log_ubbFlags"), 5, 1))))
修改成:
Temp1 = Replace(Temp1, "<$ArticleContent$>", UBBCode(HtmlEncode(log_View("log_Content")), Mid(log_View("log_ubbFlags"), 1, 1), Mid(log_View("log_ubbFlags"), 2, 1), Mid(log_View("log_ubbFlags"), 3, 1), Mid(log_View("log_ubbFlags"), 4, 1), Mid(log_View("log_ubbFlags"), 5, 1)))
引用内容 引用内容
查看更多连接不对的修改方法:
打开cls_logAction.asp,找到(大约1411行)
If Len(log_View("log_Tag"))>0 Then
????????Temp2 = Replace(Temp2, "<$log_tag$>", "

Tags: "&getTags.filterHTML(log_View("log_Tag"))&"

")
????Else
????????Temp2 = Replace(Temp2, "<$log_tag$>", "")
????End If

????If log_View("log_ComOrder") Then comDesc = "Desc" Else comDesc = "Asc" End If
在它下面添加一个定义变量代码
Dim var_getCate_cate_Part
????var_getCate_cate_Part = ""
找到下面的代码,有2处(大约1426行,及1438行)
Temp2 = Replace(Temp2, "<$log_readMore$>", "

查看更多...

")
分别替换为
If getCate.cate_Part <> "" Then
????????????????????var_getCate_cate_Part = getCate.cate_Part & "/"
????????????????End If
???????? ?????? Temp2 = Replace(Temp2, "<$log_readMore$>", "

查看更多...

")


2、错位文字"请稍候"修改.
用Dreamweaver等软件在所有网站文件里面搜索"请稍后",找到后,修改错误的"请稍后"为"请稍候",正确的留着.记得其中最后有一个"请稍后"是正常的,但在它后面紧跟着的"在重试",应该是"再重试".

3、内容页关键字后多余的,修改
引用内容 引用内容
cls_logAction.asp文件
Temp1 = Replace(Temp1, "<$keywords$>", trim(log_View("log_KeyWords"))&",")
修改为:
Temp1 = Replace(Temp1, "<$keywords$>", trim(log_View("log_KeyWords")))
可以去掉内容页关键字中多余的","


4、keywords的多余关键字删除
在所有目录中搜索"PuterJam,Blog,ASP,designing,with"...,删除.
个人认为此举并非修改PJ的版权,而是关键字堆积太多,容易被搜索引擎惩罚误认为是垃圾站或作弊站,还是精炼并具有自己的特色为好.该保留的版权保留,例如底部的版权信息.

5、让PJBlog发表乐动体育娱乐时间和编辑乐动体育娱乐时间显示时、分、秒的方法
PJBlog在乐动体育娱乐标题只显示发表乐动体育娱乐的日期,而时间却不显示。这样,在发表乐动体育娱乐的具体时间就无法显示,由于是一些要求时效性比较强的地方就不能满足需要。所幸,通过修改代码可以实现时、分、秒的显示。方法如下:
引用内容 引用内容
打开class\cls_default.asp,找到
修改为:
找到修改为:打开class\cls_article.asp,找到
修改为:
找到
[<%=DateToStr(commArr(3,Pcount),"Y-m-d H:I A")%>
修改为:
[<%=DateToStr(commArr(3,Pcount),"Y-m-d H:I:S")%>
找到:
[<%=DateToStr(commArr(3,Pcount),"Y-m-d H:I A")%>
修改为:
[<%=DateToStr(commArr(3,Pcount),"Y-m-d H:I:S")%>
打开class\cls_logAction.asp,找到:
weblog("log_Modify")="[本乐动体育娱乐由 "&memName&" 于 "&DateToStr(now(),"Y-m-d H:I A")&" 编辑]"
修改为:
weblog("log_Modify")="[本乐动体育娱乐由 "&memName&" 于 "&DateToStr(now(),"Y-m-d H:I:S")&" 编辑]"
找到
(Temp1,"<$log_PostTime$>",DateToStr(log_View("log_PostTime"),"Y-m-d")
修改为:
(Temp1,"<$log_PostTime$>",DateToStr(log_View("log_PostTime"),"Y-m-d H:I:S")
找到
(Temp2,"<$log_PostTime$>",DateToStr(log_View("log_PostTime"),"Y-m-d")
修改为:
(Temp2,"<$log_PostTime$>",DateToStr(log_View("log_PostTime"),"Y-m-d H:I:S")
(注:该修改根据自己需要来做,如果上面有部分实在找不到,就跳过.)

6、查看次数"统计代码修复(兼:所有静态化乐动体育娱乐内页报错,common/common.js第669行错误:"'1'为空或不是对象")解决(两个其实为一个问题):
打开common/common.js,到第669行,找到:
var Guest = /Guest=(.*)/.exec(unescape(decodeURI(n)));

????????????????????????var ComRe = Guest[1].json();

????????????????????????if (ComRe.record){

????????????????????????????????try{

????????????????????????????????????????if (document.forms[0].username) document.forms[0].username.value = ComRe.username;

????????????????????????????????????????if (document.forms[0].Email) document.forms[0].Email.value = ComRe.useremail;


????????????????????????????????????????if (document.forms[0].WebSite) document.forms[0].WebSite.value = ComRe.userwebsite;

????????????????????????????????}catch(e){if (e.description.length > 0) alert(e.description);}

????????????????????????}

????????????????}
修改为:
var Guest = /Guest=true\|\-\|(.*)\|\+\|/.exec(unescape(n));

????????????????????????if (Guest != null && Guest[1].indexOf("|$|") != -1){

????????????????????????????????var SplitGuest = Guest[1].split("|$|");

????????????????????????????????try{

????????????????????????????????????????if (document.forms[0].username) document.forms[0].username.value = escape(SplitGuest[0]);

????????????????????????????????????????if ($("editMask")) $("editMask").value = escape(SplitGuest[1]);

????????????????????????????????????????if (document.forms[0].Message) document.forms[0].Message.value = escape(SplitGuest[1]);

????????????????????????????????}catch(e){if (e.description.length > 0) alert(e.description);}

????????????????????????}

????????????????}
,以上实为替换为旧版统计js.

7、352版本的相关乐动体育娱乐翻页有问题,而且页码js报错(相关乐动体育娱乐超过1页的静态内页才会js报错,其实js报错和相关乐动体育娱乐翻页是同一个问题),pj论坛上有针对352修改的帖子,但只修改了翻页问题,未加上相关乐动体育娱乐"全部显示"模式的代码,所以还不如还原为170版本的相关乐动体育娱乐的显示方法,尽管在请求次数和显示速度上比352的稍逊,但起码功能是ok的.以下是还原为170"相关乐动体育娱乐"的修改方法.修改完毕之后到后台全部重新生成静态乐动体育娱乐、并清除服务器缓存、删除浏览器的临时文件、刷新页面即可看到效果.
a、上传170版本中的common\ajax.js文件到352同样目录位置.或者复制下面的ajax.js全文到文本文件,保存为ajax.js上传也可以.
ajax.js全文:
//Author:evio

//edit by evio start??AJAX 模式
//创建HTTPREQUEST对象系列
function echo(obj,html)
{
????$(obj).innerHTML=html;
}
function fopen(obj)
{
????$(obj).style.display="";
}
function fclose(obj)
{
????$(obj).style.display="none";
}
function CreateXMLHTTP()
{
????var xmlhttp=false;
????try????{
??????????xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
????}
????catch (e) {
??????????try {
?? ????????????xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
??????????}
????????catch (e) {
?? ????????????xmlhttp = false;
????????}
????}
????if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
??????????xmlhttp = new XMLHttpRequest();
????????????????if (xmlhttp.overrideMimeType) {//设置MiME类别
????????????xmlhttp.overrideMimeType('text/xml');
????????}
????}????

????return xmlhttp;????
}
function check(url,obj1,obj2)
{
????????
????????var xmlhttp = CreateXMLHTTP();
????????if(!xmlhttp)
????????{
????????????alert("你的浏览器不支持XMLHTTP!!");
????????????return;
????????}
????????xmlhttp.onreadystatechange=requestdata;
????????xmlhttp.open("GET",url,true);
????????xmlhttp.send(null);
????????function requestdata()
????????{
????????????
????????????????fopen(obj1);
????????????????echo(obj1,"");
????????????????if(xmlhttp.readyState==4)
????????????????{
????????????????????if(xmlhttp.status==200)
????????????????????{
????????????????????????if(obj1!=obj2){fclose(obj1);};
????????????????????????echo(obj2,xmlhttp.responseText);
????????????????????????
????????????????????}
????????????????}
????????????
????????}
}
//edit by evio start
再打开Template\static.htm,找到:替换为找到

????????????????????
替换为

????????????????????
b、打开common\function.asp,在最上面添加
'*************'*************************************
'防XSS注入函数 更新于2009-04-21 by evio
'与checkstr()相比, checkxss更加安全
'*************************************
Function Checkxss(byVal ChkStr)
????Dim Str
????Str = ChkStr
????If IsNull(Str) Then
????????CheckStr = ""
????????Exit Function
????End If
????Str = Replace(Str, "&", "&")
????Str = Replace(Str, "'", "´")
????Str = Replace(Str, """", """)
????Str = Replace(Str, "<", "<")
????Str = Replace(Str, ">", ">")
????Str = Replace(Str, "/", "/")
????Str = Replace(Str, "*", "*")
????Dim re
????Set re = New RegExp
????re.IgnoreCase = True
????re.Global = True
????re.Pattern = "(w)(here)"
????Str = re.Replace(Str, "$1here")
????re.Pattern = "(s)(elect)"
????Str = re.Replace(Str, "$1elect")
????re.Pattern = "(i)(nsert)"
????Str = re.Replace(Str, "$1nsert")
????re.Pattern = "(c)(reate)"
????Str = re.Replace(Str, "$1reate")
????re.Pattern = "(d)(rop)"
????Str = re.Replace(Str, "$1rop")
????re.Pattern = "(a)(lter)"
????Str = re.Replace(Str, "$1lter")
????re.Pattern = "(d)(elete)"
????Str = re.Replace(Str, "$1elete")
????re.Pattern = "(u)(pdate)"
????Str = re.Replace(Str, "$1pdate")
????re.Pattern = "(\s)(or)"
????Str = re.Replace(Str, "$1or")
????re.Pattern = "(\n)"
????Str = re.Replace(Str, "$1or")
????'----------------------------------
????re.Pattern = "(java)(script)"
????Str = re.Replace(Str, "$1script")
????re.Pattern = "(j)(script)"
????Str = re.Replace(Str, "$1script")
????re.Pattern = "(vb)(script)"
????Str = re.Replace(Str, "$1script")
????'----------------------------------
????If Instr(Str, "e-xpression") > 0 Then
????????Str = Replace(Str, "e-xpression", "e­xpression", 1, -1, 0) '防止xss注入
????End If
????Set re = Nothing
????Checkxss = Str
End Function
c、将Getarticle.asp整个文件的内容全选,然后删除,替换为如下代码,其实就是170版本中的Getarticle.asp文件.






乐动体育官方在线乐动APP入口乐动体育娱乐<%
Response.expires=-1
Response.AddHeader"pragma","no-cache"
Response.AddHeader"cache-control","no-store"
Session.CodePage=65001
Dim id
id=request("id")
blog_postFile = Cint(Checkxss(request.QueryString("blog_postFile")))
if id<>"" and??isnumeric(id) then??
??Dim wbc_tag,Rs,i,RsT,OutPut,i2,i3,i4,str,ifMore,i2_2,total_rela,page,pagestr,thispage
??Set Rs=conn.execute("Select * from blog_Content where log_ID="&id&"")
??if request("page")<>"" and isnumeric(request("page"))??then
???? page=Cint(request("page"))
???? if page<1 then page=1
??Else
???? page=1
??End if
??thispage=page
??OutPut=""
??total_rela=0
??i2_2=10 '每页显示No.
??i3=(page-1)*i2_2
??if request("act")="more" then i2_2=-1
??ifMore=false
??if not rs.eof then
???? wbc_tag=rs("log_tag")
???? if wbc_tag<>"" then
????????wbc_tag=split(wbc_tag,"}")
????????i=0
????????i2=0
????????'find total
????????DO until i>Ubound(wbc_tag)
?????????? Set RsT=conn.execute("Select log_Title,log_id,log_ViewNums from??blog_Content where log_tag like '%"&wbc_tag(i)&"}%' and log_ID<>"&id&" order by log_PostTime desc")
?????????? if not RsT.eof then
??????????????Do until Rst.eof
??????????????????str=split(RsT(0),"(*##*)")(0)
??????????????????If instr(OutPut,str)=0 and wbc_tag(i)<>"" then
???????????????????? total_rela=total_rela+1
??????????????????End if
??????????????????Rst.movenext
??????????????Loop
?????????? End if
?????????? Set RsT=nothing
?????????? i=i+1
????????Loop
????????'pages
????????if int((total_rela/i2_2))< total_rela/i2_2 then
?????????? page=(total_rela/i2_2)+1
???????? Else
?????????? page=int(total_rela/i2_2)
???????? end if????????
???????? pagestr=""
???????? i=1
???????? do until i>page
?????????? if thispage=i then
??????????????pagestr=pagestr&"["&i&"]"
?????????? Elseif abs(thispage-i)<5 then
??????????????pagestr=pagestr&"["&i&"]"
?????????? end if
?????????? i=i+1
???????? Loop
???????? if page>1 then pagestr="
分页: "&pagestr&""
????????'show results
????????i=0
????????i4=0
????????Dim urlLink
????????DO until i>Ubound(wbc_tag)
?????????? Set RsT=conn.execute("Select log_Title,log_id,log_ViewNums from??blog_Content where log_tag like '%"&wbc_tag(i)&"}%' and log_ID<>"&id&" order by log_PostTime desc")
?????????? if not RsT.eof then
??????????????Do until Rst.eof??or i4=i2_2
??????????????????str=split(RsT(0),"(*##*)")(0)
??????????????????If instr(OutPut,str)=0 and wbc_tag(i)<>"" then
???????????????????? if i2>(i3-1) then
????????????????????????i4=i4+1
????????????????????????if blog_postFile = 2 then
????????????????????????????urlLink = Alias(RsT(1))
????????????????????????else
????????????????????????????urlLink = "article.asp?id="&RsT(1)
????????????????????????end if
????????????????????????OutPut=OutPut&"??
  • "&str&"["&RsT(2)&"]
  • "
    ???????????????????? end if
    ???????????????????? i2=i2+1
    ??????????????????End if
    ??????????????????Rst.movenext
    ??????????????Loop
    ??????????????if not RsT.eof then Ifmore=true
    ?????????? End if
    ?????????? Set RsT=nothing
    ?????????? i=i+1
    ????????Loop
    ???? End if
    ??End if
    ??output=output&pagestr
    ??If Ifmore or thispage<>1 then
    ???? OutPut=OutPut&"
    模式: 全部显示[共"&total_rela&"个相关文章]
    "
    ??elseif i2>(i2_2-1)??then
    ???? OutPut=OutPut&""
    ??end if
    ??OutPut=replace(OutPut,chr(39),chr(34))
    ??response.Write OutPut
    ??Set rs=nothing
    end if
    '*************************************
    '自定义路径 by evio
    '*************************************
    Function Alias(id)
    ????dim cname,ccate,chtml,ccateID,ccateExec,cnames,ctype,cc
    ????set cc=conn.execute("select top 1 log_CateID,log_cname,log_ctype from blog_Content where log_ID="&id)
    ????
    ????ccateID = cc(0)
    ????cname = cc(1)
    ????ctype = cc(2)

    ????set ccateExec=conn.execute("select Cate_Part from blog_Category where cate_ID="&ccateID)

    ????If not ccateExec.EOF and not ccateExec.bof Then
    ????????ccate = ccateExec(0).value
    ????end if
    ????
    ????if ccate="" or ccate=empty or ccate=null or len(ccate)=0 then
    ????????ccate="article/"
    ????else
    ????????ccate="article/"&ccate&"/"
    ????end if
    ????
    ????if cname="" or cname=empty or cname=null or len(cname)=0 then
    ????????cnames=trim(id)
    ????else
    ????????cnames=cname
    ????end if
    ????
    ????if ctype="0" then
    ????????chtml="htm"
    ????elseif ctype="1" then
    ????????chtml="html"
    ????else
    ????????chtml="asp"
    ????end if
    ????
    ????chtml="."&chtml
    ????set ccateExec = nothing
    ????set cc = nothing
    ????Alias=ccate&cnames&chtml
    End Function
    %>


    8、友情链接页面.很高兴,看到352有了友情链接分类.但前台显示效果却并不如人意.
    1、如果是全新安装的352版本,友情链接页面会默认分类为pjblog;如果是从旧版升级上来的,会发现友情链接页面一干二净,一个显示都没有.why?因为友情链接分类那里数据库增加了新字段,所有以前添加的友情链接就成了"未分类",而未分类的友情链接新版本是不显示的,此问题倒是不大,在后台一一添加分类即可;

    2、新版增加了分类设置,但却忘了图片链接与文字链接的最初分类.或许是觉得增加了分类,打乱了前台页面原先图片链接排在上面文字链接排在下面的布局,觉得不太好做前台的css(在我新看来版旧版均未用css来控制友情链接页面的布局,而是用的table,-_-!!!),所以干脆一刀切,所有都必须是图片链接,如果没有图片的,那么就用一个默认图片代替(遗憾的是该默认图片或许是因为忘记而没有打包到发布文件里面),如果默认图片都显示不了,那么就显示错误的替换图片(该图片倒是打包进去了);说到这里,我也觉得在使用table的情况下,布局确实不好搞,过时的table框架注定了图文混排不好处理,要知道,大部分的友情链接并非是图片链接.

    3、其实,在BlogLink.asp页面稍作注释修改,就可以回到之前的图片链接和文字链接分来排列的布局,但这样的话友情链接的分类显示就又无效了,实在难以两全!最近没空了,有空自己写一个出来好了.

      最后提醒,所有操作都请先备份.

    [本乐动体育娱乐由 黑咖啡 于 2011-04-05 14:01:00 编辑]
    上一篇: 《敢死队》
    下一篇: 推荐下Enhancer音效插件
    文章来自: 本站原创
    引用通告: 查看所有引用 | 我要引用此文章
    Tags: 博客 升级 完毕 PJ Blog 352 修改 合集
    相关乐动体育娱乐:
    评论: 7 | 引用: 0 | 查看次数: -
    maxma
    回复回复maxma[2011-03-27 11:02:53 | | | del | 取消审核]
    [ 正在加载评论信息,请稍候... ]
    hyphonyan
    回复回复hyphonyan[2010-09-09 15:18:10 | | | del | 取消审核]
    [ 正在加载评论信息,请稍候... ]
    hyphonyan
    回复回复hyphonyan[2010-09-09 15:16:53 | | | del | 取消审核]
    [ 正在加载评论信息,请稍候... ]
    hyphonyan
    回复回复hyphonyan[2010-09-08 17:36:19 | | | del | 取消审核]
    [ 正在加载评论信息,请稍候... ]
    gaga
    回复回复gaga[2010-09-05 14:36:19 | | | del | 取消审核]
    [ 正在加载评论信息,请稍候... ]
    kedeng美女博客
    回复回复kedeng美女博客[2010-09-03 17:43:39 | | | del | 取消审核]
    [ 正在加载评论信息,请稍候... ]
    kedeng美女博客
    回复回复kedeng美女博客[2010-09-03 17:40:08 | | | del | 取消审核]
    [ 正在加载评论信息,请稍候... ]
    发表评论
    昵 称:
    密 码: 游客发言不需要密码.
    邮 箱: 支持Gravatar头像.
    网 址: 输入网址便于回访.
    内 容:
    验证码:
    选 项:
    虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.