from: Discuz.net
http://www.discuz.net/thread-249700-1-1.html
本程序的功效
1. 本程序可以轉換 LB v20310 的用戶資料, 板塊(包括名稱, 介紹, 貼數, 回複數,
及版主等), 各板塊的貼子(包括標題, 內容, 作者, 回覆數, 瀏覽數等等).
*** 老版本 LB 附件可轉換,新版本 LeoBBS 附件不可轉換
2. 本程序不能,或者不轉換的內容包括:
LB 的
論壇分類訊息. (您可以轉換完後手工添加)
LB 的貼子瀏覽數
所有的貼子圖標 (因為不每個論壇設置不同, 無法識別)
投票貼內容及
投票
3. LB 中原有論壇, 不管打開還是關閉, 是否隱藏等, 都會被轉換為"公開"模式.
使用前請務必仔細閱讀下面的須知:
1. 請先使用 Discuz! 安裝程序, 將 Discuz! 論壇程序安裝到伺服器. 否則無法轉換.
2. 設置好下面的 LB 目錄屬性.
3. 本程序會覆蓋 Discuz! 資料庫中相關訊息.
4. 在下面的變數中設置好資料庫參數(主機, 用戶名, 密碼, 資料庫名)
5. 轉換過程中如果不出現
錯誤, 則會一直自動轉換直到完畢. 如果轉換成功, Discuz! 論壇即
可用原來的管理員帳號登錄管理論壇.
6. 使用完本程序請務必刪除, 否則可能被別人再次轉換, 覆蓋掉 Discuz! 論壇新貼.
轉換完以後請用下面的代碼來匹配 upload 標籤,否則有些附件無法顯示。
請在 ./include/discuzcode.func.
php 中找到
複製內容到剪貼簿
代碼:
for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
$message = str_replace("[\tDISCUZ_CODE_$i\t]", $discuzcodes['codehtml'][$i], $message);
}
在他上面加下面的代碼,其中的 $tid 是你主體的最大 id,可以通過執行下面的 sql 語句得到
SELECT MAX(tid)
FROM cdb_threads;得到。
複製內容到剪貼簿
代碼:
//LB 轉換數據後專用 $tid 是你主題的最大 id
global $fid,$tid;
if ($tid < 11253) {
$lbfilepath = './attachments/lbupfile/';
$message = preg_replace(array(
"/\[UploadFile=([^\[]+?)\.(gif|jpg|png|bmp|jpeg)\]/ies",
"/\[UploadFile=(.*)\]/ies"),
array(
"bbcodeurl('\\1', '<center><img src=\"".$lbfilepath.$fid."/\\1.\\2\" border=\"0\"
onload=\"if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt=\'Click here to open new
window\';}\" onmouseover=\"if(this.resized) this.style.cursor=\'hand\';\" onclick=\"if(this.resized) {window.open(\'%s\');}
\"></center><br>')",
"bbcodeurl('\\1', '【<a href=\"".$lbfilepath.$fid."/\\1\" target=\"_blank\"
style=\"color:#0000FF;font-weight:bold\">點擊下載文件</a>】')"),
$message);
}
unset($fid,$tid,$lbfilepath);
//LB 轉換數據後專用move.php 用來移動老版本的 leo 的附件, 請按照程序中的說明配置這個檔案. 然後和論壇程序放到一起執行就可以把附件移動過去, 這個程序多權限的要求比較高, 如果沒有權限的話, 很可能無法移動附件