2005年11月9日星期三

Z-BLOG相关文章的修改方法

  本来想写一个ZBLOG的“相关文章”插件,但上网一搜索,发现已经有人写过了。我就直接拿来用了。粗略用了一下,发现其耗费资源很大,每生成一篇文章都要多执行2条数据库查询,使得重建文章速度更慢了。这和我以前想的方法不一样,我想的方法应该是先将全部TAG生成独立的临时文件 ,在文章重建的时候再进行文本替换,这样执行的数据库查询就很少了,不会占用太多系统资源,可惜现在没时间去实现。

  下面是七夜发布的Z-blog“相关文章”修改方法,其中Export_Mutuality处代码我进行了一些修改,使得TAG为空的时候该代码也能正常运行。原文地址参见:http://www.h2o.name/post/661.html

1.新增加一个模板,名字为b_article_mutuality.html,文章扩展名根据情况修改,内容

  <li class="mutualityurl"><a  href="<#article/mutuality/url#>.html"><#article/mutuality/name#></a>&nbsp;(<#article/mutuality/posttime#>)</li>


2.b_article-single.html增加如下内容,具体位置自己选

<ul class="msg trackback">
  <li class="tbname">&#x76F8;&#x5173;&#x6587;&#x7AE0;</li>
<#template:article_mutuality#>
</ul>


3.CSS样式增加一个,具体根据自己喜好修改,内容如下

li.mutualityurl{
  text-align:left;
  padding:3px 10px 0px 10px;
  margin:0;
  background:#F6F4EE;
  line-height:150%;
}


4.c_system_base.asp的Function LoadGlobeCache()部分,原来的几处27改为28,增加

  aryFileName(28)="/TEMPLATE/b_article_mutuality.html"
  aryFileName_Variable(28)="TEMPLATE_ARTICLE_mutuality"


5.c_system_lib.asp
Class TArticle增加一行

Public Template_Article_Mutuality


Public Function Export(intType)增加两行,注意Call Export_Mutuality一定要放在Call Export_Tag的前面,否则会出错。

    Call Export_Mutuality

    Template_Article_Single=Replace(Template_Article_Single,"<#template:article_mutuality#>",Template_Article_Mutuality)


以下部分找个地方放下就可以了
[CODE_LITE] '相关文章的生成 Function Export_Mutuality() Call CheckParameter(ID,"int",0) If (ID=0) Then Del=False:Exit Function If Tag<>"" Then Dim strCC_Count,strCC_ID,strCC_Name,strCC_Url,strCC_PostTime,strCC_Title Dim strCC Dim i Dim j Dim objTNode Dim objCNode Dim objSingleNode Dim objNodeText Dim objMutArticle Dim objRS Dim strSQL Set objRS=Server.CreateObject("ADODB.Recordset") strSQL="SELECT top 30 [log_ID],[log_Tag],[log_CateID],[log_Title],[log_Level],[log_AuthorID],[log_PostTime],[log_Url] FROM [blog_Article] WHERE ([log_Level]>2) AND [log_ID]<>"& ID &" " Dim aryTAGs If InStr(Tag,"}{") > 0 Then aryTAGs = Split(Tag,"}{") Else ReDim aryTAGs(0) aryTAGs(0) = Tag End If strSQL = strSQL & " AND (" For j = 0 To UBound(aryTAGs) If Not (IsNull(aryTAGs(j)) Or IsEmpty(aryTAGs(j)) Or aryTAGs(j) = "" Or Len(aryTAGs(j)) < 1) Then aryTAGs(j) = Replace(Replace(aryTAGs(j),"}",""),"{","") If IsNumeric(aryTAGs(j)) Then If j > 0 Then strSQL = strSQL & " OR " strSQL = strSQL & "([log_Tag] Like '%{"&aryTAGs(j)&"}%')" End If End If Next strSQL = strSQL & ")" strSQL = strSQL + " ORDER BY [log_PostTime] DESC " Set objRS=Server.CreateObject("ADODB.Recordset") objRS.CursorType = adOpenKeyset objRS.LockType = adLockReadOnly objRS.ActiveConnection=objConn objRS.Source=strSQL objRS.Open() If (not objRS.bof) And (not objRS.eof) Then For i=1 To 30 '相关文章数目,可自行设定 strCC_Count=strCC_Count+1 strCC_ID=objRS("log_ID") strCC_Url=objRS("log_Url") strCC_PostTime=objRS("log_PostTime") strCC_Title=objRS("log_Title") Application.Lock strCC=Application(ZC_BLOG_CLSID & "TEMPLATE_ARTICLE_Mutuality") Application.UnLock If IsNull(strCC_Url) Or IsEmpty(strCC_Url) Or strCC_Url="" Then strCC_Url=strCC_ID end if strCC=Replace(strCC,"<#article/mutuality/id#>",strCC_ID) strCC=Replace(strCC,"<#article/mutuality/url#>",strCC_Url) strCC=Replace(strCC,"<#article/mutuality/posttime#>",strCC_PostTime) strCC=Replace(strCC,"<#article/mutuality/name#>",strCC_Title) Template_Article_Mutuality=Template_Article_Mutuality & strCC objRS.MoveNext If objRS.eof Then Exit For Next End if objRS.Close() Set objRS=Nothing End If Export_Mutuality=True End Function[/CODE_LITE]

