标签/Tag为[Hack]的文章

[MT Hack]修改模板来完成MT的AJAX提交评论 ,

曾经,本站在MT3时代,曾经写过以AJAX提交评论预览 的帖子。

那个也是通过修改模板+自写js实现,没有对MT的源代码进行任何修改,绿色无污染,不影响升级。

后来,通过自己摸索,也实现了 ajax 方式提交评论。但是一直都没有写出教程,今天有点时间。特意写出分享之。

具体效果见本站评论提交(预览和发表)。

言归正传,要实现 ajax 方式首先要定义一系列 js 函数。 由于 本站已经迁移到了 JQuery 平台,所以在改写 mt.js 需要先加入 JQ 支持,即加入:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

[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--

[MT4 Hack]针对MT4模板的HTML压缩修改 ,

升级到 MT 4,模板模块化了,但是大量的 SetVar 和 if 让生成的最终页面空行空格大量增多,让人看到实在不爽,小修改了代码,让 MT 程序在发布/重建页面的时候对最终代码进行空格/行的压缩。
办法如下,找到并打开 lib/MT/Template.pm文件,找到 sub build {...},在此函数下面添加以下 Perl 代码

sub easun_html_reduce
{
my ($tmpl ,$res)= @_;
$$res =~ s!\s*\n\s*!\n!isg;
$$res =~ s!(\r|\t|\f| )+! !isg;
return 1;
}

然后转到sub build {...}代码的最后一行
return $res;

在这个之前添加
$tmpl->easun_html_reduce(\$res);

到此完成Hack,保存后重建整个Blog吧:) 相信看见空格和空行明显减少了 :P

--EOF--

[SiteLog]简单修改模板实现 MT Ajax方式的"评论预览" ,,

本站的SiteLog,也算是对MT的一个小Hack吧:)

一直觉得 MT 的"评论预览" 不够人性化,这样的东西当然是用 Ajax 方式好一点。网上也有现成的修改成 Ajax 发表评论和进行评论预览的插件,但是简单了看了看,总觉得太烦琐,太复杂,不利于将来的升级和增加服务器的负荷(不是玩笑,本来Ajax方式是减少负荷的,但是根据某个老外的Hack教程做了后,负荷反而增加了 -_-bbb)。
既然 Ajax 没有什么太多的技术含量,而我自己又不是想写个标准,通用的Ajax函数库出来,那么为什么不仅仅自己动手改改模板而来个"轻量级"的 Ajax方式的"评论预览"呢(至于发表评论还是传统模式吧)?
关于 Ajax ,我以前写过一些东西,在这里 http://easun.org/blog/archives/3_50.html。这次修改模板就是以这个为基础的 :P

杀毒软件对Hack工具的识别 ,

最近机器老出问题,给硬盘装了“深山红叶PE系统”做备用和测试用。

装完用“瑞星2007”顺便扫描了一下,发现N个报警,仔细看了记录,原来都不是病毒,而是把“深山红叶“自己收集的一些网络工具和部分Hack工具都被杀掉了。

我的杀毒软件一般都是设置为“自动”模式的,所以全部被删除了,发个列表自己娱乐下,反正这些被清除的东西我也不用:)

[MT Hack]让MT的"导入/导出"功能包含tags

MT 的"导入/导出"功能居然不含 Tags ?
也许是因为 Tag 功能是 MT 系列后加的功能?
这个小的疏忽让重装 MT 的 YangKang 兄弟 吃了一个小亏

上次我在改写 MT 的"导入/导出"功能包含blog的静态命名的时候,就发现了这个问题,但是由于对 MT 系统的不太熟悉而且 MT::Tag 模块是个单独的模块而放弃了,而我的 MT 后台也让我折腾的乱78糟,到了快重新安装的地步了,所以鉴于自己的Perl还算熟悉,好好检查下代码,添加这个Hack吧,于人于己,都是方便。

[MT Hack]MT上传文件的改动

MT的上传文件实在是太罗嗦了。向导式的多重选择,倒让人眼花缭乱,为了方便使用,决定修改之。
修改目标如下:

