标簽/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 .

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 ,我以前寫過一些東西,在這裡 ../archives/3_501.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分鐘後自動删除。