2005年11月7日星期一

Z-BLOG常用技巧汇总

  这里发布一些收集来的Z-BLOG的一些常用技巧,供爱好者定制自己的BLOG。

      
  •   高效能的日志搜索

  用途:搜索是非常消耗系统资源的动作,而且对于多关键字搜索和模糊搜索,处理起来也非常麻烦,这里提供了一个非常高效而实用的搜索方法,就是使用Google的站内搜索技术,当你的日志被Google索引了大部分的时候,这种搜索方法的效果会特别出色。新站或Google网页级别低的不建议使用这种方法。

  方法:

  修改search.asp文件,将原文件备份,新建立一个search.asp文件内容如下:

  response.redirect http://www.google.com/search?q="&Request.QueryString("q")&"&domains=www.youdomain.com&sitesearch=www.youdomain.com

      
  •   把邮件地址中的@自动转换成[AT]的方法

  用途:将用户留言中的email地址的@符号自动转换成[AT],这样可以有效防止邮件地址被采集。

  方法:

  修改c_system_lib文件strC=Replace(strC,"<#article/comment/email#>",strC_Email)

  修改为

  strC=Replace(strC,"<#article/comment/email#>",Replace(strC_Email,"@","[AT]"))

      
  •   启动评论确认码功能

  用途:防止垃圾评论制造者通过程序发送垃圾留言。

  方法:

  修改c_option.asp,将Const ZC_COMMENT_VERIFY_ENABLE=False

  修改为Const ZC_COMMENT_VERIFY_ENABLE=True

      
  •   增加访问统计功能

  用途:在首页显示总共的访问量,需要先增加文章统计插件。

  方法:

  修改c_system_event.asp,寻找:strStatistics=strStatistics & "<li>"& ZC_MSG125 &":" & objRS("allTrackBackNums") & "</li>" 

  在其后面增加一行:

  strStatistics=strStatistics & "<li>"& ZC_MSG129 &":" & objRS("allViewNums") & "</li>" 

      
  •   增加日志页面的直接删除评论功能

  用途:在日志页面即可直接删除评论,而不需要进入管理界面删除。

  方法:

  打开TEMPLATE目录下的b_article_comment.html文件

  增加一行<a href="../cmd.asp?act=CommentDel&id=<#article/comment/id#>&log_id=<#article/id#>" rel="nofollow">删除留言</a>

      
  •   拷贝粘贴blog_Comment表内的记录后无法文件重建

  在数据库中执行下面SQL语句可以修复错误:

  update blog_Comment set comm_homepage='' where comm_id not in (select comm_id from blog_Comment where comm_homepage<>'')

2005年11月6日星期日