1。让上传文件自动过滤掉原文件名字中中文等非ascii名字,并自动小写。
这个是为了方便访问而已,何况自己的服务器是对大小写敏感的,MT上传文件是不改变原始名字的,这个是好处也是坏处,现在就是保留其对字母,数字名字的不改名,和对非字母,数字名字自动改名。

2。简化输出,直接上传后就有显示HTML代码的选项。
因为估计大家一般都选择生成HTML代码吧? 顺手根据自己习惯删除了“弹出式代码”,都是“include代码”了。但是并没有删除“以上传的文件/图片建立一个新Blog”的选择,只是把它放在了第2位而已。

3。删除了图片的缩略图功能。
缩略图觉得功能不大,这个对Perl来讲,资源消耗还是比较可观的,故删除之,但是作为补充,添加了如果上传图片宽度大于530px,则生成的HTML代码为按比例缩小尺寸的带原尺寸连接的代码。

[MT Hack]让MT的"导入/导出"功能包含blog的静态命名

最近想把旧站的论坛数据导入到 MT 的 MySQL 中来,就顺便看看了 MT 的 "导入/导出"功能。
MT 的"导入/导出"功能相当完善,可以从其它 MT 或者其它 Blog 工具向 MT 中导入Blog文章,或者将创建备份。
简单分析了一下是纯文本,格式相当简单。

[LB整理]根据会员在线时间自动奖励会员金钱的小功能

说明:
1。根据 http://www.leohacks.com/cgi-bin/topic.cgi?forum=14&topic=552 整理。详细机制皆在这个帖子里面,可以回去看看。
2。原来是为每10分钟加多少论坛货币。整理时候为了大家方便变成每1分钟。。
3。后台添加设置。
4。如果用户在150s内重复登陆不计算在线时间。即不奖励。


[Hack]重归CGI.pm怀抱的LBCGI.pm

即LBCGI不再是CGI.pm的mini,而是继承于CGI.pm的模块。
目的 :
1。解决在部分主机上的兼容问题。
2。稳定性加强,尤其是在上传的时候。
3。资源问题在3台不同类型主机上测试,在FreeBSD下cpu时间提升了10ms左右,WIndows基本不变

相关信息 :
 http://www.leohacks.com/cgi-bin/topic.cgi?forum=3&topic=3420

成品 ://static.easunlee.cn/upload/early/_1118419837.rar

[原创+发布]会员精华集 For LeoBBSx(Fixed)

[原创+发布]会员精华集 For LeoBBSx / By 路杨

#############################################################
#
#        [原创+发布]会员精华集 V.1.0 for LeoBBSx
#        性质 : LeoBBSx插件
#        本插件用于显示该会员的所有精华帖子
#        程序作者:路杨(EasunLee) http://perl.easunstudio.com
#                                 http://www.leohacks.com
#        版权所有,欢迎转载。但 敬请保留版权+出处
#
#############################################################

[原创+整理]LeoBBSx多附件添加整理日志

草草整理一下思路,如果现在再不整理,估计就遥遥无期了。

第一:Hack思路。


1。本Hack彻底改变原LB的附件方式,所有的附件都在帖子里面以[ uploadfile=***]方式存在。
2。上传机制是在$usrfile目录下面建立tmp目录,在此目录下面以用户name分目录存临时上传的文件,可以限制每个人一次上传的个数。(目录程序自动处理)
3,在帖子提交时候,[b]选择插入[/b]的附件被处理。Copy到$usr/$foumid/XX目录下面,并且在帖子里面更新文件名字。
4。改革了附件都放在$usr/$foumid/根目录下面的习惯,在这个目录下面参考用户库再次分目录,使贴图区不在慢如蜗牛。(来自bbser老大的建议)
5。由于存储方式改变,所以和原来上传的旧格式完全兼容(牺牲了点速度)
6。全部转化中文,不建议出现中文目录和中文文件。
7。js实现插入。
8。没有插入帖子的存在与tmp目录下面的临时文件会在15分钟后自动删除。