标签/Tag为[SiteLog]的文章 [ 2/4 ]

[MT 模板]MT 4.x/5.x 之Search Results 官方默认版本的两处小错误。 ,

This is a SiteLog for Easun.org.
大家都知道, MT 4.x/5.x 的搜索所有返回多页的时候,翻页(仅仅是 PreviousNext 链接)其实是支持 ajax 的,但是实际使用中,翻页结果往往是直接跳出页面,而非ajax获取。

今天抽空看了看 系统模板中的 【Search Results】 模板代码,发现貌似有两处错误,这个应该是导致 ajax 方式经常意外跳出的原因。特意发出来,以供同好者分享。

第一处是 <div id="search-results">...</div> 的反复嵌套,看 js 来看, 是通过给<div id="search-results"></div> 块中插入新内容来更新页面的,但是 ajax 返回的数据居然还有一个 <div id="search-results">? 显然是模板错误,JS返回的模板不应该再用 <div id="search-results"> 块定义。具体抓图如下:
20120220_2.png
知道原因了,解决办法很简单: 删除图中 <mt:SetVarTemplate id="search_results" name="search_results">...</mt:SetVarTemplate>中嵌套的 <div id="search-results"> (图中69行)和 最后一个 </div> (88 行),然后找到 <$mt:Var name="search_results"$>,改成

<div id="search-results"><$mt:Var name="search_results"$></div>


第2处,是 加载完本页后,自动1000 毫秒后获取下一页数据的 js 程序有错,代码为下:
var timer = window.setTimeout("getResults(" + <$mt:CurrentPage$> + ")", 1*1000);

抓图:

20120220_1.png

呃, + <$mt:CurrentPage$> + ,官方真以为 <$mt:CurrentPage$> 是js变量啊。还 + 呢。修改成:

var timer = window.setTimeout("getResults(<$mt:CurrentPage$> )", 1*1000);

修改完后,直接搜索一个返回好多页的文件,略微等待(等待后台获取下一页数据成功),点击 Next, OK ,成功了。
因为每页默认有20个条目返回,所以如果真正的搜素者,当看完这20个的时候,点 Next 的时候,次页数据早以后台传输完成,则直接 通过 js 显示,一般不会出现因为没有数据而跳出成普通模式的问题。

PS: MT 搜索模板的 ajax 机制是载于当前页后, 设定一个定时器,后台获取下一页数据存储于js 数组,当 Next 或者 Previous 的时候,直接从 js 数据中提取,如果提取失败,则会直接跳出,以普通模式向后台获取数据。 所以,只有 PreviousNext 链接 是 ajax 的 。

--EOF--

[SiteLog]MT归档页面变更以及Tags搜索页面cache机制的变更 ,

This is a SiteLog for Easun.org.

随着文章的增多, Movable Type归档页和按照分类归档页是越来越没有意义了。抽点时间干脆彻底改写模板(Template)而重构页面显示。
改写的结果是 归档页 全部显示所有日志的标题和回复数目。照分类归档页 不在显示最近的几篇文章的概要而也是显示该分类下的所有所有日志的标题和回复数目。
具体样式可以参考 归档页分类 [MT相关] 的文章归档 来看看效果。
Movable Type的静态发布,成也萧何,败也萧何啊。

另外,就是对本站的 Tags 搜索进行了全部重构。 Movable Type 程序的负荷一直在与 mt-search.cgi 。 早在08年底,由于 mt-search.cgi 的效率问题 ,就直接禁止了通过mt-search.cgi来用关键字搜索本站,而改成了 Google Custom Search 。 Tags 搜索也自己写了 Perl 脚本来文本cache mt-search.cgi返回的结果。
但是,最近发现,当初的文本cache机制大有问题。主要表现在下:

  1.  不能自动更新 cache。导致部分cache返回结果的还是2009年初。
  2. 对于返回数据大于一页的Tags搜索页面仅仅是显示第一页。不能翻页。


改写后这些问题都解决了。
主要流程是:
点击 tag 后, 检测是否存在 cache后生成的 html 文件? 如果有并且文件是2天内的,则直接输出现成的 html文本;如果没有或者过期,则交给mt-search.cgi并且同时生成新的cache文本。分页的 tag 返回页面,用 tag/page 来表示分页。彻底静态化。
同理,后台搜索的 Search Results 模板(Template)做了大量的细致修改,以满足搜索返回的要求。
至于静态化,是通过.htaccess 进行重定位。代码如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !.html
RewriteCond %{REQUEST_URI} !(.*)/$
#RewriteCond %{REQUEST_FILENAME}.html !-f
RewriteRule ^(.*)$ /cgi-bin/mtos/tags_do.cgi/$1 [L]