Google地图下的美国机密军事设施

  一个软件可以引起全世界军方和政府的震惊和恐慌,并且在全世界网民中大出风头,这就是Google Earth软件。

  什么是Google Earth?Google Earth是一款由Google公司开发的虚拟地球软件,是Google公司提供的地图服务,包括局部详细的卫星照片。Google Earth使用了公共领域的图片、受许可的航空照相图片、KeyHole间谍卫星的图片和很多其他卫星所拍摄的城镇照片。甚至连Google Maps没有提供的图片都有。

  对于一个军事密来说,Google Earth简直是一个无价之宝啊,那么多原先十分神秘的机密军事设施,现在都可以轻而易举地得到其卫星图片和精确坐标,如美国51区,肯尼迪宇航中心,白宫,美国五角大楼,国会,珍珠港海军基地,美国太平洋舰队,帕尔姆达尔基地,美国西雅图航空母舰基地,内华达州核实验场,蒙大拿州空军基地,美国最重要军港诺福克的完整航空母舰编队群,直升机航空母舰,两栖军舰,伯克级驱逐舰,核潜艇,战列舰,补给舰,登陆舰,还有美国目前最先进的隐型军舰――海影等等,另外还有B-2轰炸机,F22,F16,F35,A-10,C-130,B-52轰炸机等等。 这些都是以前做梦都得不到的东西。

  下面是热心网友收集到的一些美国机密军事设施的图片,在图片的左下脚是该图片的经纬度,下载Google Earth后,定位该经纬度,任何人都可以找到该设施。

美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地美国军事基地

2005年11月3日星期四

卫星电视台竞争加剧

  本地的有线电视(数字电视)今年引入了多家“香港”卫视台,使得本地的“香港”电视台多达八家(国语四家、粤语两家、英语两家),其竞争显得日益剧烈化。

  目前可以在本地“合法”收看的四家国语“香港”卫视台包括:凤凰卫视(PHOENIX CHINA)、新知台(HORIZON CHANNEL)、华娱电视台(CETV)、星空卫视(STAR TV) 。

  之所以说他们是“所谓”的香港电视台,是因为他们无一例外的没有香港本地收视率,他们目前主攻的是大陆和台湾市场。令人遗憾的是这四家电视台都以娱乐节目为主,节目内容严重雷同,主要依靠购买台湾韩国的电视剧播放,凤凰卫视则有大陆官方背景,号称“香港CCTV”,其时事节目比其他台都多,也算是其一个特色吧。

  没有时事新闻是另外三个台的缺陷,如果有的话他们也不可能进入内地。香港自己的四个无线电视台(翡翠台、明珠台、本港台、国际台)则更惨,他们虽然在香港和珠三角有压倒性优势的收视率,但是他们的广告和时事新闻全部被本地有线电视更换为自己的广告。本地电视台没有收视率,竟然依靠插播别人电视台广告来盈利,如此肆无忌惮地侵犯知识产权,这个地球上应该找不到第二家了,说国人道德沦丧,毫无羞耻,首先就表现在电视台上。

  既然没有新闻台,那么就只好上网了,从网上获得新闻而不是从电视上获得新闻,恐怕也是中国特色吧。

2005年11月1日星期二

