首页 » Blog » 博客相关 ✿ weblog » 浏览内容

PJ v2.7 05安装升级记录

2008-01-01 20:09 655 0 发表评论

本地测试
一.皮肤
二.插件(因为加密插件只针对2.6版本,所以没安装。)
三.开始进入后台设置
1.站点基本设置:去掉了“静态日志模式”勾选
2.日志分类管理:区分“顶部”与“侧边”分类的设置
3.界面与插件:
外观——上传自己喜欢的几个皮肤,先设置一个为默认
模块——新建一个First模块,放置SkinSwitch、CJFForPJBlog插件

<br/><a class="sideA" id="StranLink">转换到繁體中文</a><script src="Plugins/CoverJF/Std_StranJF.js"
type="text/javascript"></script><br/>
$SkinSwitchForPJBlog$<br/>

模块——修改BlogInfo模块,把Online插件代码放置在此模块下,顺便把信息中的“留言”代码添加了链接,可以进行跳转到留言本。

日志: <a href="default.asp"><b>$blog_LogNums$</b> 篇</a><br/>
评论: <a href="search.asp?searchType=Comments"><b>$blog_CommNums$</b> 个</a><br/>
引用: <a href="search.asp?searchType=trackback">
<b>$blog_TbCount$</b> 个</a><br/>
留言: <a href="LoadMod.asp?plugins=GuestBookForPJBlog"><b>$blog_MessageNums$</b> 个</a><br/>
会员: <a href="member.asp"><b>$blog_MemNums$</b> 人</a><br/>
访问: <b>$blog_VisitNums$</b> 次<br/>
建站时间: <strong>2007-10-07</strong><br/>

<$onlinelist$><br/>

模块——CJFForPJBlog、MusicBar、Online、SkinSwitch这些模块放置于侧边模块的最底部“99”,并设置为隐藏模块。(以前是删除掉这些模块内的HTML代码。后来才发现原来可以用隐藏的方式。)“文章水印”也放置于侧边模块的最底部“99”,但不删除掉此模块内的HTML代码。也不隐藏此模块,因为会失效功能。