具体演示参见以下链接:

另: Movable Type 已经 5.12 了。 升级还是不升级。这比较纠结。。。。

--EOF--

[SiteLog]密码与挂马

This is a SiteLog for Easun.org.

不知道是不是和 CSDN 密码事件有关。
半年未更新的的 easun.org 居然被植入了 php 木马?
联系哥们修改了 ssh密码和 mysql 密码。
文件太多了,直接ssh上网站,执行:
find ./ -name "*.php" -print -exec rm -fr {} \;


这个世界立即清净了。 查了一下:挂马日期: 2012-1-12 。 挂马入侵路径:未知。俺的空间几乎没有php程序。 另外: ftp上后,发现 logs目录无法访问,在ssh下 ls -l 获取真实地址,然后 tar 了一下,成功下载所有logs,结果第二天,接到DreamHost的如下消息:
Due to some unauthorized activity we detected within one of our databases, we have forced a reset of all FTP/SFTP and shell passwords as a precaution.
oh ,no ......

PS: 最近吧所有网站密码换了一遍,管理密码建议使用金山毒霸中的密码管理专家.

--EOF--

[SiteLog]New Style of Easun.org

This is a SiteLog for Easun.org.

如题。 懒了。顺便找了后台的一些图片。小小更新了下 style。 新的 style 就这样了。
其实没有啥大的变化,更清新了点吧。

其实隐约使用此 style 快一周了。 周末正式修改完毕。做个通告吧。

MT5 已经出来了。 是否升级? 是个问题。
年底了。。。单位突然忙了起来,真算是世事难料的说。

--EOF--

[SiteLog]Blog升级到了 Movable Type Pro 4.25 ,

Thisi is a SiteLog of Easun's WebBlog.

今天终于升级到了 Movable Type Pro 4.25 ,貌似一切顺利,也没有发现什么特别大的改动?只是 Community Pack 变成了 1.62, Professional Pack 升级成了1.3 。

其他的一切顺利,模版也没有修改,我甚至连重建前台HTML的事情都没有做。。。

就这样吧,继续用这个风格,等有时间了再慢慢研究吧。

如果非要说有什么修改的话,就是评论的登陆方式又丰富了很多,包括 "Google" 帐号。这个大家应该都有,那么在选择留言/评论的时候您可以选择这个登陆从而免掉了我后台认证的麻烦:)
抓图如下:


--EOF--

[MT Hack]MT Forum 注册绕过Email 确认

This is a SiteLog for Easun.org.

MT Forum 的注册机制是用户注册后帐户进入 Pending 状态,然后给用户刚才填写的Email发一份邮件,点 邮件 里面的连接才可以激活。

这个是个很好的功能,但是有时候偏偏想去掉这个功能。

懒得的写 插件 ,就直接 Hack吧。

简单分析: MT Forum 注册调用的函数是 addons/Community.pack/lib/MT/App/Community.pm 里面的 do_register {} 这个函数写入数据库是 create_user_pending {} 。

要简单修改 create_user_pending 函数里面的默认数值就好。

create_user_pending 函数 在 lib/MT/App.pm 中。 定位:
    $user->type( MT::Author::AUTHOR() );
    $user->status( MT::Author::PENDING() );
    $user->auth_type( $app->config->AuthenticationModule );


把加粗的部分 修改成
$user->status( MT::Author::ACTIVE() );
或者干脆一点硬编码:
$user->status( 1 );
再次测试一切OK ,当然你也可以顺便去掉发 确认邮件 的代码, 具体位置是 addons/Community.pack/lib/MT/App/Community.pm 中的 sub _send_signup_confirmation {},用空函数代替即可。


PS: 久不更新网站和研究 MT ,貌似 4.25 也出来了。也许该更新下系统了。呵呵

--EOF--

[Sitelog]统一了整站的风格

恩,如题。
说起来很简单,做起来到也费思量。终于是在  Professional Style 和 Community Style 的艰难选择中偏重了  Community Style。
看上去 WebBlog Forum 统一了一点。也许和我一直喜欢蓝色调有关系吧。
顺便把 Bookmark 页面也替换成了 MT4.x 模版。