肯德基套餐剔除了致癌薯条

  最近去吃肯德基的时候,发现原有的肯德基套餐“薯条+可乐+汉堡”的传统搭配没有了,而使用水果沙拉来替代薯条。一开始的时候,我还对肯德基终于将垃圾食品“薯条”剔除感到很高兴呢,看来肯德基也要走“健康食品”这条康庄大道了,没想到上网一查,结果大吃一惊。

  为什么取消薯条,真正的原因是一起美国的诉讼案。今年八月,美国加州总检察长对包括麦当劳、肯德基在内的九家快餐店及食品制造商提起诉讼,炸薯条今后要贴致癌警告标签。如果该起诉胜诉,同香烟要贴“焦油、尼古丁含量”警示标签一样,麦当劳、肯德基等连锁快餐店和食品制造商都必须在其生产的炸薯条、薯片上标示“致癌物丙烯酰胺的含量”。

  这些贩卖毒品的“洋垃圾”终于开始面对“末日审判”,如果该起诉胜诉,那么这些垃圾食品就再也不能象以前那样光明正大地毒害全世界人民了。

  于是肯德基在四面楚歌走投无路的情况下,不得不使用水果沙拉来替代薯条了。是啊,这些毒贩子怎么可能自愿洗手不干呢?他们怎么可能良心发现,去做健康食品呢,看来我太高估了肯德基的道德良心了。

  麦当劳目前还在贩卖薯条+可乐的套餐,真是“死猪不怕开水烫”啊。

  附录:麦当劳与肯德基薯条含超量致癌物,在美国引发公诉

  美国加利福尼亚州总检察长比尔-洛克耶尔日前对9家著名连锁快餐店和食品制造商提起诉讼,要求法庭强制它们用警告性标签标明其炸薯条、薯片中致癌物丙烯酰胺的含量。这是美国检察机关首次就炸薯条含致癌物问题提出诉讼。

  据《洛杉矶时报》27日报道,被洛克耶尔指控的快餐店包括麦当劳、肯德基、汉堡王等,食品制造商包括宝洁等,根据美国的法律,企业必须向公众“清楚而合理地”标明其产品中潜在的危险物质。洛克耶尔强调,他并不是鼓动人们不吃炸薯条,因为炸薯条的诱惑“很难拒绝”,但消费者有权知道他们所吃的炸薯条中有超量的致癌物质。

  科学界已经证明,高含量的丙烯酰胺能使实验动物患生殖系统癌症。1990年起,加州法律将它列入致癌物之列。2002年,瑞典科学家首次证实,土豆等富含淀粉的食物在高温烹炸下会产生过量丙烯酰胺,这使炸薯条和薯片对健康的危害第一次被认识到。

  今年3月,由联合国粮农组织(FAO)和世界卫生组织(WHO)组成的一个联合专家委员会发布一份简要报告指出,某些食品中非故意性生成的丙烯酰胺污染物可能引起公共卫生隐患。麦当劳等“洋快餐”首当其冲,因为它们的炸薯条等几种“当红”食品都被点名,是这种被称为“丙毒”的有害物含量很高的食品。

  专家在报告中指出,某些食品,特别是富含碳水化合物的低蛋白食品,在经煎炸、烧烤、烘焙等高温烹制时会产生丙烯酰胺,而所谓的“高温”标准是指温度超过120℃。根据目前各国提供的数据,富含丙烯酰胺的主要食品有炸薯条和薯片、咖啡以及一些由谷物加工的产品,如各式糕点以及甜饼干、面包、面包卷和烤面包片。

  洛克耶尔在起诉书中援引加州环境健康危害评估办公室的数据指出,快餐店的法式炸薯条中丙烯酰胺的含量,平均达到法律要求必须提出警告含量的125倍;而超市中销售的薯片中的丙烯酰胺含量,是警告含量的75倍。近年来已有一些消费者团体为丙烯酰胺问题起诉快餐店和食品制造商。

  同时,美国一项最新研究显示,女性在儿童时期常吃炸薯条,可能会增加其成年后患乳腺癌的风险,这一发现为吃薯条有害健康的观点提供了最新证据。

  据8月号的美国《国际癌症杂志》报道,哈佛大学研究人员以582名女性乳腺癌患者和1569名健康女性为研究对象,对她们的饮食习惯进行了问卷调查,并让她们的母亲回忆调查对象在幼年时期的饮食习惯。结果发现,在幼儿时期常吃炸薯条的女性,成年后患乳腺癌的风险较高,女性在3至5岁时每星期多吃一份炸薯条,成年后患乳腺癌的风险就会增加27%。

  而为连锁快餐店和食品制造商辩护的律师则说,炸薯条加上警告性标签可能起误导作用,消费者会认为只有快餐店制作的炸薯条和薯片才含丙烯酰胺。而事实上,哪怕消费者自己用土豆高温烹炸制作食品,也会含有这种物质。

  炸薯条小传

  对于炸薯条的发明权,法国和比利时一直存在争议。法国认为是一名法国乡下人第一个制作了炸薯条,而比利时认为比利时人才是真正的发明者。1830年左右,炸薯条已经风靡欧洲。

  丙烯酰胺是什么?

  丙烯酰胺是一种化学物质,是生产聚丙烯酰胺的原料,可用于污水净化等工业用途。淀粉类食品在高温(>120℃)烹调下容易产生丙烯酰胺。动物试验结果显示,丙烯酰胺是一种可能致癌物。

2005年10月30日星期日

