phpBB 版本:3.0.5

LifeType 版本:1.2.9

整合:從 phpBB 登入後,進入 LifeType 不需再登入。phpBB 的會員進入 LifeType 後,自動產生自己的 Blog

上次修訂時間:2009/10/23 9:00 pm
最後修訂時間:2009/10/23 11:26 pm (解決 LifeType 網站管理員問題)

Logout   的部分也寫好了。目前運作正常,唯一還需要處理的:

(1) phpBB3 的創站者身份似乎還無法直接對應成 LifeType 的網站最高管理者,只能是一般會員身份。這部份我處理好之後,會再發文讓大家知道

2009/10/23 11:30 pm 更新:這個問題已經解決。原來 LifeType 安裝時,已經把網站管理員的權限統統寫入資料庫中的 lt_users_permissions 這個 table. 我解決的方式,是先將這個 table 內容 export 成 sql 檔出來,然後複製所有 user_id = 1 (即網站管理員的 id) 的權限,統統改成 phpBB 創始者在 phpBB 上面的 user_id 號碼,再 import 回去 LifeType 資料庫的 lt_users_permissions Table 中。這樣,LifeType 除了原有自己的 user_id = 1 的管理員之外,還會額外多出一個新的網站管理員,其 user_id 號碼正是 phpBB 上面網站創始者的 user_id。

有了這個來自 phpBB 的 LifeType 網站管理員之後,以後若想新增其他人也有 LifeType 網站管理的權限,就可以直接從 LifeType 管理界面來賦予權限,不再需要從資料庫 Export 跟 Import 了。

(2) LifeType 的 cache 需關掉

這裡說明一下整個整合部分的運作流程:

0. LifeType 跟 phpBB3 都安裝在相同的 MySQL 資料庫。這樣可以避免將來兩者互相取用內容時,還得跨 database 抓取資料。

1. LifeType 部分:改用 phpBB3 的會員帳號與密碼資料庫 table

2. phpBB3 的部分:修改 phpBB3 安裝目錄/includes/session.php 檔 (處理 login 與 logout)

3. 隱藏 LifeType 自己的 Login 及 Logout 頁面,統統指向 phpBB 論壇的 Login 及 Logout 頁面:這部份請自己動手,我若有空,再把自己修改的結果放上來

所有程式修改檔,我已經壓縮成以下附件,有興趣者可以下載參考:

lt-and-phpbb3 zip 壓縮檔

lifetype_phpbb3_en English zip file

詳細的相關程式修改說明如下

(1-1) LifeType 安裝目錄/class/dao/userdata/ 底下,換掉 phpbb2userdataprovider.class.php

新的 phpbb2userdataprovider.class.php 附在附件中的 zip 檔案中

註:由於我不想更動太多 LifeType 的程式,所以仍以 phpbb2 命名,實際上已經改成與 phpbb3 溝通

(1-2) LifeType 安裝目錄/class/dao/userdata/ 底下,放入 phpbb3_hash_inc.php . 這組 functions 不是我寫的,而是老外寫的,我只是加以整理運用到這裡的整合環境。該程式片段的原始網址是

http://www.deltascripts.com/board/viewtopic.php?id=11831

(1-3) 修改 LifeType安裝目錄/config/userdata.properties.php , 改成從 phpBB3 抓取帳號跟密碼:

註:您的 phpbb 資料庫 prefix 如果不是 “phpbb_”,也請自行修改


// 檔案名稱:userdata.properties.php
/*
關掉原先 LifeType 自己的會員資料認證
$config = Array(
"provider" => "LifeTypeUserDataProvider",
);
*/
$config = Array(
"provider" => "PhpBB2UserDataProvider",
"createBlogIfNotExisting" =>  true,
"database" => "安裝 phpBB3 的資料庫名稱",
"user" => "phpBB3 MySQL 使用者名稱",
"password" => 'phpBB3 MySQL 密碼' ,
"prefix" => "phpbb_"
);

(1-4) 修改 LifeType安裝目錄/config/cache.properties.php,先關掉 cache

# $config["cache_method"] = “cache_lite”;
$config["cache_method"] = “null”;

(2) 到 phpBB3安裝目錄/includes/  ,放入 zip 檔內的 lifetype_inc.php 程式檔,並且依照該檔開頭的註解,修改同目錄底下的 session.php 程式。

這裡要注意的是,我自己是將 LifeType 安裝在網站根目錄底下的 blog 目錄,所以您必須更改 lifetype_inc.php 檔案中這一行,把 blog 改成您的 LifeType 安裝目錄名稱

define(‘PLOG_CLASS_PATH’,$_SERVER['DOCUMENT_ROOT'].”/blog/”)

———————————————————————–

上面這些程序都弄好後,請清掉 phpBB3 跟 LifeType 在您電腦所留下的 cookies,然後登入 phpBB3 論壇。登入後,另開一個 browser 頁面轉到 LifeType 網頁,看看是不是不需登入即可管理自己的 Blog