AL8 Forum
»
Discuz 2.5 插件發佈
» Discuz 2.5 繁體版的補丁
‹‹ 上一主題
|
下一主題 ››
標題: Discuz 2.5 繁體版的補丁
打印
|
推薦
|
訂閱
|
收藏
火炎
0004017
頭銜: King
帖子: 908
精華: 0
積分: 18500 點
現金: 275 元
存款: 10791 元
閱讀權限: 30
註冊: 2004-7-9
狀態: 離線
#1
大
中
小
發表於 2005-1-7 10:17
資料
個人空間
短消息
加為好友
[補丁]PHP代碼去頭尾空行
原文:
http://www.freediscuz.net/bbs/viewthread.php?tid=27929
問題表現:在使用 PHP 代碼時,頭尾加了一行空格
修正前演示:
http://www.alan888.com/Discuz25/viewthread.php?tid=31
修正後演示:
http://fz.freediscuz.net/viewthread.php?tid=11
解決辦法:
打開 include\discuzcode.php 文件
找:
[Copy to clipboard]
[
-
]
CODE:
$buffer = str_replace(""", "\"", $buffer);
在下面加一句:
[Copy to clipboard]
[
-
]
CODE:
$buffer = str_replace("\n", "", $buffer);
AL8 Forum © All rights reserved.
alan888
0000001
頭銜: Administrator
自述: skywalker
帖子: 21714
精華:
195
積分: 556325 點
現金: 78355940 元
存款: 144392954 元
閱讀權限: 120
註冊: 2003-11-13
來自: Hong Kong
狀態: 離線
#2
大
中
小
發表於 2005-1-8 01:24
資料
個人空間
主頁
短消息
加為好友
【補丁】PHP5.X 環境下無法發短消息
QUOTE:
From: alan888
此問題已在 sp1 版本作出修正
簡要描述:PHP5.X 環境下無法發短消息
論壇身份:所有用戶
訪問頁面:pm.php
問題提出:91bbt
問題解決:PK0909
轉載自: http://bbs.freediscuz.net/bbs/viewthread.php?tid=28060
pm.php 約第 156--159行
查找:
[Copy to clipboard]
[
-
]
CODE:
$msgtoid = 0;
改成
[Copy to clipboard]
[
-
]
CODE:
$msgtoid = array();
查找:
[Copy to clipboard]
[
-
]
CODE:
$msgtoid = $member['uid'];
改成
[Copy to clipboard]
[
-
]
CODE:
$msgtoid[] = $member['uid'];
查找:
[Copy to clipboard]
[
-
]
CODE:
$msgto = array_merge($msgtoid, $msgtobuddys);
改成
[Copy to clipboard]
[
-
]
CODE:
if (is_array($msgtobuddys) && count($msgtobuddys)){
$msgto = array_merge($msgtoid, $msgtobuddys);
}else{
$msgto = $msgtoid;
}
AL8 Forum © All rights reserved.
火炎
0004017
頭銜: King
帖子: 908
精華: 0
積分: 18500 點
現金: 275 元
存款: 10791 元
閱讀權限: 30
註冊: 2004-7-9
狀態: 離線
#3
大
中
小
發表於 2005-1-11 12:12
資料
個人空間
短消息
加為好友
[補丁]後台編輯使用者時注冊時間與前台察看使用者資料的注冊時間不同
打開 admin/members.php 文件
找:
[Copy to clipboard]
[
-
]
CODE:
$member['regdate'] = gmdate('Y-n-j', $member['regdate']);
改為:
[Copy to clipboard]
[
-
]
CODE:
$member['regdate'] = gmdate('Y-n-j', $member['regdate'] + ($timeoffset * 3600));
AL8 Forum © All rights reserved.
alan888
0000001
頭銜: Administrator
自述: skywalker
帖子: 21714
精華:
195
積分: 556325 點
現金: 78355940 元
存款: 144392954 元
閱讀權限: 120
註冊: 2003-11-13
來自: Hong Kong
狀態: 離線
#4
大
中
小
發表於 2005-1-12 11:34
資料
個人空間
主頁
短消息
加為好友
【補丁】個別論壇無法正常上傳附件的測試解決方案
QUOTE:
From: alan888
此問題已在 sp1 版本作出修正
轉載自:
http://bbs.freediscuz.net/bbs/viewthread.php?tid=28604&fpage=1
簡要描述:無法上傳附件,但是又沒有任何錯誤提示
論壇身份:所有用戶
訪問頁面:post.php
問題解決:cnteacher
故障原因:
由於個別特定 WIN+IIS+PHP_ISAPI 平臺上的 BUG, 可能會造成上傳時顯示正常,但實際並無檔真正上傳
解決方案:(測試中,如果發現有新的問題,請發貼尋求進一步幫助)
修改 include/post.php 文件。
查找:
[Copy to clipboard]
[
-
]
CODE:
(function_exists('is_uploaded_file') && !is_uploaded_file($attach)) ||
將此句刪除即可。
如果您的論壇工作正常,無需進行此項修改。
AL8 Forum © All rights reserved.
alan888
0000001
頭銜: Administrator
自述: skywalker
帖子: 21714
精華:
195
積分: 556325 點
現金: 78355940 元
存款: 144392954 元
閱讀權限: 120
註冊: 2003-11-13
來自: Hong Kong
狀態: 離線
#5
大
中
小
發表於 2005-1-12 11:34
資料
個人空間
主頁
短消息
加為好友
【補丁】顯示帖子時,無法正常使用“上一主題”、”下一主題“
QUOTE:
From: alan888
此問題已在 sp1 版本作出修正
轉載自:
http://bbs.freediscuz.net/bbs/vi ... d=28606&fpage=1
簡要描述:顯示帖子時,無法正常使用“上一主題”、”下一主題“
論壇身份:所有用戶
訪問頁面:viewthread.php
問題解決:cnteacher
請使用附件中的程式覆蓋原來的
附件:
您所在的用戶組無法下載或查看附件
AL8 Forum © All rights reserved.
alan888
0000001
頭銜: Administrator
自述: skywalker
帖子: 21714
精華:
195
積分: 556325 點
現金: 78355940 元
存款: 144392954 元
閱讀權限: 120
註冊: 2003-11-13
來自: Hong Kong
狀態: 離線
#6
大
中
小
發表於 2005-1-16 05:31
資料
個人空間
主頁
短消息
加為好友
【補丁】解決從 2.2 升級後圖標分成兩行的問題
解決方案: alan888
修改 include/newthread.php 及 include/editpost.php 兩個文件
找
[Copy to clipboard]
[
-
]
CODE:
$icons .= !(++$key % 9) ? '<br>' : NULL;
更換為
[Copy to clipboard]
[
-
]
CODE:
$icons .= !(++$key % 10) ? '<br>' : NULL;
新安裝 2.5F 及沒有這問題的不用修改
附件:
您所在的用戶組無法下載或查看附件
AL8 Forum © All rights reserved.
jackywu
0012328
頭銜: Conqueror
帖子: 248
精華: 0
積分: 4390 點
現金: 1877 元
存款: 649 元
閱讀權限: 20
註冊: 2004-11-29
狀態: 離線
#7
大
中
小
發表於 2005-1-20 10:11
資料
個人空間
短消息
加為好友
【補丁】forumdisplay頁面,點擊論壇公告作者出現[指定用戶不存在或已被刪除,請返回?
QUOTE:
From: alan888
此問題已在 sp1 版本作出修正
原貼
http://www.freediscuz.net/bbs/viewthread.php?tid=24075&page=1
修改模版forumdisplay.htm
找到
[Copy to clipboard]
[
-
]
CODE:
viewpro.php?uid=$announcement[authorid]">$announcement[author]
改成
[Copy to clipboard]
[
-
]
CODE:
viewpro.php?username=$announcement[author]">$announcement[author]
[此帖最後由 Poka 在 2005-7-27 於 13:32 修改]
AL8 Forum © All rights reserved.
Poka
0000379
頭銜: Administrator
帖子: 6071
精華:
6
積分: 36635 點
現金: 4816 元
存款: 1302230 元
閱讀權限: 120
註冊: 2003-11-30
狀態: 離線
#8
大
中
小
發表於 2005-2-24 13:58
資料
個人空間
短消息
加為好友
Discuz 2.5 繁體版的補丁
修正: poka
技術支援: http://www.alan888.com/Discuz/index.php
也不知這個官方版本是誰翻譯成繁體版, 由於強行用翻譯軟件轉碼, 做成下例的錯誤, 當加入插件如涉及修改 include/discuzcode.php 時, 如非用記事本修改的, 便會出現錯誤, 同時亦失去 clear_bbcode 的定義
問題如下
include/discuzcode.php
在簡體版中原始碼是
[Copy to clipboard]
[
-
]
CODE:
function clear_bbcode($code){
$rep = array('[', ']', ':', '(', ')');
for ($x = 0; $x < count($rep); $x++) {
$code = str_replace($rep[$x], '&#'.ord($rep[$x]).';', $code);
}
return $code;
}
翻譯成繁體版後變成
[Copy to clipboard]
[
-
]
CODE:
function clear_bbcode($code){
$rep = array('[', ']', ':', '(', ')');
for ($x = 0; $x < count($rep); $x++) {
$code = str_replace($rep[$x], '? ? ? 瞬?J?J', $code);
}
return $code;
}
修改辦法,
找
[Copy to clipboard]
[
-
]
CODE:
$code = str_replace($rep[$x], '? ? ? 瞬?J?J', $code);
更換為
[Copy to clipboard]
[
-
]
CODE:
$code = str_replace($rep[$x], '&#'.ord($rep[$x]).';', $code);
引起出現問題的舉例:
1. 貼子買賣 for 2.5F
http://www.alan888.com/Discuz/viewthread.php?tid=20905
2. 寫網址貼圖 for 2.5
http://www.alan888.com/Discuz/viewthread.php?tid=18344
AL8 Forum © All rights reserved.
火炎
0004017
頭銜: King
帖子: 908
精華: 0
積分: 18500 點
現金: 275 元
存款: 10791 元
閱讀權限: 30
註冊: 2004-7-9
狀態: 離線
#9
大
中
小
發表於 2005-3-12 01:00
資料
個人空間
短消息
加為好友
版主進行主題分割,出現錯誤!
現象:版主進行主題分割,出現錯誤!
解決:使用下面的附件替換 topicadmin.php 文件。
手工修改:編輯topicadmin.php
搜尋:
[Copy to clipboard]
[
-
]
CODE:
if(!submitcheck('splitsubmit')) {
require_once DISCUZ_ROOT.'./include/discuzcode.php';
修改為:
[Copy to clipboard]
[
-
]
CODE:
require_once DISCUZ_ROOT.'./include/discuzcode.php';
if(!submitcheck('splitsubmit')) {
附件:
您所在的用戶組無法下載或查看附件
AL8 Forum © All rights reserved.
alan888
0000001
頭銜: Administrator
自述: skywalker
帖子: 21714
精華:
195
積分: 556325 點
現金: 78355940 元
存款: 144392954 元
閱讀權限: 120
註冊: 2003-11-13
來自: Hong Kong
狀態: 離線
#10
大
中
小
發表於 2005-3-14 02:13
資料
個人空間
主頁
短消息
加為好友
Discuz 2.5 SP1 Bugs Fixed By AndyGod
# 原始 FIX 作者:AndyGod
# 1. \include\editpost.php
找
[Copy to clipboard]
[
-
]
CODE:
if($previewpost) {
$postinfo['message'] = $message;
}
更換為
[Copy to clipboard]
[
-
]
CODE:
if($previewpost) {
$postinfo['subject'] = $subject;
$threadinfo['description'] = $description; # for description HACK
$postinfo['message'] = $message;
}
# 2. \include\global.php
找
[Copy to clipboard]
[
-
]
CODE:
global $db, $sessionexists, $sessionupdated, $sid, $onlineip, $discuz_uid, $discuz_user, $timestamp, $groupid, $styleid, $invisible, $discuz_action, $fid, $tid, $onlinehold, $logincredits, $table_sessions, $table_members, $user_lastactivity, $onlinehold;
# fix del 多了的 , $onlinehold, 因有 2 個 $onlinehold
刪去其中一個
(注意連 "," 號)
[Copy to clipboard]
[
-
]
CODE:
, $onlinehold
# 3. \memcp.php
找
[Copy to clipboard]
[
-
]
CODE:
$toselect = array(strval((float)$member['timeoffset']) => 'selected="selected"');
# 下行加入
[Copy to clipboard]
[
-
]
CODE:
$currtime = gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600);
# 4. \memcp.php
找
[Copy to clipboard]
[
-
]
CODE:
if($newpassword) {
# 改為 (不 fix 會員使用 0 當密碼時會出現問題)
[Copy to clipboard]
[
-
]
CODE:
if(strlen($newpassword) > 0) {
# 5. \memcp.php
找
[Copy to clipboard]
[
-
]
CODE:
$yahoonew = dhtmlspecialchars($yahoonew);
# 改為
[Copy to clipboard]
[
-
]
CODE:
$yahoonew = isemail($yahoonew)? $yahoonew : '';
# 6. \register.php
找
[Copy to clipboard]
[
-
]
CODE:
$dateformatorig = $dateformat;
# 下行加入
[Copy to clipboard]
[
-
]
CODE:
$currtime = gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600);
# 7. \search.php
找
[Copy to clipboard]
[
-
]
CODE:
$srchtxt = trim($srchtxt);
fix 改為 (不 fix 會找不到含有一些中文字, 如 '功' 字)
[Copy to clipboard]
[
-
]
CODE:
$srchtxt = addslashes(trim($srchtxt));
# 再找
[Copy to clipboard]
[
-
]
CODE:
if(!$srchtxt && !$srchuid && !$srchuname && !$srchfrom) {
# 上行加入 (不用說大家知有什麼用吧, 對主機有好處就是)
[Copy to clipboard]
[
-
]
CODE:
if (strlen($srchtxt) < 3 && $srchtxt != ''){
showmessage('對不起,關鍵字必需多於 2 個中文或 3 個英文,請返回。');
}
# 8. \topicadmin.php
# 在
[Copy to clipboard]
[
-
]
CODE:
$thread[lastposter] = addslashes($thread['lastposter']);
# 上行加入
[Copy to clipboard]
[
-
]
CODE:
$thread[subject] = addslashes($thread['subject']);
AL8 Forum © All rights reserved.
AndyGod
0009376
頭銜: Discuz Team
帖子: 32
精華: 0
積分: 1256 點
現金: 691 元
存款: 1667 元
閱讀權限: 70
註冊: 2004-10-8
狀態: 離線
#11
大
中
小
發表於 2005-3-19 15:56
資料
個人空間
短消息
加為好友
【原創】[BUG] 驗證 Email BUG FIX
# BUG FIX:AndyGod
當每次有新會員做 驗證 Email 動作時...
會把所有會員的 identifying UPDATE :L
member.php
# 找
[Copy to clipboard]
[
-
]
CODE:
$db->query("UPDATE $table_members SET identifying='$timestamp\t2\t$idstring');
改為
[Copy to clipboard]
[
-
]
CODE:
$db->query("UPDATE $table_members SET identifying='$timestamp\t2\t$idstring' WHERE uid='$discuz_uid' AND adminid='0' AND groupid='8'");
UNetBoard Official site
AL8 Forum © All rights reserved.
alan888
0000001
頭銜: Administrator
自述: skywalker
帖子: 21714
精華:
195
積分: 556325 點
現金: 78355940 元
存款: 144392954 元
閱讀權限: 120
註冊: 2003-11-13
來自: Hong Kong
狀態: 離線
#12
大
中
小
發表於 2005-5-31 02:20
資料
個人空間
主頁
短消息
加為好友
Discuz 2.5 及 sp1 自定義頭像補丁
修正者:童虎
適用版本:Discuz! 2.5F 及 SP1
修正了自定義頭像出現漏洞
修改 memcp.php
找到
[Copy to clipboard]
[
-
]
CODE:
$db->query("UPDATE $table_members SET avatar='$avatarnew', avatarwidth='$avatarwidthnew', avatarheight='$avatarheightnew' WHERE uid='$discuz_uid'");
改成
[Copy to clipboard]
[
-
]
CODE:
$db->query("UPDATE $table_members SET avatar='".dhtmlspecialchars($avatarnew)."', avatarwidth='$avatarwidthnew', avatarheight='$avatarheightnew' WHERE uid='$discuz_uid'");
AL8 Forum © All rights reserved.
Poka
0000379
頭銜: Administrator
帖子: 6071
精華:
6
積分: 36635 點
現金: 4816 元
存款: 1302230 元
閱讀權限: 120
註冊: 2003-11-30
狀態: 離線
#13
大
中
小
發表於 2005-7-20 17:12
資料
個人空間
短消息
加為好友
Discuz! 2.5 SP1 0401以後bug修正(17/07)
轉載自:
http://www.freediscuz.net/dev/viewthread.php?tid=1179
2005-3-15 by funcn
帖子作者線上狀態隱身顯示線上
打開viewthread.php
找到:
[Copy to clipboard]
[
-
]
CODE:
, m.regdate
後面添加:
[Copy to clipboard]
[
-
]
CODE:
, m.invisible
打開 範本/viewthread.htm
找到:
[Copy to clipboard]
[
-
]
CODE:
<!--{if $timestamp - $post['lastactivity'] <= 10800}-->
改為:
[Copy to clipboard]
[
-
]
CODE:
<!--{if $timestamp - $post['lastactivity'] <= 10800 && !$post['invisible']}-->
2005-4-14 by milo
attachment.php 筆誤:
打開attachment.php
找到:
[Copy to clipboard]
[
-
]
CODE:
if ($attachsoftdownload && $checkid != substr(md5($attach['filesize']),0,5)){
showimgmessage('attachment_referer_invalid');
};
改為:
[Copy to clipboard]
[
-
]
CODE:
if ($attachsoftdownload && $checkid != substr(md5($attach['filesize']),0,5)){
showimgmessage('attachment_referer_invalid');
}
2005-5-27 by 童虎
自定義頭像出現安全漏洞
打開找到memcp.php
找到:
[Copy to clipboard]
[
-
]
CODE:
$db->query("UPDATE $table_members SET avatar='$avatarnew', avatarwidth='$avatarwidthnew', avatarheight='$avatarheightnew' WHERE uid='$discuz_uid'");
改為:
[Copy to clipboard]
[
-
]
CODE:
$db->query("UPDATE $table_members SET avatar='".dhtmlspecialchars($avatarnew)."', avatarwidth='$avatarwidthnew', avatarheight='$avatarheightnew' WHERE uid='$discuz_uid'");
2005-6-4 by cnteacher
安裝論壇密碼含特殊字元導致提示密碼不正確
打開install.php:
找到:
[Copy to clipboard]
[
-
]
CODE:
$configfile = preg_replace("/[$]dbpw\s*\=\s*[\"'].*?[\"']/is", "\$dbpw = '$dbpw'", $configfile);
改為:
[Copy to clipboard]
[
-
]
CODE:
$configfile = preg_replace("/[$]dbpw\s*\=\s*[\"'].*?[\"']/is", "\$dbpw = '".preg_quote ($dbpw, "/")."'", $configfile);
2005-6-10 by cnteacher
論壇板塊提前顯示公告問題
打開include/cache.php
找到:
[Copy to clipboard]
[
-
]
CODE:
$cols = " id, author, posturl, subject,starttime";
改為:
[Copy to clipboard]
[
-
]
CODE:
$cols = " id, author, posturl, subject,starttime, endtime";
更新緩存
打開forumdisplay.php
找到:(注意,8個空格是一個製表符)
[Copy to clipboard]
[
-
]
CODE:
foreach($_DCACHE['announcements_forum'] as $ann) {
$ann['authorencode'] = rawurlencode($ann['author']);
$ann['starttime'] = gmdate("$dateformat $timeformat", $ann['starttime'] + ($timeoffset * 3600));
$announcement_list[] = $ann ;
}
改為:
[Copy to clipboard]
[
-
]
CODE:
foreach($_DCACHE['announcements_forum'] as $ann) {
if($timestamp >= $ann['starttime'] && ($timestamp <= $ann['endtime'] || !$ann['endtime'])) {
$ann['authorencode'] = rawurlencode($ann['author']);
$ann['starttime'] = gmdate("$dateformat $timeformat", $ann['starttime'] + ($timeoffset * 3600));
$announcement_list[] = $ann ;
}
}
2005-6-15 by cnteacher
後臺設置管理模組受用戶組限制問題
打開admin/groups.php
找到:
[Copy to clipboard]
[
-
]
CODE:
admingid=$group[admingid]
改為:
[Copy to clipboard]
[
-
]
CODE:
agid=$group[admingid]
找到:
[Copy to clipboard]
[
-
]
CODE:
admingid='$admingid'
改為:
[Copy to clipboard]
[
-
]
CODE:
admingid='$agid'
2005-6-17 by Eiffel
非法利用“引用”
打開 範本/viewthread.htm
找到:
[Copy to clipboard]
[
-
]
CODE:
<!--{if !$thread['closed'] || $ismoderator}--> <a href="post.php?action=reply&fid=$fid&tid=$tid&repquote=$post[pid]"><img src="{IMGDIR}/quote.gif" border="0" alt="{lang reply_quote}"></a><!--{/if}-->
改為:
[Copy to clipboard]
[
-
]
CODE:
<!--{if (!$thread['closed'] || $ismoderator) && $allowpostreply}--> <a href="post.php?action=reply&fid=$fid&tid=$tid&repquote=$post[pid]"><img src="{IMGDIR}/quote.gif" border="0" alt="{lang reply_quote}"></a><!--{/if}-->
AL8 Forum © All rights reserved.
alan888
0000001
頭銜: Administrator
自述: skywalker
帖子: 21714
精華:
195
積分: 556325 點
現金: 78355940 元
存款: 144392954 元
閱讀權限: 120
註冊: 2003-11-13
來自: Hong Kong
狀態: 離線
#14
大
中
小
發表於 2005-11-27 05:03
資料
個人空間
主頁
短消息
加為好友
Discuz 2.5sp1 安全修正[20051123]
j轉載自:
http://www.freediscuz.net/dev/viewthread.php?tid=8276
防止匿名用戶發送垃圾郵件.
修改文件 misc.php
查找:
[Copy to clipboard]
[
-
]
CODE:
} elseif($action == 'emailfriend') {
後面添加代碼
[Copy to clipboard]
[
-
]
CODE:
if(!$discuz_user) {
showmessage('group_nopermission', NULL, 'HALTED');
}
感謝會員 oflyhigh 指出漏洞。