Z-BLOG屏蔽敏感关键字功能的代码

  下面是ZBLOG的屏蔽评论中敏感关键字的程序代码,主要用于替换文章评论中的敏感或非法的关键字。

  只需要修改一个文件c_system_event.asp,将其中的objComment.Content=Request.Form("inpArticle")修改为objComment.Content=WordFilter(Request.Form("inpArticle"))

  然后在c_system_event.asp文件尾部加入代码:

Function WordFilter(strInput)     Dim i     Dim strOutput     Dim strFilter     strFilter = Split("关键字1,关键字2,关键字3", ",")     strOutput = strInput     For i = 0 To UBound(strFilter)         strOutput = Replace(strOutput, strFilter(i), String(Len(strFilter(i)), "×"))     Next     WordFilter = strOutput End Function

2005年10月29日星期六

把个人Blog作成一个成功品牌的10个策略步骤

  俄亥俄州一家名为eStrategyOne的在线营销方案解决公司的经理Rich Ottum,围绕着Business Weblogs的营销策略,给出了十个步骤;而在个人看来,要想把Blog作成一个成功的品牌,这些步骤,也是非常必要的;下面围绕作者的主要论点,结合我个人的观点,提出针对个人blog的10个步骤:

  1、保持常新(Make it New):你的Blog不仅仅是你的站点,你必须时不时提供新鲜的内容和独特的观点,你必须用心经营深入进去挖掘而不是用常规手段去随意放点什么敷衍读者。

  2、发出自己的声音(Give it Voice):你的Blog必须有一个坚定的呼声——来自真实个人的声音,对于某个事物你必须有自己的态度;对于你提供的信息和内容,必须做到真实、广博、生动、高品位。

  3、持续更新(Say it Often):做到至少一个星期更新一次,隔几天最好。首先定位好你Blog聚焦在什么领域,关注于那个领域焦点的东西,能够引起人们注意和最大兴趣的;并且时不时提供独家信息。

  4、尝试互动沟通(Ask for Feedback):成功的Blog会鼓励读者们参与进去,利用评论机制或者留言反馈,不要害怕来自读者的批评和争辩,观察他们在说些什么,他们想潜在地表达什么,把握他们的喜好,利用他们的声音去更好地调整你的内容,这是个人进行客户关系管理最基本的要求。

  5、分享信息资产(Share the Wealth):要认识到你的读者来自各行各业,他们有着多样的兴趣,你应该最大化地提供他们所需要的信息,如某一主题的信息链接、相似内容的外部站点链接。

  6、简洁为美(Keep it Simple):花点时间,为你的Blog设计个简洁美观的页面,放弃那些花俏而不实的设计;真正把页面下载速度放在首位,让你的文本内容易于阅读,你的归类文档易于搜索。必须记住:简洁为美。

  7、武装你的读者(Equip Your Readers):不是人人都象你那样精通技术,你的读者们也许不知道XML,不知道RSS,不知道Blog延伸出的种种先进技术——你要做的,是用最大众化的语言告诉他们那些技术分别是什么,让他们懂得有哪些好处,提供给他们使用的方法,比如写个说明告诉他们如何利用RSS功能去使用NewsReader,当然你必须首先告诉他们哪里去下载这个软件。最好能建立邮件列表,让你的读者们通过EMail与你的内容保持同步。

  8、多渠道传播(Promote in Multiple Channels):不是人人都懂得用Aggregator(新闻聚合器)去获取你Blog的信息,要注意利用传统方法去推广你的Blog,如在T-Shirt上印上你的站点、发送邮件的签名传播、在Blog目录站点登记。

  9、与他人进行对话(Join Another Conversation):你应该站起来走出去看看其他的Blog,不管你感不感兴趣,尝试与他们进行沟通交流,这样你会开阔视野开放思维——当然你在别人站点上留下的URL也是很好的推广。

  10、要有耐心(Be Patient):Blog技术并无大的创新之处,RSS也只是“推技术”的一个再利用;许多早先的网络应用者会谨慎地看待Blog和RSS,甚至不屑一顾,你必须以自己的实践去做个好的说服材料,去打动他们融入进来,从而推广了你的Blog和你自己——对你来说,那将是你的个人品牌。 (作者不详)