phpBB
版本 2.0.22
LT
版本 1.2.4
在中文LT論壇上找到了
http://forum.lifetype.org.tw/index.php?topic=3779.0http://forum.lifetype.org.tw/index.php?topic=3696.0http://forum.lifetype.org.tw/index.php?topic=3518.0並沒有詳細的說明,甚至還看到了些抱怨等問題,實在想說一句
都已經不用錢了,你還抱怨啥,不然花錢去買咩!!
給中文LT上的各位前輩們加油
在找不到資源的情況下,於是我只好硬著頭皮上英文官網的wiki上去找
嘿!!找到一些可以用的東西
http://wiki.lifetype.net/index.php/User_data_providers我想我的英文造紙也沒強到那邊去,所以我就不班門弄斧的翻譯了
只記錄下我實做的過程及目前碰到尚未解決的問題
XD
open config/userdata.properties.php
find
#
# Default user data provider, LifeType's own one
#
$config = Array(
"provider" => "LifeTypeUserDataProvider",
);
#
# PHPBB2 user data provider
#
/*$config = Array(
"provider" => "PhpBB2UserDataProvider",
"createBlogIfNotExisting" => true,
"database" => "phpbb2",
"user" => "root",
"password" => "",
"prefix" => "phpbb_"
);*/
replace with
#
# Default user data provider, LifeType's own one
#
/*$config = Array(
"provider" => "LifeTypeUserDataProvider",
);
*/#
# PHPBB2 user data provider
#
$config = Array(
"provider" => "PhpBB2UserDataProvider",
"createBlogIfNotExisting" => true, <=這個設定是判斷要不要在建立帳號時也以使用者名稱自動產生一個部落格
"database" => "資料庫名稱",
"user" => "資料庫使用者名稱",
"password" => "資料庫使用者密碼",
"prefix" => "phpbb_" <=請依照你資料庫的設定修改之
);
然後再確認資料庫裡面有沒有 lt_phpbb2_users 這個欄位
如果沒有
可以在
http://wiki.lifetype.net/index.php/Phpbb2userdataprovider 找到
需要的東西
我順便把SQL碼也弄過來好了
CREATE TABLE lt_phpbb2_users (
id int(10) unsigned NOT NULL auto_increment,
phpbb_id int(10) unsigned NOT NULL default '0',
full_name varchar(255) NOT NULL default ,
about text,
properties text NOT NULL,
resource_picture_id int(10) NOT NULL default '0',
status int(10) NOT NULL default '0',
PRIMARY KEY (id),
UNIQUE KEY phpbb_id(phpbb_id)
) ENGINE=MyISAM
這個修改,應該是將LT本身的user資料欄位直接轉移至phpBB2上的user欄位
而產生出來的 lt_phpbb2_users 就是引用phpBB資料庫中的user欄的暫存區
基本上
我的整合算是完成,但是如果你的LT上已經有使用者,我就不建議這樣做
因為當使用者欄位轉移後,原來在 lt_users 裡的使用者就不能使用
關於這個問題,我並沒有在官網上找到解答,也請各位前輩如果知道該怎麼解決這個問題
就請po上來,我會再找時間把這份文件給整理一下
因為我是新建的LT站台,所以上述的問題對我來講不是問題
經過兩天多的實機測試下來,我發現將LT的使用者轉到phpBB上的好處
帳號可以使用中文,而且目前100多個帳號測試中並未發現問題
以上是我實做的部份,提供給大家參考
========================是的,我就是偉大的分隔線========================
接下來是我碰到的問題
在LT中文找不到相關的說明或文件,在英文官網討論區上找到5個類似的問題
基本上都與其他論壇或程式整合相關,但是也沒有解決的辦法
在這邊提出,希望請各位前輩解答,謝謝!!
問題如下圖
在summary.php中出現了
Fatal error: Call to a member function FetchRow() on a non-object in www/blog/class/dao/userdata/baseuserdataprovider.class.php on line 109
只有彙整這一頁出問題,其他的功能也都正常,包含註冊也都可以正常的使用
我去打開 baseuserdataprovider.class.php
將 109上下的幾段貼上來
// check if the user is the owner of any blog
$prefix = $this->getPrefix();
$owner = "SELECT * FROM {$prefix}blogs WHERE owner_id = ".$userid;
if( $status != BLOG_STATUS_ALL )
$owner .= " AND status = '".Db::qstr( $status )."'";
$result = $this->Execute( $owner );
while( $row = $result->FetchRow($result)) { <= Line 109
$usersBlogs[] = $blogs->mapRow( $row );
$ids[] = $row["id"];
}
$result->Close();
在英文官網上有看到類似的問題,我照著修改後出現了參數錯誤的訊息
所以英文官網上的說明應該也是錯的
感覺上好像是找不到 $result 這個值,這一段已經超出我的能力囉!!
麻煩各位前輩指導,謝謝!!