首先,我假設你已經克服 User Authentication 的問題。也就是把 pLog 的 user 認證改為其他的資料來源(如論壇或是其他 CMS 等)。
所以,如果你要產生一個 pLog 的 session,你可以參考 /plog/class/action/admin/adminloginaction.class.php 這一支程式:
// 產生一個新的 user 物件
$users = new Users();
// 取得 userInfo 物件 (透過正確的 username 與 password)
$userInfo = $users->getUserInfo( $userName, $userPassword );
// 取得使用者的 blog list
$userBlogs = $users->getUsersBlogs( $userInfo->getId(), BLOG_STATUS_ACTIVE );
// 用第一個 blog 來當作 blogID,並取得這個 blog ID 的 blogInfo
$blogInfo = end( $userBlogs );
// 取得 session
$session = HttpVars::getSession();
$sessionInfo = $session["SessionInfo"];
// 並且把資料寫入session
$sessionInfo->setValue( "userInfo", $userInfo );
$sessionInfo->setValue( "blogInfo", $blogInfo );
$session["SessionInfo"] = $sessionInfo;
HttpVars::setSession( $session );
我假設你會寫 php,所以應該 include 的檔案還是都要 include,這樣這一段程式才有辦法運作。
Mark