已装插件管理——Music(使用嵌套在PJBlog的default.asp下)
已装插件管理——SkinSwitch在此插件的高级设置里可以勾选设置。SkinSwitch在V2.7版本以上使用,要修改common文件夹下的function文件。问题出在PJBlog 2.7 build 04使用JScript重写了getXMLDOM函数,而有的虚拟主机不兼容JScript。
出错代码如下:
————————————————————–
你的系统不支持 function getXMLDOM(){ var xmldomversions = ['Microsoft.XMLDOM','MSXML2.DOMDocument','MSXML2.DOMDocument.3.0',
'MSXML2.DOMDocument.4.0','MSXML2.DOMDocument.5.0']; for (var i=0;i,
无法使用插件管理功能,请与服务商联系!
—————————————————————

—————————————————————-
你的系统不支持 function getXMLDOM(){ var xmldomversions = ['Microsoft.XMLDOM','MSXML2.DOMDocument','MSXML2.DOMDocument.3.0',
'MSXML2.DOMDocument.4.0','MSXML2.DOMDocument.5.0']; for
(var i=0;i 或 Scripting.FileSystemObject 只能手动输入Skin的文件夹名称
—————————————————————–

解决办法是把getXMLDOM函数改成vbs的就OK了,即2.6版本里的代码。

首先,建议你在修改之前备份一下common\function.asp文件。

找到代码:

function getXMLHTTP(){
  var xmlhttpversions = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP',
'MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.5.0'];
  for (var i=0;i<xmlhttpversions.length;i++){
   try{
    var st = Server.CreateObject(xmlhttpversions);
    st = null;
    return xmlhttpversions;
   }catch(e){}
  }
  return false
}

删除它或者使用“//”注释掉,使它不起作用。要使整段代码都使用“//”注释掉,其代码在Dreamweaver中是以灰色表示注释文字。

接着,将下面的代码复制到function.asp文件的一开始处的<%后面,保存。

function getXMLDOM  
On Error Resume Next
Dim Temp
getXMLDOM="Microsoft.XMLDOM"
Err = 0
Dim TmpObj
Set TmpObj = Server.CreateObject(getXMLDOM)
Temp = Err
    IF Temp = 1 or Temp = -2147221005 Then
  getXMLDOM="Msxml2.DOMDocument.5.0"
End IF
Err.Clear
Set TmpObj = Nothing
Err = 0
end function

已装插件管理——EnglishXML不想显示背景色与边框在基本设置里把“英语插件样式表”里的代码全替换为以下代码:

#EngCn{background: url(Plugins/EnglishXML/dictblue.gif) no-repeat;background-position:1px 1px !important;background-position:0px 0px;border:0px solid ;font-size:12px;text-align:left;padding:5px 5px 5px 50px;margin-bottom:1px;} #EnglishDiv{padding-bottom:4px;color:#80b7d5} #ChineseDiv{padding-top:3px;color:#D27407;height:auto !important;height:18px}

已装插件管理——copyright基本设置中自定义水印文字修改为:(文未加水印)

原文网址:|$localLink$|   [本文如需转载,请详细
注明出处,尊重版权,
尊重别人的劳动成果,谢谢合作].

已装插件管理——ccVideo基本设置中我的用户ID号是:75341

已装插件管理——加密日志插件
加密日志插件是V2.6版本,要想在V2.7版本以上使用,就要修改加密日志的文件。
涉及到的文件有:
article.asp
atom.asp
blogedit.asp
blogpost.asp
ConContent.asp
feed.asp
class/cls_article.asp
class/cls_default.asp
class/cls_logAction.asp

修改步骤:
第一.先比对V2.6与V2.7的源文件之间的差别与需要修改升级的地方,记录下来。
第二.再比对V2.6加密日志插件涉及到的这些文件与V2.6源文件,记录哪些地方是插件需要修改的地方。
第三.最后用V2.6加密日志插件文件与V2.7源文件比对,找到哪些地方要升级,哪些地方是不能修改的插件内容。

比对记录:

引用内容 引用内容
V2.7源文件

article.asp(共4处要修改)
6,12,16,48

atom.asp(无修改部分)

blogedit.asp(无修改部分)

blogpost.asp(无修改部分)

ConContent.asp(共32处要修改)
176——179,397——424,442与443空两行,
457与458之间空11行,468——470,497——498,523,
545——549,572,587与652,666,717,719,725,
738,979,1006,1198,1236,1312与下一行空,
1345与下一行空,1375与下一行空,1492——1498,
1504——1519,1996,1998,2008——2012,2024——2028,
2052——2053,2274——2275,2312行——2316,2411——2437。

feed.asp(无修改部分)

cls_article.asp(共7段要修改)
81和82行之间空2段,84,86,99,127,129,204——211

cls_default.asp(无修改部分)

cls_logAction.asp(共8段要修改)
184——190,564——570,603——604,610,612——617,857,874,876

加密日志文件与2.6源文件比对

MBS_Secret——
article.asp(存在4处差异)
25,27,63,78

atom.asp(存在6处差异)
33,53,55,90——96,106——107,112–114

blogedit.asp(存在3处差异)
38——40,65,202——203

blogpost.asp(存在2处差异)
56,196——199

ConContent.asp(存在36处差异,其中有大小写的差异)
309,348,392,432,444,452,482,490,545,561,562,566,603,604,627,638,639,640,646,656,657,720,821,870,991,1034——1063,1211,1246,1451,1556,1557,1558,1638,1644,1705,1715

feed.asp(存在有5处差异,先不修改)
53,55,94——96,98——100,106——118
其中已修改部分在已经安装后的文件中,全部都不同。
应该按照已安装后的插件文件更改过来。
如果从V2.6已安装加密日志插件文件与V2.6源文件比对,那就只有53,55两处差异。
更改后,RSS就不会出现加密的情况了~下面列出两处不同差异,更改即可。

第53行更改为以下代码:

SQL="Select TOP 10 L.log_ID,L.log_Title,l.log_Author,L.log_PostTime,
L.log_Content,L.log_edittype,C.cate_Name FROM blog_Content AS L,blog_Category
AS C Where C.cate_ID=L.log_cateID AND L.log_IsShow=true
AND L.log_IsDraft=false and C.cate_Secret=false and
(log_Readpw='' or log_Readpw is NULL) orDER BY log_PostTime DESC"

第55行更改为以下代码:

SQL="Select TOP 10 L.log_ID,L.log_Title,l.log_Author,
L.log_PostTime,L.log_Content,
L.log_edittype,C.cate_Name FROM blog_Content AS L,blog_Category AS C Where log_cateID="&cate_ID&" AND C.cate_ID=L.log_cateID AND L.log_IsShow=true AND L.log_IsDraft=false and C.cate_Secret=false and
(log_Readpw='' or log_Readpw is NULL) orDER BY log_PostTime DESC"

cls_article.asp(存在7处差异)
102——112,115——121,133——139,144——182,194——195,197,200

cls_default.asp(存在12处差异)
49,51,166——170,180——189,193——194,196——197,204——233,271——277,289——290,292——298,303——304,306——308

cls_logAction.asp(存在6处差异)
9,44,142,323,457,489

开始进行V2.7版本文件的修改进行。

1.添加KMP在线播放插件
此插件不能直接在后台安装进行,
将插件文件夹内的KMP文件夹放在Blog根目录下。
kmp.gif文件是UBB图标文件,放根目录images/文件夹下以及每个皮肤文件夹的UBB/Icon文件夹内!
kmp插件与V2.7版本以上的文件有出入!
要添加KMP在线播放插件,要涉及到以下6个文件
header.asp
common/ubbcode.asp
common/UBBCode_Gecko.js
common/UBBCode_help.js
common/UBBCode_IE.js
common/UBBconfig.asp

先比对记录:
因为此修改处都以'===========在线KMP播放器插件=========备注好了,
所以只要找到此处即可进行修改

引用内容 引用内容
common/ubbcode.asp(有2处要添加)
11——13,143——155

common/UBBCode_Gecko.js(有1处要添加)
166——182

common/UBBCode_help.js(有1处要添加)
27——30

common/UBBCode_IE.js(有1处要添加)
304——326

common/UBBconfig.asp(有1处要添加)
18——20

header.asp文件是在<head></head>之间添加以下代码:

<script language="javascript1.4" type="text/javascript
4; src="kmp/audio-player.js"></script>

=======调用方法========
在UBB编辑模式下,点KMP图标,弹出输入框,
先添加音乐名字或者与此MP3文件的相关信息,
确定后再添加上音乐的链接地址。确定,即可。

示例:

引用内容 引用内容
[kmp=http://音乐地址,no,no ]音乐名字[ /kmp]

说明:[kmp=变量1,变量2,变量3]变量4[/kmp]

变量1:mp3文件的路径,可以用绝对路径和相对路径。
如果是别的网站上的就是以http://开始的完整路径,
例如:http://www.minisix.cn/mp3/1.mp3
变量2:自动播放,只能是yes,或者no;
变量3:自动循环,只能是yes,或者no;
变量4:显示在播放器外面div,栏的标题信息,和本身播放器没有关系;

2.更改默认的“Cookies,Application域”
      一个服务器上如果存在多个Cookies域一样的PJBlog,那么这些Bolg都将无法运行。
修改方法:打开Blog根目录下的“const.asp”,修改15和16行红色部分

'定义 Cookie,Application 域,必须修改,否则可能运行不正常
'把"PJBlog2"和"PJBlog2Setting"引号里面的东西替换称任意英文数值和数字值即可
Const CookieName="PJBlog2"
Const CookieNameSetting="PJBlog2Setting"

3.修改侧边栏“用户面板”的条目名称
侧边栏用户面板中默认的项目名称有长有短,看着很不美观。
修改library.asp第153行以下“用户面板”的内容:
158行“系统管理”
159行“发表新日志”
166行 168行“编辑草稿”
172行“修改个人资料”
      “退出系统”
174行“登陆”
      “用户注册”
把它们都改为自己喜欢的文字就可以了!

4.将日志归档改为下拉列表框

日志归档PJBlog是以完全显示在侧边栏上,
可是随着时间过去,你的归档也会变得强大也占用侧边栏
美观度也影响不少。改成下拉列表框,
不但可以节省不少的侧边栏位置,视觉上也感觉简单一些。

打开common/cache.asp,在第275行找到这一段代码

'—————–读取日志归档缓存——————–
    if action<>2 then
  Dim archive_item_Len,Month_array,TempYear,MonthCounter
  if ubound(blog_archive,1)=0 then archive="":exit function
  Month_array=Array("01月","02月","03月","04月","05月","06月","07月","08月","09月","10月","11月","12月")
  archive_item_Len=ubound(blog_archive,2)
  TempYear=blog_archive(1,0)
  MonthCounter=0
   For i=0 to archive_item_Len
    IF i=0 Then archive="<a class=""sideA"" style=""margin:0px 0px 0px -2px;"" href=""default.asp?log_Year="&blog_archive(1,i)&""" title=""查看"&blog_archive(1,i)&"年的日志"">"&blog_archive(1,i)&"</a>"
    IF blog_archive(1,i)=TempYear Then
   archive=archive&"<a style=""margin-right:5px;"" href=""default.asp?log_Year="&blog_archive(1,i)&"&log_Month="&blog_archive(2,i)&""" title="""&blog_archive(1,i)&"年"&blog_archive(2,i)&"月有"&blog_archive(0,i)&"篇日志"">"&Month_array(blog_archive(2,i)-1)&"</a>"
   MonthCounter=MonthCounter+1
   IF MonthCounter=5 Then MonthCounter=0:archive=archive&"<br/>"
  Else
   MonthCounter=1
   archive=archive&"<a class=""sideA"" style=""margin:6px 0px 0px -2px;"" href=""default.asp?log_Year="&blog_archive(1,i)&""" title=""查看"&blog_archive(1,i)&"年的日志"">"&blog_archive(1,i)&"</a>"
   archive=archive&"<a style=""margin-right:5px;"" href=""default.asp?log_Year="&blog_archive(1,i)&"&log_Month="&blog_archive(2,i)&""" title="""&blog_archive(1,i)&"年"&blog_archive(2,i)&"月有"&blog_archive(0,i)&"篇日志"">"&Month_array(blog_archive(2,i)-1)&"</a>"
   TempYear=blog_archive(1,i)
  End IF
   Next
end if
end function
'=====================End Function========================

将它们替换成以下代码:

'—————–读取日志归档缓存——————–
    if action<>2 then
            Dim archive_item_Len,Month_array
            if ubound(blog_archive,1)=0 then archive="":exit function
            Month_array=Array("01月","02月","03月","04月","05月","06月","07月","08月","09月","10月","11月","12月")
            archive_item_Len=ubound(blog_archive,2)
'==========修改的日志归档下拉列表==========
          &n
bsp; archive="<div style='OVERFLOW: hidden; HEIGHT:0px'> </div><select onChange='window.location.href=this.options[this.selectedIndex].value'>"
            archive=archive&"<option selected value='http://www.minisix.cn/blog'>::回忆过去||昨天记忆::</option>"
            For i=0 to archive_item_Len
            archive=archive&"<option value='default.asp?log_Year="&blog_archive(1,i)&"&log_Month="&blog_archive(2,i)&"'>"&blog_archive(1,i)&"年"&Month_array(blog_archive(2,i)-1)&" ["&blog_archive(0,i)&"]</option>"
'==========修改的日志归档下拉列表===========
            Next
            archive=archive&"</select>"
    end if
end function
'=====================End Function========================

其中红色部分改成你的地址链接和你想要显示在下拉列表框的文字,就可以了!

5.将评论、留言、后台管理等处直接显示用户地址

对所有涉及IP的地方都更换成了地址。
  共有评论,留言,后台留言评论管理、后台查看访客IP等6处
  需修改class/cls_article.asp
          Plugins/GuestBook/guestbook.asp
          ConContent.asp
备注:因为之前修改过加密日志,所以这里以已修改的加密日志为修改对象文件,
      不能再以V2.7版本的源文件为准了。
      其中包括了class/cls_article.asp和ConContent.asp

评论处:
打开class/cls_article.asp(以安装了加密日志插件的文件为主)
查找(在第244行)

<%if stat_Admin then response.write (" | "&commArr(8,Pcount)) end if%>

替换为

<%'if stat_Admin then%>
   | <script src="http://www.cz88.net/ip/ipcheckutf8.aspx?ip=<%=commArr(8,Pcount)%> "> </script>
    <%'end if%>

注:<% ' %>中的“'”是用来判断是否只对管理员显示,如果需要只对管理员显示,请去掉if前和end if前的“'”。下同!

留言处:
打开/Plugins/GuestBook/guestbook.asp
查找(在第85行)

<%if stat_Admin then response.write " | " & GuestDB("book_IP")%>

替换为

<%'if stat_Admin then%> <%'response.write " | " & GuestDB("book_IP") %>
     <script src="http://www.cz88.net/ip/ipcheckutf8.aspx?ip=<%=GuestDB("book_IP")%> "> </script>
     <%'end if%>

后台各处:
打开ConContent.asp
查找(在第81行)

<td width="100" nowrap="nowrap" class="TDHead">访客IP</td>

替换为

<td width="100" nowrap="nowrap" class="TDHead">访客IP</td>
<td width="100" nowrap="nowrap" class="TDHead">访客地址</td>

查找(在第92行)

<td nowrap><%=bCounter("coun_IP")%></td>

替换为

<td nowrap><%=bCounter("coun_IP")%></td>
    <td nowrap><script src="http://www.cz88.net/ip/ipcheckutf8.aspx?ip=<%=bCounter("coun_IP")%> "> </script></a></td>

查找(在第719行以及第727行两处都要替换)

<%=commArr(4,Pcount)%>

替换为

<script src="http://www.cz88.net/ip/ipcheckutf8.aspx?ip=<%=commArr(4,Pcount)%> "> </script>

例如你只想评论显示地址或者只想后台显示,只需要修改相应文件即可。

6.在FCKeditor编辑器中添加新的字体
      在FCKeditor根目录下的fckconfig.js文件中第89行找到FCKConfig.FontNames属性,在后面的引号中添加新的字体。在保存之前,转换为UTF-8编码,否则会有乱码。
(如果是用Dreamweaver修改文件,在“修改”菜单中选择“页面属性”设置编码为UTF-8)
例如修改为:

FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

7.去掉本日志由xx于 xx年xx日xx时编辑
第一步:class/cls_logAction.asp(此文件已修改了加密日志插件的文件以修改文件为主)
在第302行找到以下代码,并删除。

if logIsDraft=false then weblog("log_Modify")="[本日志由 "&memName&" 于"&DateToStr(now(),"Y-m-d H:I A")&" 编辑]"

第二步:Template/Article.asp
在第21行找到以下代码,并删除。

<$log_Modify$>

记得修改完后还要在后台重新生成日志。

8.修改“查看更多”为“阅读全文”
class/cls_default.asp和class/cls_logAction.asp两个文件
查找“查看更多”然后修改成自己想要的内容。这里我修改为“阅读全文”
class/cls_default.asp(以修改的加密日志文件为修改对象)
共有四处:第208行,第213行,第221行,第226行
class/cls_logAction.asp(以去掉本日志由何人何时修改的文件为修改对象)
共有两处:第836行,第844行

在后台:("站点基本设置->静态日志模志"没有开启则不需要做这一步),如果"站点基本设置->静态日志模志"开启的话,则需要"站点基本设置->初始化数据->(选取)重新生成所有日志到文件->" 保存配置!
原理:开启"静态日志模志"的话,一开始修改后页面中依然为"查看更多…",那是因为日志是被动态生成asp文件保存在 Post 目录下,查看一下Post目录,文件名由阿拉伯数字组成的即为日志文件.也就是说日志文件是直接从Post目录下读取,而没有调用到修改的两个文件,日志显示的是Post下文件的内容而非数据库里的内容("查看次数"除外),所以网上就有说法说重新编辑一下日志再保存就可以了(日志多的话一遍遍编辑……),这个操作也就是重新生成日志文件.

也许是作者为了避免频繁读取数据库影响站点速度吧,或者有一个好处就是日志生成文件保存的话可以另作他用,建议一般不启用静态日志模式.

9.WBC的相关日志插件的修改添加
PJBLOG也好,还是其他的BLOG也好,日志本身的索引功能太可怜了。来访者很难找到某咱感兴趣的相关日志,虽然有分类,但只能到此而已,在细找就麻烦了。与普通网页相比较这大大减少了来访者浏览页面数和深度。添加上了最新日志、随机日志、最热日志,虽然加大了某些日志的曝光率,但解决不了这个问题。怎么能把站内相关的日志做目录或者索引,方便来访者的阅读呢?香港的PJ爱好者WBC就做出这样一个插件。首先谢谢WBC。

这里只修改了动态模式下的修改方法
修改文件:class/cls_article.asp(以添加了IP地址文件为修改对象)
查找(第192行)

<img src="images/tag.gif" style="margin:4px 2px -4px 0px" alt=""/><strong>Tags:</strong> <%=getTag.filterHTML(log_ViewArr(19,0))%><br/>

在此代码之后添加以下代码

<!–相关日志–>
<%
Dim wbc_tag,nnickk_tag,Rs,i,RsT,OutPut
Set Rs=conn.execute("Select * from blog_Content where log_ID="&id&"")
OutPut=""
if not rs.eof then
wbc_tag=rs("log_tag")
if wbc_tag<>empty then
   wbc_tag=replace(wbc_tag,"{","")
wbc_tag=split(wbc_tag,"}")
   i=0
   DO until i>Ubound(wbc_tag)
  
    nnickk_tag=""
    if wbc_tag(i)<>empty then
     Set Rs=conn.execute("Select * from blog_tag where tag_ID="&wbc_tag(i)&"")
     if not rs.eof then
      nnickk_tag=rs("tag_name")
     end if
    end if
    
    Randomize
    Set RsT=conn.execute("Select TOP 5 log_Title,log_id,log_ViewNums from blog_Content where (log_tag like '%"&wbc_tag(i)&"%' or log_title like '%"&nnickk_tag&"%') and log_ID<>"&id&" order by Rnd(-(log_id+"&Rnd()&"))")
    if not RsT.eof then
     Do until Rst.eof
 &
nbsp;    If instr(OutPut,RsT(0))=0 and wbc_tag(i)<>"" then
        OutPut=OutPut&"  <font face='Wingdings'>n</font> <a href='article.asp?id="&RsT(1)&"'>"&RsT(0)&"["&RsT(2)&"]</a><br>"
      End if
      Rst.movenext
     Loop
    End if
    i=i+1
Loop
End if
  
  if output="" then
Randomize
   Set RsT=conn.execute("Select TOP 5 log_Title,log_id,log_ViewNums from blog_Content where log_ID<>"&id&" order by Rnd(-(log_id+"&Rnd()&"))")
if not RsT.eof then
Do until Rst.eof
       If instr(OutPut,RsT(0))=0 then
         OutPut=OutPut&"  <font face='Wingdings'>n</font> <a href='article.asp?id="&RsT(1)&"'>"&RsT(0)&"["&RsT(2)&"]</a><br>"
       End if
       Rst.movenext
Loop
End if
  end if
End if
OutPut=replace(OutPut,chr(39),chr(34))
Set rs=nothing
%>
       <img src="images/tag.gif" style="margin:4px 2px -4px 0px" alt=""/><strong>相关日志:</strong><br/>
<%=OutPut%>
<div class="Content-body" id="wbc_tag"></div><br/>
<!–/相关日志–>

相关日志取样规则,
每个tag随机选取五则相关的日志标题或日志tag。
这里为了简单快速修改,
只修改为无tag自动随机挑五则。

10.修改Tag页面的tag显示方式
修改文件:common/cache.asp(以日志归档文件为修改对象)
          tag.asp

common/cache.asp
(第336行)查找

Set log_Tags=Conn.Execute("Select tag_id,tag_name,tag_count FROM blog_tag")

替换为:

Set log_Tags=Conn.Execute("Select tag_id,tag_name,tag_count FROM blog_tag order by tag_count desc, tag_id desc")

Tag.asp
(第23行)查找

div class="Content-body"

在后面添加以下代码:

style="line-HEIGHT:20pt"

(第29行)查找

<a href="default.asp?tag=<%=Server.URLEncode(log_Tag(1))%>" title="共包含 <%=log_Tag(2)%> 篇日志"><span style="font-size:<%=getTagSize(log_Tag(2))%>px"><%=log_Tag(1)%></span></a>

替换为:

<a href="default.asp?tag=<%=Server.URLEncode(log_Tag(1))%>" title="共包含 <%=log_Tag(2)%> 篇日志"><span style="font-size:<%=getTagSize(log_Tag(2))%>px"><%=log_Tag(1)%><font size="1" color="#999999">(<%=log_Tag(2)%>)</font></span></a>

11-1.FCK模式下实现日志分页功能
有时候我们可能会在自己的博客上转载一些比较长的文章,从头看到脚的感觉真的是难过啊。一个实现单篇日志也能分页的功能,

因为PJBlog使用的FCK版本过旧,FCK新版本2.5功能十分强大,于是把原PJ的FCKeditor文件夹删除掉后,把2.5新版本下载后放置在PJ根目录下,也就是原FCK原文件夹的位置上。即可。

现在开始添加分页功能。
要修改的文件有:class/cls_article.asp
                         FCKeditor编辑器中几个文件。
注意pagesplit和xx中间的√在文件里是要去掉的
以下我用绿色显示要去掉的地方

class/cls_article.asp(以修改为相关日志的文件为修改对象)
查找:(第143行)

response.write (highlight(UnCheckStr(log_ViewArr(8,0)),keyword))

在其代码前添加“'”然后在后面添加以下代码:

'=======内分页程序============
        dim arrcontent,page,pagelist,content,pagecounter,x,xx
        content=highlight(UnCheckStr(log_ViewArr(8,0)),keyword)
        If InStr(1,cstr(content),"[pagesplit√xx]",1)<>0 Then
   
     ArrContent=Split(content,"[pagesplit√xx]")
        PageCounter=UBound(ArrContent)
        Page=Request.QueryString("Page")
        If isnumeric(Page)=false Then Page=1
        If Page<1 Then Page=1
        If Page-1>PageCounter Then Page=1
        For x=1 To PageCounter+1
        xx=x
        If CInt(Page)=x Then xx="<font style='color:red;font-weight:bold'>"&x&"</font>"
        PageList=PageList&" "&"<a href='?id="&logID&"&Page="&x&"' _fcksavedurl='?id="&logID&"&Page="&x&"'>["&xx&"]</a>"
        Next
        content=ArrContent(Page-1)&"<FCK:hr /><div align='center' style='font-size:12px'>"&pagelist&"</div>"
        End If
        '=======内分页程序结束========
        response.write (content)

这时使用FCK模式发表日志,我们插入分页符之后会发现
旧版本插入分页符后的源代码为:

<p><font face="Arial"><span style="page-break-after: always">[pagesplit√xx]</span>

新版本插入分页符后的源代码为:

<div style="page-break-after: always"><span style="display: none"> </span></div>

因为原PJ使用的FCK不是我们替换的新版本,所以现在要修改FCK里的几个文件。打开
FCKeditor \editor\js\fckeditorcode_gecko.js
FCKeditor \editor\js\fckeditorcode_ie.js
找到以下代码:(ctrl+F)

e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML='<span style="DISPLAY:none">[pagesplit√xx]</span>'

替换成

e=FCK.EditorDocument.createElement('span');e.style.pageBreakAfter='always';e.innerHTML='[pagesplit√xx]'

这样FCK模式下的分页符,即可以正常使用了。

11-2.UBB模式下实现分页符
要说明的一点是在FCK实现分页的方法基础上实现插入分页的。
要修改的文件有:
class/cls_article.asp
common/UBBCode_Gecko.js
common/UBBCode_ie.js
common/UBBconfig.asp
注意pagesplit和xx中间的√在文件里是要去掉的
以下我用绿色显示要去掉的地方

打开class/cls_article.asp,在已安装了FCK模式的分页功能后,
找到以下代码:(第141行)(以修改为相关日志之后添加了FCK分页的文件为修改对象)

response.write (highlight(UnCheckStr(UBBCode(HtmlEncode(log_ViewArr(8,0)),mid(log_ViewArr(11,0),1,1),mid(log_ViewArr(11,0),2,1),mid(log_ViewArr(11,0),3,1),mid(log_ViewArr(11,0),4,1),mid(log_ViewArr(11,0),5,1))),keyword))

替换为:

'=======UBB模式内分页程序============
        dim arrcontent,page,pagelist,content,pagecounter,x,xx
        content=highlight(UnCheckStr(UBBCode(HtmlEncode(log_ViewArr(8,0)),mid(log_ViewArr(11,0),1,1),mid(log_ViewArr(11,0),2,1),mid(log_ViewArr(11,0),3,1),mid(log_ViewArr(11,0),4,1),mid(log_ViewArr(11,0),5,1))),keyword)
        If InStr(1,cstr(content),"[pagesplit√xx]",1)<>0 Then
        ArrContent=Split(content,"[pagesplit√xx]")
        PageCounter=UBound(ArrContent)
        Page=Request.QueryString("Page")
        If isnumeric(Page)=false Then Page=1
        If Page<1 Then Page=1
        If Page-1>PageCounter Then Page=1
        For x=1 To PageCounter+1
        xx=x
        If CInt(Page)=x Then xx="<font style='color:red;font-weight:bold'>"&x&"</font>"
        PageList=PageList&" "&"<a href='?id="&logID&"&Page="&x&"' _fcksavedurl='?id="&logID&"&Page="&x&"'>["&xx&"]</a>"
        Next
        content=ArrContent(Page-1)&"<FCK:hr /><div align='center' style='font-size:12px'>"&pagelist&"</div>"
        End If
 &nb
sp;      '=======内分页程序结束========
        response.write (content)

然后将以下代码删除<当初实现FCK模式分页加入的代码超始段>

dim arrcontent,page,pagelist,content,pagecounter,x,xx

这一段代码在'=======UBB模式内分页程序============的下面

打开common/UBBCode_Gecko.js
以及common/UBBCode_ie.js
在这两个文件最尾部添加以下代码:

function UBB_pagesplitxx(){
        if (EditMethod=="normal")
        {
        AddText("[pagesplit√xx]")
        }
        if (EditMethod=="expert")
        {
        AddText("[pagesplit√xx]")
        }
        }

再打开common/UBBconfig.asp
找到以下代码:(第14行)

"link,mail,image,insertunorderedlist,quote,hidden,code,html"

替换为:

"link,mail,image,insertunorderedlist,quote,hidden,code,html,pagesplitxx"

再查找以下代码:(第123行)

function Tip(str)
Select Case str

在这段代码后面添加以下代码:

case "pagesplitxx":
   Tip="插入分页符"

最后把分页符标签图pagesplitxx.gif放进Blog根目录下images里面,以及你皮肤UBB/icon目录里面。

12.PJ添加滚动友情链接代码
因为这里要修改PJ原设定的友情链接,属于是修改内置模块,所以把代码记录下来。

<MARQUEE onmouseover=stop() onmouseout=start() scrollamount="2" loop="-1" direction="up" width=180
height=170><div class="LinkTable">$Link_Code$ </div></div></MARQUEE>
<div align="right"><a href="bloglink.asp">查看|交换链接……</a></div>

将以上代码复制到友情链接模块中取代原先的代码即可。对于滚动速度、循环方式、滚动方向、宽度、高度都可以自己设置。

13-1.修改发表日志、评论、留言的表情
先修改UBB模式下的表情(其中显示在评论、留言、发表日志三个地方)
修改步骤:
A:原PJ后台“表情与关键字”里查看表情,可以看到有表情79个,名称为“Face _01.gif”,现在就是要将这些表情替换成自己想要的。
这里我替换成QQ2007的表情共92个
B:在PJ根目录下的images/smilies里,把里面的表情全替换成你自己想要的表情。记得把名称全改成Face_**.gif这样的,以方便不再修改源文件的表情名称。
C:后台只有79个,所以这样要在后台手动添加……我加……拼命加,顺便把表情的图片代码也修改成你表情取的名字。
D:添加完后进入前台,在留言本或评论处点击表情,会发现两个问题:第一个是QQ2007的表情在PJ上显示太小看不清;第二个是92个表情太长了,每行8个都要显示11列的高度,所以这里我们要修改下
表情太小,QQ2007的表情是24X24大小,原表情是19X19,这就是要修改到BLOG皮肤文件,用CSS来定义smilies类的大小吧。
打开皮肤skin文件夹下你的皮肤里UBB/editor.css即:
skin/你的皮肤名/UBB/editor.css
查找以下代码:(第45行,其它的皮肤可能位置不一样)

.Smilie:link,.Smilie:visited{
border:1px solid #fff;
display:block;
padding:2px;
width:19px;
height:19px;

width:19px; /*这里设置单个表情宽度*/
height:19px; /*这里设置单个表情高度*/
把19px修改成24px就可以了
如果你使用了skinswitch皮肤切换插件,那你要依次把所有的皮肤的这个地方全修改一遍。

第二个高度要修改common/UBBconfig.asp(这里以分页文件为修改对象)
找到以下代码:

if SmilieC
ount=

这段代码在第53行、第55行都有,
只要把第55行等号后面的8改成10或者你想要一行显示几个表情数值就可以了。

到这里UBB表情就可以了,试试吧。不满意再进行修改一下。

13-2.修改FCK模式下表情(只有在FCK发表日志时显示)
首先将你的表情放到FCKeditor/editor/images/smiliey下面,把原来的删除。
再打开FCKeditor/fckconfig.js(这里以FCK2.5新版本源文件为修改对象)
查找以下代码:(第279行)

FCKConfig.SmileyImages=[

把[]里面的表情名称修改为自己替换的表情名字。有多出的需要手动按照格式一个一个把表情名称添加进去
因为这里我使用的是表情没有放在FCKeditor/editor/images/smiliey下面,
而是FCKeditor/editor/images/smiliey/qq2007下面。

14.修改“置顶”标识
分静态和动态两种模式
这里要修改4个地方,因为两种模式下都有普通日志显示和列表日志显示。

动态模式:
打开class/cls_default.asp(这里以阅读全文为修改对象)
查找以下代码:

<%If CanRead Then%>

因为添加了加密日志,所以代码为:

<%If CanRead Then
If bReadPw then '密码访问

不过这里不是要修改,在此文件中找到两处这样的代码:(第180行,第289行)

<%If CanRead Then

在第一处下面查找:(第182行)

<a class="titleA" href="article.asp?id=<%=webLogArr(0,PageCount)%>"><%=HtmlEncode(webLogArr(3,PageCount))%></a>

替换为:

<%'=================已修改的动态普通模式置顶字符=================%>
        <a class="titleA" href="article.asp?id=<%=webLogArr(0,PageCount)%>"><%if webLogArr(9,PageCount) then response.Write "[置顶]"%><%=HtmlEncode(webLogArr(3,PageCount))%></a>
<%'=================已修改的动态普通模式置顶字符=================%>

第二处下面查找:(第291行)

<a href="<%=logLink%>" title="作者:<%=webLogArr(2,PageCount)%> 日期:<%=DateToStr(webLogArr(4,PageCount),"Y-m-d")%>"><%=HtmlEncode(webLogArr(3,PageCount))%></a>

替换为:

<%'=================已修改的动态列表模式置顶字符=================%>
            <a href="<%=logLink%>" title="作者:<%=webLogArr(2,PageCount)%> 日期:<%=DateToStr(webLogArr(4,PageCount),"Y-m-d")%>"><%if webLogArr(9,PageCount) then response.Write "[置顶]"%><%=HtmlEncode(webLogArr(3,PageCount))%></a>
<%'=================已修改的动态列表模式置顶字符=================%>

(因为我基本上只使用动态模式,所以下面只是列出如何修改静态模式,自己的blog并没有修改。)
静态模式:
打开class/cls_logAction.asp  
搜索

Temp1=Replace(Temp1,"<$log_Title$>",HtmlEncode(log_View("log_Title")))

改为:

'============已修改的静态普通模式“置顶”字符===========
     '原来是:
     'Temp1=Replace(Temp1,"<$log_Title$>",HtmlEncode(log_View("log_Title")))
     '现在改为:
         if log_View("log_IsTop") then
            Temp1=Replace(Temp1,"<$log_Title$>","[置顶] "&HtmlEncode(log_View("log_Title")))
         Else
            Temp1=Replace(Temp1,"<$log_Title$>",HtmlEncode(log_View("log_Title")))
         End if
/>     '============已修改的静态普通模式“置顶”字符===========

  

刚改完的上面是普通模式,下面是列表模式
搜索:

Temp2=Replace(Temp2,"<$log_Title$>",HtmlEncode(log_View("log_Title")))

改为:

'============已修改的静态列表模式“置顶”字符===========
     '原本是这样:
     'Temp2=Replace(Temp2,"<$log_Title$>",HtmlEncode(log_View("log_Title")))
     '现在改为:
     if log_View("log_IsTop") then
            Temp2=Replace(Temp2,"<$log_Title$>","[置顶] "&HtmlEncode(log_View("log_Title")))
      Else
            Temp2=Replace(Temp2,"<$log_Title$>",HtmlEncode(log_View("log_Title")))
     End if
       '============已修改的静态列表模式“置顶”字符===========

评论 共0条 (RSS 2.0) 发表评论

  1. 暂无评论,快抢沙发吧。

发表评论

联系我 Contact Me

十一假期后,会间接性整顿博客。如果发现有图片叉叉地,版面凌乱地,文字模糊不清地、相片太可爱地、请告之站长。绝对有惊喜!!……另外,给大家推荐一部好片:《三个傻瓜大闹宝莱坞》,站长最近比较痴迷男主角。~(≧▽≦)/~。
回到页首