Perl Site 的主页面的也需要更新了,暂时用 Perl Forum 主页面做了点变形代替,等有好的思路在做改变。。

貌似整站的导航条还是有点不人性化,但是修改起来还没有好的思路 :D

--EOF--

[Sitelog]Perl Forum 正式迁移到 MT 平台 ,,

Test Forum 测试了几天,解决了用户和帖子转移问题,今天,正式把 Perl Forum 迁移 到了 MT 4.21 pro 平台,也算整个 Site 统一进了数据库时代:)

利用 Community Pack 1.6 搭建的  MT Forum 说起来实际上并不是完整的 Forum ,和真正的 Forum 对比起来,貌似少了很多功能,但是全静态化对小规模,小用户群的准 Forum 还是很有吸引力的。究竟它有完整的 注册用户发/回帖功能,满足自己的需求了:)

所有的原 Perl Forum (Base on LB_ES Lite) 用户全部转到 MT 的数据库,大家可以用 旧 ID,密码 登陆本站,这个ID不但可以在新建立的 Perl Forum 中发表帖子和回复评论,而且也可以在 包括本 Blog 在内的所有的文章/帖子发表评论

当然,转移也不是全部转移过来了。由于静态页面,貌似加密权限之类帖子无法体现,所以 "[ 测试私密区 ]"依然保留在旧的文本Perl BBS 程序之上,地址不变,原来的有权限的朋友也可以正常访问和发回帖子:)

收尾问题: 对原Perl Forum 里面的 帖子均做了重定向,最大可能的减少了因为地址改变带来的麻烦:) 新 Perl Forum 的地址为 http://easun.org/perl/forum ,欢迎大家访问。

--EOF--

Perl Forum User -> MT User, 密码问题原来很简单 ,

This is a SiteLog of Easun's WebBlog。

装了自带 Community Pack 1.6 的 Movable Type 4.21 Pro,也用 Community Pack 功能建立了测试的 MT Forum,初衷是想用这个MT Forum 取代 基于 LB5000 ES Lite 建立的本站半废弃状态的 Perl Forum
简单的作了测试,帖子的转移很简单,用Perl写个小玩意,导出成 MT 系统能认识的文本就足够了。而User的转移貌似出现的密码问题上了。
当初匆匆检测功能,没有细思量,总之, Perl Forum 采用的 MD5 加密密码,而 MT User 的密码则是采用随机数和原始密码用 Unix crypt function 来加密的。貌似转化起来很是有点问题。
好久没有看原代码了,今天晚上有点时间,看了看 MT 关于 Auth 的代码。发现其实很简单,在用户输入的时候多一重判断就是

[MT4 Template]Category Archives List ,

有朋友来Email问我的 Category Archives (按Category归档) 页面(比如这个页面)左边出现的 本分类的所有文章 |All Category Articles 是怎么样出来的。
因为这个问题貌似有好几个朋友问,所以在此共享下:)

MT4 开始,貌似 按Category归档 页面就只显示最近的若干文章而不是象MT3.x系列一样全部显示,其实是个节省资源的好办法,so 我把该Category的所有文章按照文章标题全部显示出来。
代码如下(注意只能在 Archive Templates 中 的 Blog Entry Listing 中用,不然希奇古怪的结果哦):

升级到Movable Type version 4.21 ,,

终于决定升级了。
简单覆盖了文件,模版没有做任何的修改(虽然4.21修改了不少模版细节,但是因为懒惰,没有刷新模版)。
启用的 PHP Includes 方式的 template module cache,希望速度能快一点(虽然没有感觉到):)

我用的是 英文版本,如果习惯中文的的可以去 平生一笑 那里下载 中文包,则可以实现完美中文化,感谢一笑!

废话几句: 貌似 MT.com 被 Ban 了? MT.org没有问题。
另外。近来貌似没有怎么关注自己的site,居然遭遇了一次域名过期事件。。同时受到影响的还有 easun.org 后缀的邮箱,也许 部分朋友 没有收到我的回信,应该就是这个问题。
实在抱歉 :D


另外: 装了 Yahoo! OpenID 登陆插件,拥有Yahoo! ID 的朋友可以登陆本Blog发表回复 :)

--EOF--

[SiteLog]系统全面升级到了 MT 4.01 ,

