CPG 1.4x 請用整合精靈,可以不用改下面說的檔案。CPG 的整合技術可以在會員登入你的 CPG 相簿時同時也登入
你的論壇, 相反的任何在你論壇註冊的會員也相同是相簿的
註冊會員. 整合之後 CPG 相簿跟你的論壇就會用相同的會員
資料庫.
測試過的整合檔目前已整合完成的論壇有:
- phpBB2
- Invision Power Board
- vBulletin
- YaBB SE
- Woltlab Burning Board 2.1
- SMF
- PunBB 1.1.5
整合檔可以到官方的下載頁下載:
http://sourceforge.net/project/showfiles.php?group_id=89658&package_id=98542但請注意有些整合並不完成, 像 SMF 論壇目前有登入/登出的cookie問題. 想了解
整合進度可以到官方的論壇搜尋相關討論.
檢查步驟登入的資料是用論壇的 cookie 來儲存, 所以論壇的 cookie 必須能讓 CPG 找的到才行.
為了讓整合能夠順利, 請安裝 CPG 跟論壇在相同的網域內. 例如:
允許:論壇:
http://yourdomain.com/board/CPG:
http://yourdomain.com/gallery/不允許:論壇:
http://board.yourdomain.com/CPG:
http://gallery.yourdomain.com/請注意論壇的 cookie 名稱不能跟 CGP 的 cookie 名稱相同.
先安裝獨立的程式版本為了避免不必要的錯誤, 請先將 CPG 跟論壇獨立安裝好. 確定在還沒整合前沒有
問題. 最好先測試全部的功能以免整合後不知道問題出在哪.
CPG 的會員, 群組, 和照片將會遺失如果你已經有會員或任何自建的群組, 在整合後將會全不遺失. 任何會員
上傳的照片也會全部被刪除.
備份建議你最好在整合前先備份你的 CPG 和論壇資料庫. 當然最好是養成
時常備份的習慣啦.
使用相同的資料庫你的 CPG 和論壇必須使用相同的資料庫, 但是不要使用相同的資料表.
整合步驟檢查你的論壇設定在安裝好你的論壇時, 請先檢查論壇內的設定:
- 如果你用的是 phpBB 2, 到管理控制裡面檢查你的 cookie 網域是否與你的網域相同,
cookie 名稱是否 "phpbb2mysql", 最後 cookie 位址是 "/". - 如果你用的是 IPB (Invision Power Board), 到管理控制/版面設定/cookies 然後確定全部的
欄位都是空白. - 如果你用的是 vBulletin, 一樣到管理/vBulletin設定/HTTP Header and output 然後檢查 cookie 網域
是否跟你的網域相同, 和 cookie 儲存位只是 "/".
編輯整合檔到 CPG 裡面的 bridge 檔案夾, 打開你要整合的論壇檔案 (例如 phpbb.inc.php 如果你用的是 phpBB).
在檔案裡面有一些設定必須先改變. 如果你用的是 phpBB 論壇, 範例是:
// database configuration
define('PHPBB_DB_NAME','phpBB'); // 論壇的資料庫
define('PHPBB_BD_HOST','localhost'); // 資料庫的主機名稱
define('PHPBB_DB_USERNAME','root'); // 資料庫的用戶名稱
define('PHPBB_DB_PASSWORD',''); // 資料庫的用戶密碼
// phpBB 的網址
// 如果論壇的網址是 'http://yoursite_name.com/phpBB2/',
// 下面請輸入 '/phpBB2/'.
define('PHPBB_WEB_PATH', '/phpBB2/');
// Logout Flag
// the value of this boolean constant depends on your phpBB version:
// 如果你的 phpBB 版本是低於 2.0.4 - 請輸入 FALSE;
// 如果你的 phpBB 版本是高於 2.0.5 - 請輸入 TRUE
define('PHPBB_LOGOUT_GET', TRUE);
上面的修改完成之後請儲存檔案.
開始整合打開 include/init.inc.php, 然後編輯下面的資料:
// User database integration
// Uncomment the applicable line if you want to use it
// define('UDB_INTEGRATION', 'phpbb');
// define('UDB_INTEGRATION', 'invisionboard');
// define('UDB_INTEGRATION', 'vbulletin23');
// define('UDB_INTEGRATION', 'vbulletin30');
// define('UDB_INTEGRATION', 'yabbse');
// define('UDB_INTEGRATION', 'smf');
// define('UDB_INTEGRATION', 'woltlab21');
// define('UDB_INTEGRATION', 'punbb');
然後移除你論壇的注解 (將前面的 "//" 刪除).
特殊論壇步驟注意如果你用的是 phpBB 或 PunBB, 你必須進行額外的步驟.
對 phpBB建立一個新的檔案 cpg_redir.php 在你的 phpBB 根目錄內, 然後貼上下面的程式碼:
<?php
if (!$_SERVER['HTTP_HOST']) {
$cpg_host=$HTTP_SERVER_VARS['HTTP_HOST'];
} else {
$cpg_host=$_SERVER['HTTP_HOST'];
}
$cpg_path='/gallery';
header("Location: http://".$cpg_host.$cpg_path);
exit;
?>
儲存檔案前請先更改下面的資料:
- $cpg_path - 你安裝 CPG 的位址.
- $cpg_host - 如果 CPG 跟你的論壇主機相同, 你可以不用更改預設值. 如果不同請輸入正確的網址 (例如 'www.my-other-domain.com').
- 請檢查你是否正確的使用 "/". 也就是說網址必須是 www.my-other-domain.com/my_gallery_dir.
對 PunBB建立一個新的檔案 redir.php 在你的 PunBB 根目錄內, 然後貼上下面的程式碼:
<?php
/// Set URL of coppermine to return to after login
$cpg_url = 'http://www.yousite.com/coppermine';
if (isset($_POST['redir'])){
echo '<html>
<body onload="document.redir.submit();">
<form name="redir" method="post" action="'.$_POST['redir'].'">
</form>
</body>
</html>';
} else {
header("Location: $cpg_url");
}
?>
儲存檔案前請先更改下面的資料:
檔案上傳將全部編輯過的檔案上傳到你的主機內 (bridge 檔案夾裡面的論壇檔案, include/init.inc.php, 還有
你建立的特殊論壇檔案). 然後登入到 CPG 的管理裡面.
同步會員群組登入你的論壇, 然後到 CPG 的管理, 點 '群組'. 這個步驟會同步 CPG 跟論壇的會員群組.
群組權限可能會有點亂, 請花點時間重整.
當你每次新建群組時你必須進行上面的步驟來將群組同步.
以後你要登入/登出時, CPG 會將你轉到論壇的登入/登出頁面. 登入/登出完成之後
你不會被轉址到 CPG, 你必須在論壇的首頁內加上 CPG 的連結, 或直接輸入 CPG 的網址.
來源: http://coppermine.sourceforge.net/manual.php#integrating