This is a SiteLog of Easun's WebBlog。
前段时间正式升级到了 MT4 ,最后又因为反复提示升级这个Bug 回归到了 MT 3.34。
当时可惜的是自己辛苦设计的 MT 4.0 模板。
十一期间,又重新把自己的 Blog 升级到了 MT4.01,究竟,无论是模板的强大和模块化,还是page功能,附件管理的吸引力都对我来说是个不可抗拒的诱惑:)
按照原来的思路重新设计了模板,而且恢复上次自己回归MT3.34由于失误丢失的部分评论:)
留言本功能也重新回来了。
值得一提的是,这次升级其实还是全新建立blog,然后导出旧数据再导入的办法来完成:)
评论发布认证开启后台所有的选项:MT(本Blog系统后台注册名),TypeKey,OpenID,LiveJournal,Vox,但是匿名评论功能也开放了,但是希望来访的朋友请尽量避免使用匿名方式,因为匿名发表,也许会需要后台认证才能显示,个中原因,不言自明,请谅解 :)
另外,看到 David Yin发表的这篇文章:

四个用MovableType的原因
推荐一读。

--EOF--

[SiteLog]MT4的Bug和回归到MT3.34 ,

This is a SiteLog of Easun's WebBlog。
曾经为 MT4 疯狂过,无论是模板的强大和模块化,还是page功能,附件管理都让人心动。然而,让我不得不选择回归到MT3.34的却是MT4另人恼火的一个Bug : 反复提示升级

我原来的系统是直接在 MT3.34 上升级到 MT 4.0 正式版本的,用的依然是 MT3.34 的 旧模板,进后台的时候老是提示数据库升级,倒也罢了,升级就升级了。似乎对功能和内容没有任何影响,除了“搜索模板”消失(无法编辑)外。

一直以为是升级数据库的原因,加上自己在测试的MT4系统(全新安装的MT4.0数据库)中并没有出现 “Time to Upgrade!” 问题,自己也准备启用新的 MT4 的模板,花了近一周的闲暇时间设计了新的模板和CSS,于周5晚上把旧数据库的文章导出,导入新的数据库,启用了这个新的数据库,想这样,应该彻底避免“Time to Upgrade!” 问题了吧:)

[SiteLog]删除了本地的测试MediaWiki

This is a SiteLog of Easun's WebBlog。
近来网站速度好象比较慢,升级 MT 4的哪天时候感觉操作简直就是蜗牛的爸爸。呵呵:)
顺便整理了一下MySQL数据库,发现了 PerlChina 测试Wiki还在,这个Wiki是当时为 PerlChinaWiki Site做 CSS 和界面中文化时候建立的,新的界面已经早在 PerlChina Wiki Site 应用了,这个Wiki也就没有存在的价值了,删除吧:)
说实在,有点想把这个Wiki保持下来的想法,改个名字,也算自娱自乐吧,但是内容不好处理,而且估计会拖慢 WebBlog 的速度(站点本来就不快);自己似乎也没有精力去搞了,删除吧。顺便把老地址用 301 定向到了 PerlChina wiki Site
说起来SiteLog,这几天其实在以 MT 4.0的默认模板为基础,重写整个 WebBlog 的 CSS,因为现在虽然升级了,但是沿用的是 3.34 的模板,一是不够模块化,二是部分新功能不能体现:)

--EOF--

广告这码事--本站广告和阿里妈妈

恩。算SiteLog,而是是迟写好几天的SiteLog。

相信好多朋友也看见了。Blog首页Site 主页最显眼的地方加上了一个广告条,来自最近风头最胜的阿里妈妈

阿里妈妈阿里巴巴旗下的新生力军,目标盯上了网络广告,模式参考 Taobao, 以C2C广告交易模式取代传统广告联盟模式,引入网络广告亦是商品的新理念,给广告主和网站一个可以直接对话的平台,依托支付宝强大而安全的平台,整合阿里集团强大的优势,以我这么多天的观察来看,无疑是成功的。

阿里妈妈才起步,目前客服和开发人员还没有完全分开,起了个好听的名字叫“葫芦娃”,借着良好的人脉,短短数天就作的像模像样,就连Yahoo的 车东也出山作了阿里妈妈社区网站建设区 斑竹。 葫芦娃们对问题反馈处理的特别及时,给人一种充满激情和活力的感觉:)

阿里妈妈 的广告计费分两种方式:按点击和按时长计费,阿里妈妈是C2C的,它让网站把广告位当作商品来出售,允许网站主自主对自己的广告位进行定价;广告主则根据自己的寻求来购买网站的广告位。阿里妈妈按照比例来收取佣金,目前比例是8%(时段)和15%(点击)。而且在网站主选择允许按点击计费而暂时广告位未售出的时候,该广告位为显示“Yahoo 推广”的广告,以防止广告位流量浪费,这个阿里妈妈也是按照15%比例来收取佣金。

我知道阿里妈妈 是从 Fenng 那里知道,第一时间注册了,发布了上面的广告位,大小为468x60,显示位置为 Blog首页Site 主页,定价为 25¥/周,也不知道能不能买出去,也算一种尝试吧:)

不过这两天的尝试,自己的的广告位置没有动静,倒是卖了两个别人的,一个按周,一个按照效果,内容是 WebBlog:路杨 的连接,不是为了其他,只是尝试和体验下整个交易的流程和效果。

--EOF--

[SiteLog]近期blog的一些变化和准备要做的

This is a SiteLog of Easun's WebBlog.
SiteLog,又见SiteLog,似乎我的 WebBlog 什么都缺,就是不缺 SiteLog,查看 Tag 页面, 以 SiteLog 为 Tag 的文章总计 30 个,和 Tag/MT 一样多,仅仅此于 Tag/Perl,而 Tag/Perl 好多都是lo...ong lo...ong ago前写的东西。看来我不务正业已多年,叹息。

最近 Blog 有什么变化呢? 最大的变化就是 Feed, Feed变成了全文输出,而且添加了"站内相关文章|Related Articles"的Feed输出,托管给了 Feedsky,同时添加了Feed展示广告。
作为托管的代价,我发现 Google Blog Search的数目由原来的 85 衰减到了一个低谷,究竟,托管后的Feed里面的连接不是直接指向 easun.org 的,这个也是意料之中的事情。
其次,就是模板和界面上的细微修改,比如 http://easun.org 这个页面,上面显示的不再是“WebBlog:路杨”而是 "Easun.org" 字样, Blog 的 description 也有了小的修改。。。下面的版权由“路杨工作室”变成了 "路杨 (Easun Lee)"等等。。。

[笔记]巧用Plugin管理模板导航条

This is a SiteLog of Easun's WebBlog.

其实就是说本站上面的无序行表导航条:)
但是有个 加重 的选择。根据不同页面加重的部分不一样,比如主页加重的就是 "Home" ,而 BookMarks 选种的就是 "Bookmarks";
我的 Blog 采用的模块化设计,整个头部都是一样的,原来的加重是用一段 JS 来实现的,但是自己觉得不太满意,既然是静态化设计,何不彻底静态化?既然后台是 MT ,那就 MT plugin实现吧。
分析了一下,最简单采用add_global_filter来过滤:)
我的顶部模块名字为 Blog:header 模块,原来加载的办法是 MT 的 MTinclude 办法,如下:

<$MTInclude module="Blog:header"$>

修改后的代码如下

<$MTInclude module="Blog:header" do_notice_id="top_blog_home"$>

添加的 global_filter 名字为 do_notice_id ,其中"top_blog_home" 是我导航菜单中需要加重的部分,可以根据不同页面来换成你加重的id。

[SiteLog]谁在占用我大量的带宽?

似乎 easun.org 站点越来越慢。。。
启用了 Fast-CGI 换来的结果不是速度的提升,而是经常的 500 error ,看来 DreamHost 的 Fast_CGI 还是不完善。 so 又换回了 normal-CGI 模式,虽然慢一点,至少不会莫名其妙的出现 500。 PS:幸好偶的 MT 还是静态HTML。。。

谁在占用我大量的带宽?今天查了一下 access.log ,结果大吃一惊: 原来我已经被 Cracker 和 Spamer 严重盯上了。

[SiteLog]界面调整为适宜1024x768分辨率观看

This is a SiteLog of Easun's WebBlog。
通过 Google Analytics 显示(见下图),来访者的 屏幕分辨率 大于等于 1024x768 的已经达到了 93% ,联系实际,现在的电脑显示器似乎最基本的就是支持 1024x768 吧?
我的WebBlog一直是按照 800X600 设计的,现在看来有的过期了,新的 MT4.0b 模板默认就是 1024x768的,看来我也要小修改一下了:)

   1   2   3   4