[譯文]如何將phpbb整合進PHPNuke中

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
linux_achi
星球普通子民
星球普通子民
文章: 1
註冊時間: 2004-05-13 11:34
聯繫:

[譯文]如何將phpbb整合進PHPNuke中

文章 linux_achi »

針對PHPNuke 7.2 及phpBB 2.0.8a新安裝的實作
如果在已安裝phpNuke的情況下設定,請稍後在敝人網站瀏覽謝謝!


正常地安裝PHPNuke .

將phpNuke下面的資料庫作變動:



當你第一次安裝phpNuke 的時候,他會建立下列的資料表名稱格式如下:

<prefix>_bbXXXXX

而phpBB 使用的資料表名稱格式如下:

<prefix>bb_XXXXX

所以當你第一次安裝phpNuke時,你需要刪除所有的<prefix>_bbXXXXX這種格式名稱的資料表. 下面列出這些資料表:

<prefix>_bbauth_access
<prefix>_bbbanlist
<prefix>_bbcategories
<prefix>_bbconfig
<prefix>_bbdisallow
<prefix>_bbfavorites ==>phpNuke 7.2已無此資料表\r
<prefix>_bbforum_prune
<prefix>_bbforums
<prefix>_bbgroups
<prefix>_bbposts
<prefix>_bbposts_text
<prefix>_bbprivmsgs
<prefix>_bbprivmsgs_text
<prefix>_bbranks
<prefix>_bbsearch_results
<prefix>_bbsearch_wordlist
<prefix>_bbsearch_wordmatch
<prefix>_bbsessions
<prefix>_bbsmilies
<prefix>_bbthemes
<prefix>_bbthemes_name
<prefix>_bbtopics
<prefix>_bbtopics_watch
<prefix>_bbuser_group
<prefix>_bbvote_desc
<prefix>_bbvote_results
<prefix>_bbvote_voters
<prefix>_bbwords


你可能會有多於或少於上述的 資料表,端賴你所用的PHPNuke的版本.

處理下列的<prefix>_users的 資料表\r



將user_regdate的欄位型態從varchar(20) 改成int(11).

將user_id 的欄位型態從int(11) 改成mediumint(8) 並且移除autoincrement 屬性.

將Anonymous 使用者的user_id 欄位值設為-1.


這一個是最後在phpNuke的資料庫所做的變動.

在安裝PHPNuke前編輯下列的檔案.

在Your_Account/index.php檔案中所做的修改.


#
#-----[ OPEN ]-----------------------------------
#
modules/Your_Account/index.php

#
#-----[ FIND ]-----------------------------------
#
$user_regdate = date("M d, Y");

#
#-----[ REPLACE WITH ]-----------------------------------
#
$user_regdate = time();


#
#-----[ FIND ]-----------------------------------
#
$db->sql_query("INSERT INTO ".$user_prefix."_users_temp (user_id, username, user_email, user_password, user_regdate, check_num, time) VALUES (NULL, '$username', '$user_email', '$new_password', '$user_regdate', '$check_num', '$time')");

#
#-----[ REPLACE WITH ]-----------------------------------
#
$db->sql_query("INSERT INTO ".$user_prefix."_users_temp (user_id, username, user_email, user_password, user_regdate, check_num, time) VALUES (NULL, '$username', '$user_email', '$new_password', $user_regdate, '$check_num', '$time')");

#
#-----[ FIND ]-----------------------------------
#
$db->sql_query("DELETE FROM ".$user_prefix."_users_temp WHERE time < $past");
$sql = "SELECT * FROM ".$user_prefix."_users_temp WHERE username='$username' AND check_num='$check_num'";
$result = $db->sql_query($sql);

#
#-----[ AFTER, ADD ]-----------------------------------
#
$uid_result = $db->sql_query("SELECT MAX(user_id) AS total FROM ".$user_prefix."_users");
$uid_row = $db->sql_fetchrow($uid_result);
$user_id = $uid_row['total'] + 1;

#
#-----[ FIND ]-----------------------------------
#
$db->sql_query("INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_password, user_avatar, user_regdate, user_lang) VALUES (NULL, '$row[username]', '$row[user_email]', '$row[user_password]', 'gallery/blank.gif', '$row[user_regdate]', '$language')");

#
#-----[ REPLACE WITH ]-----------------------------------
#
$sql2 = "INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_password, user_avatar, user_regdate, user_lang) VALUES ('$user_id', '$row[username]', '$row[user_email]', '$row[user_password]', 'gallery/blank.gif', $row[user_regdate], '$language')";
$db->sql_query($sql2);

#
#-----[ FIND ]-----------------------------------
#
$db->sql_query("DELETE FROM ".$prefix."_bbsessions WHERE session_user_id='$r_uid'");

#
#-----[ REPLACE WITH ]-----------------------------------
#
$db->sql_query("DELETE FROM ".$prefix."bb_sessions WHERE session_user_id='$r_uid'");


#
#-----[ FIND ]-----------------------------------
#
if ($pm_login != "") {
Header("Location: modules.php?name=Private_Messages&file=index&folder=inbox");
exit;
}
if ($redirect == "" ) {
Header("Location: modules.php?name=Your_Account&op=userinfo&bypass=1&username=$username");
} else if ($mode == "") {
Header("Location: modules.php?name=Forums&file=$forward");
} else if ($t !="") {
Header("Location: modules.php?name=Forums&file=$forward&mode=$mode&t=$t");
} else {
Header("Location: modules.php?name=Forums&file=$forward&mode=$mode&f=$f");
}

#
#-----[ REPLACE WITH ]-----------------------------------
#
if ($redirect == "" ) {
Header("Location: modules.php?name=Your_Account&op=userinfo&bypass=1&username=$username");
}
else if ($redirect == "phpBB") {
Header("Location: /phpBB2/");
}
else if ($mode == "") {
Header("Location: /phpBB2/$forward");
} else if ($t !="") {
Header("Location: /phpBB2/$forward&mode=$mode&t=$t");
} else {
Header("Location: /phpBB2/$forward&mode=$mode&f=$f");
}

#
#-----[ FIND ]-----------------------------------
#
if ($redirect != "") {
echo "<META HTTP-EQUIV=\"refresh\" content=\"3;URL=modules.php?name=$redirect\">";
} else {
echo "<META HTTP-EQUIV=\"refresh\" content=\"3;URL=/index.php\">";
}

#
#-----[ REPLACE WITH ]-----------------------------------
#
if($redirect == "phpBB") {
echo "<META HTTP-EQUIV=\"refresh\" content=\"0;URL=/phpBB2/\">";
}
else {
if ($redirect != "") {
echo "<META HTTP-EQUIV=\"refresh\" content=\"3;URL=modules.php?name=$redirect\">";
} else {
echo "<META HTTP-EQUIV=\"refresh\" content=\"3;URL=/index.php\">";
}
}

#
#-----[ SAVE & CLOSE ]-----------------------------------
#
/modules/Your_Account/index.php ?>


修改admin.php如下:

#
#-----[ OPEN ]-----------------------------------
#
admin.php

#
#-----[ FIND ]-----------------------------------
#
$user_regdate = date("M d, Y");

#
#-----[ REPLACE WITH ]-----------------------------------
#
$user_regdate = time();

#
#-----[ FIND ]-----------------------------------
#
$sql = "INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_website, user_avatar, user_regdate, user_password, theme, commentmax, user_lang, user_dateformat) VALUES (NULL,'$name','$email','$url','$user_avatar','$user_regdate','$pwd','$Default_Theme','$commentlimit','english','D M d, Y g:i a')";

#
#-----[ REPLACE WITH ]-----------------------------------
#
$sql = "INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_website, user_avatar, user_regdate, user_password, theme, commentmax, user_lang, user_dateformat) VALUES (2,'$name','$email','$url','$user_avatar',$user_regdate,'$pwd','$Default_Theme','$commentlimit','english','D M d, Y g:i a')";

nuke 7.2已無這些程式碼\r
#
#-----[ FIND ]-----------------------------------
#
$db->sql_query("INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_website, user_avatar, user_regdate, user_password, theme, commentmax, user_level, user_lang, user_dateformat) VALUES (NULL,'$name','$email','$url','$user_avatar','$user_regdate','$pwd','$Default_Theme','$commentlimit', '2', 'english','D M d, Y g:i a')");

#
#-----[ REPLACE WITH ]-----------------------------------
#
$sql = "INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_website, user_avatar, user_regdate, user_password, theme, commentmax, user_lang, user_dateformat) VALUES (2,'$name','$email','$url','$user_avatar',$user_regdate,'$pwd','$Default_Theme','$commentlimit','english','D M d, Y g:i a')";
$db->sql_query($sql);

#
#-----[ FIND ]-----------------------------------
#
$curDate2 = "%".$month[0].$month[1].$month[2]."%".$mday."%".$year."%";

#
#-----[ REPLACE WITH ]-----------------------------------
#
$curDate2 = $month[0].$month[1].$month[2]." ".$mday." ".$year;

#
#-----[ FIND ]-----------------------------------
#
$curDateP = "%".$premonth[0].$premonth[1].$premonth[2]."%".$preday."%".$preyear."%";

#
#-----[ REPLACE WITH ]-----------------------------------
#
$curDateP = $premonth[0].$premonth[1].$premonth[2]." ".$preday." ".$preyear;


#
#-----[ FIND ]-----------------------------------
#
$sql = "SELECT COUNT(user_id) AS userCount from $user_prefix"._users." WHERE user_regdate LIKE '$curDate2'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$userCount = $row[userCount];
$sql = "SELECT COUNT(user_id) AS userCount FROM $user_prefix"._users." WHERE user_regdate LIKE '$curDateP'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$userCount2 = $row[userCount];
#
#-----[ REPLACE WITH ]-----------------------------------
#
$sql = "SELECT COUNT(user_id) AS userCount from $user_prefix"._users." WHERE FROM_UNIXTIME(user_regdate,'%b %e %Y') LIKE '$curDate2'";
$result = $db->sql_query($sql);
$row3 = $db->sql_fetchrow($result);
$userCount = $row[userCount];
$sql = "SELECT COUNT(user_id) AS userCount FROM $user_prefix"._users." WHERE FROM_UNIXTIME(user_regdate,'%b %e %Y') LIKE '$curDateP'";
$result = $db->sql_query($sql);
$row4 = $db->sql_fetchrow($result);
$userCount2 = $row[userCount];

#
#-----[ SAVE & CLOSE ]-----------------------------------
#
/admin.php ?>

The following modifications are made in admin/modules/users.php:

PHP: › Select ›‹ Contract
#
#-----[ FIND ]-----------------------------------
#
$user_regdate = date("M d, Y");

#
#-----[ REPLACE WITH ]-----------------------------------
#
$user_regdate = time();

#
#-----[ FIND ]-----------------------------------
#
$sql .= "values (NULL, '$add_name', '$add_uname', '$add_email', '$add_femail', '$add_url', '$user_regdate', '$add_user_icq', '$add_user_aim', '$add_user_yim', '$add_user_msnm', '$add_user_from', '$add_user_occ', '$add_user_intrest', '$add_user_viewemail', '$add_avatar', '$add_user_sig', '$add_pass', '$add_newsletter', '1', '0')";

#
#-----[ REPLACE WITH ]-----------------------------------
#
$sql .= "values (NULL, '$add_name', '$add_uname', '$add_email', '$add_femail', '$add_url', $user_regdate, '$add_user_icq', '$add_user_aim', '$add_user_yim', '$add_user_msnm', '$add_user_from', '$add_user_occ', '$add_user_intrest', '$add_user_viewemail', '$add_avatar', '$add_user_sig', '$add_pass', '$add_newsletter', '1', '0')";

#
#-----[ SAVE & CLOSE ]-----------------------------------
#
/admin/modules/users.php ?>

更改<phpNuke_root>/config.php 程式中$user_prefix 變數的設定像這樣:$user_prefix = "nukebb";
(你可以有不同的nuke部分,最重要的是最後必須用bb來結束.)


這是針對phpNuke部分所需要修改的程式檔案.

下一個步驟是phpBB的安裝及修改.

安裝phpBB, 確定有適當的資料庫名稱,登入帳號及密碼(跟你的phpNuke 資料庫一樣). 確定你的資料庫的prefix跟你在phpNuke安裝時所做的$user_prefix 設定是一樣的.

刪除phpBB安裝時所產生的<prefix>bb_users 資料表, 並將phpNuke所產生的<prefix>_users 資料表名稱改成<prefix>bb_users.

將phpNuke的<prefix>_users_temp 資料表名稱改成<prefix>bb_users_temp. 這樣的資料表修改大致就完成了.

現在是最有去的部分,修改phpBB 檔案好使它們可以跟PHPNuke順利運作. 很幸運地, 大部分程式碼的修改很少. 這些修改是當你在升級phpBB時必須重複做的.假如你的論壇使用subSilver 這個樣版時,在升級phpBB時絕對不要覆寫templates 目錄的資料這點是很重要的. 這樣子看起來需要做很多的修改,但是大部分都只有一兩行要改而已. 對於複雜的修改安裝,像是這裡的NukedGallery.net那樣, 比起那些需要重新執行修改所要負擔的修改時間算是瑣碎的了.


#
#-----[ OPEN ]-----------------------------------
#
phpBB2/admin/pagestart.php

#
#-----[ FIND ]-----------------------------------
#
include($phpbb_root_path . 'common.'.$phpEx);

#
#-----[ AFTER, ADD ]-----------------------------------
#
global $nukeuser;

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_INDEX);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_INDEX,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/admin/page_header_admin.php

#
#-----[ FIND ]-----------------------------------
#
'S_LOGIN_ACTION' => append_sid('../login.'.$phpEx),

#
#-----[ REPLACE WITH ]-----------------------------------
#
'S_LOGIN_ACTION' => append_sid('/modules.'.$phpEx.'?name=Your_Account'),

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/common.php

# \r
#-----[ FIND ]-----------------------------------
#
{
die("Hacking attempt");
}

#
#-----[ AFTER, ADD ]-----------------------------------
#
$user = $_COOKIE['user'];
$nukeuser = base64_decode($user);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/faq.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_FAQ);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_FAQ,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/groupcp.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_GROUPCP);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_GROUPCP,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/includes/functions.php

#
#-----[ FIND ]-----------------------------------
#
global $db, $template, $board_config, $theme, $lang, $phpEx, $phpbb_root_path, $nav_links, $gen_simple_header, $images;

#
#-----[ REPLACE WITH ]-----------------------------------
#
global $db, $template, $board_config, $theme, $lang, $phpEx, $phpbb_root_path, $nav_links, $gen_simple_header, $images,$user;

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_INDEX);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_INDEX, $nukeuser);

#
#-----[ FIND ]-----------------------------------
#
// Behave as per HTTP/1.1 spec for others
header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
exit;
}

#
#-----[ AFTER, ADD ]-----------------------------------
#
function bblogin($nukeuser, $session_id) {
global $nukeuser, $userdata, $user_ip, $session_length, $session_id, $db, $nuke_file_path;
define("IN_LOGIN", true);
$cookie = explode(":", $nukeuser);
$nuid = $cookie[0];
$sql = "SELECT s.*
FROM " . SESSIONS_TABLE . " s
WHERE s.session_id = '$session_id'
AND s.session_ip = '$user_ip'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch : session_pagestar');
}
$logindata = $db->sql_fetchrow($result);

if( $nuid != $logindata['session_user_id'] ) {
$nusername = $cookie[1];
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM ".USERS_TABLE."
WHERE username = '" . str_replace("\'", "''", $nusername) . "'";
$result = $db->sql_query($sql);
if(!$result) {
message_die(GENERAL_ERROR, "Error in obtaining userdata : login", "", __LINE__, __FILE__, $sql);
}
$rowresult = $db->sql_fetchrow($result);
$password = $cookie[2];
if(count($rowresult) ) {
if( $rowresult['user_level'] != ADMIN && $board_config['board_disable'] ) {
header("Location: " . append_sid("/phpBB2/index.php", true));
} else {
if( $password == $rowresult['user_password'] && $rowresult['user_active'] ) {
$autologin = 0;
$userdata = session_begin($rowresult['user_id'], $user_ip, PAGE_INDEX, $session_length, FALSE, $autologin);
$session_id = $userdata['session_id'];
if(!$session_id ) {
message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);

} else {
}
} else {
$message = $lang['Error_login'] . "<br /><br />" . sprintf($lang['Click_return_login'], "<a href=\"" . append_sid("/phpBB2/login.php&$redirect") . "\">", "</a> ") . "<br /><br />" . sprintf($lang['Click_return_index'], "<a href=\"" . append_sid("/phpBB2/index.php") . "\">", "</a> ");
message_die(GENERAL_MESSAGE, $message);
}
}
} else {
$message = $lang['Error_login'] . "<br /><br />" . sprintf($lang['Click_return_login'], "<a href=\"" . append_sid("/phpBB2/login.php&$redirect") . "\">", "</a> ") . "<br /><br />" . sprintf($lang['Click_return_index'], "<a href=\\"" . append_sid("/phpBB2/index.php") . "\">", "</a> ");
message_die(GENERAL_MESSAGE, $message);
}
}

}

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/includes/functions_post.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $page_id);
#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $page_id,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/includes/page_header.php

#
#-----[ FIND ]-----------------------------------
#
'S_LOGIN_ACTION' => append_sid('login.'.$phpEx),

#
#-----[ REPLACE WITH ]-----------------------------------
#
'S_LOGIN_ACTION' => append_sid('/modules.'.$phpEx.'?name=Your_Account'),

#
#-----[ FIND ]-----------------------------------
\n#
//
// Generate logged in/logged out status
//
if ( $userdata['session_logged_in'] )
{
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
else
{
$u_login_logout = 'login.'.$phpEx;
$l_login_logout = $lang['Login'];
}

#
#-----[ REPLACE WITH ]-----------------------------------
#
//
// Generate logged in/logged out status
//
if ( $userdata['session_logged_in'] )
{
$u_login_logout = '/modules.php?name=Your_Account&op=logout&redirect=phpBB';
$l_login_logout = $lang['Logout'];
$l_user = "Hello, ".$userdata['username']."! ";
}
else
{
$u_login_logout = 'login.'.$phpEx.'?redirect=phpBB';
$l_login_logout = $lang['Login'];
$l_user = "<a class=\"phpnuke\" href=\"/modules.php?name=Your_Account&op=new_user\">Create</a> an account";
}

#
#-----[ FIND ]-----------------------------------
#
'L_USERNAME' => $lang['Username'],
'L_PASSWORD' => $lang['Password'],
'L_LOGIN_LOGOUT' => $l_login_logout,

#
#-----[ AFTER, ADD ]-----------------------------------
#
'L_USER' => $l_user,

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/includes/page_tail.php

#
#-----[ FIND ]-----------------------------------
#
//
// Show the overall footer.
//

#
#-----[ AFTER, ADD ]-----------------------------------
#
global $nukeuser;

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/includes/sessions.php

#
#-----[ FIND ]-----------------------------------
#
$SID = 'sid=' . $session_id;

#
#-----[ REPLACE WITH ]-----------------------------------
#
$SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : '';

#
#-----[ FIND ]-----------------------------------
#
function session_pagestart($user_ip, $thispage_id)

#
#-----[ REPLACE WITH ]-----------------------------------
#
function session_pagestart($user_ip, $thispage_id,$nukeuser)

#
#-----[ FIND ]-----------------------------------
#
global $db, $lang, $board_config;

#
#-----[ REPLACE WITH ]-----------------------------------
#
global $db, $lang, $board_config,$session_id;

#
#-----[ FIND ]-----------------------------------
#
$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
$sessionmethod = SESSION_METHOD_GET;
}

#
#-----[ AFTER, ADD ]-----------------------------------
#
if ( ($nukeuser != "") && ($userdata['session_logged_in'] == "" )) {
bblogin($nukeuser, $session_id);
} else {
$sessiondata = array();
}

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/includes/topic_review.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/index.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_INDEX);

#
#-----[ REPLACE WITH ]-----------------------------------
#
global $nukeuser;
$userdata = session_pagestart($user_ip, PAGE_INDEX,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/login.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_LOGIN);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_LOGIN,$nukeuser);

#
#-----[ FIND ]-----------------------------------
#
$s_hidden_fields = '<input type="hidden" name="redirect" value="' . $forward_page . '" />';

#
#-----[ REPLACE WITH ]-----------------------------------
#
$s_hidden_fields = '<input type="hidden" name="op" value="login">';

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/memberlist.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/modcp.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/posting.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_POSTING);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_POSTING,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/privmsg.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_PRIVMSGS);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_PRIVMSGS,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/profile.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_PROFILE);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_PROFILE,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/search.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_SEARCH);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_SEARCH,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/viewforum.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/viewonline.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_VIEWONLINE);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, PAGE_VIEWONLINE,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/viewtopic.php

#
#-----[ FIND ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id);

#
#-----[ REPLACE WITH ]-----------------------------------
#
$userdata = session_pagestart($user_ip, $forum_id,$nukeuser);

#
#-----[ OPEN ]-----------------------------------
#
phpBB2/templates/subSilver/index_body.tpl

#
#-----[ FIND ]-----------------------------------
#
<input type="submit" class="mainoption" name="login" value="{L_LOGIN}" /></td>

#
#-----[ AFTER, ADD ]-----------------------------------
#
<td><input type="hidden" name="redirect" value="phpBB" /><input type="hidden" name="op" value="login" /></td>

#
#-----[ SAVE & CLOSE]-----------------------------------
#
All Files ?>
所有這些的修改是為使phpBB 及phpNuke可以共用相同使用者資料庫並且確認使用者何時登錄. 現在你可以瀏覽你的論壇並且透過論壇或是phpNuke登入登出看看. 但是你可能注意到它沒有phpNuke 的表頭及註腳, 而且一些顏色跟字型可能是錯的.

對於表頭(在網頁上方放著你的網站logo的地方) 以及註腳(網頁底部放置一些很煩的版權說明資訊的地方)來說要符合你的phpNuke 網站, 你必須使用下列檔案作些微的修改:

/phpBB2/templates/<your_template>/overall_header.tpl
/phpBB2/templates/<your_template>/overall_footer.tpl
我們先開始overall_footer.tpl這個檔案.

要讓phpBB的註腳符合你的phpNuke的註腳就是瀏覽你的phpNuke網頁的原始碼. 將網頁下捲到你的註腳原始碼的放方複製貼上到overall_footer.tpl 檔案中.請保留版權說明好給予phpBB的厲害的設計師一些鼓勵.

要讓表頭符合你的phpNuke 表頭是有點複雜的. 在overall_header.tpl檔案中沒有任何的資料庫資訊(沒有$db->sql_query 敘述). 所以你必須在上面的表單保持基本的連結, 就像你在這裡所見的類似. 要增加你的表頭,將html原始碼放進overall_header.tpl檔案<body> 標籤後.


最後就是字型跟背景顏色了. 這些效果都是經由CSS來控制的, 而且不是放在template目錄下的分離的CSS檔(ie /phpBB2/templates/fisubsilver/fisubsilver.css), 就是放在overall_header.tpl檔案中及分離的CSS 檔(就像預設的subSilver 樣板的情形一樣). 你可以在這些CSS檔案中增加或修改你喜歡的字型等等.
\n
最後, 為了確定使適當的使用者可以管理論壇,你必須編輯<prefix>bb_users 資料表及那些有管理論壇權限的使用者變更其user_level 欄位值為1 .
最後由 linux_achi 於 2004-05-13 16:07 編輯,總共編輯了 1 次。
我的網站要復站了
先行公告
歡迎舊雨新知不吝指教
http://achi.idv.tw
Artemas
竹貓忠實會員
竹貓忠實會員
文章: 489
註冊時間: 2003-08-23 03:18
來自: NorthBlue
聯繫:

文章 Artemas »

(:Y) 辛苦了..讚啦\r
不過偶倒是希望phpbb plus 能整合到nuke
有沒有這方面的資訊阿\r

想到要重掛mod頭就大~"~
圖檔
Os: Windows 2003
Constitute: IIS.6 + php4 + MySql 4 + ODBC + phpMyAdmin2.6.0 + phpBB 2.0.23
url: http://oops.cafepark.com
jris
星球普通子民
星球普通子民
文章: 3
註冊時間: 2004-01-02 23:17

文章 jris »

要修改這麼多, 我決定不裝nuke 了
神僕
星球公民
星球公民
文章: 171
註冊時間: 2003-02-13 02:45

文章 神僕 »

jris 寫:要修改這麼多, 我決定不裝nuke 了
.


同意 :mrgreen:
使用版本:phpBB 3.0.2
網站位置:http://www.hkvalue.net/forum
狀況描述:

http://www.hkvalue.net/forum

很想做得更好,可否多多指點 ^^
hollowaysxp
竹貓忠實會員
竹貓忠實會員
文章: 535
註冊時間: 2004-06-01 22:39
來自: 仙境傳說回憶最美~台灣桃園
聯繫:

文章 hollowaysxp »

說實在的這樣的話不如去玩xoops好像好一點。
●架設主機作業系統:FreeBSD 6.2-RELEASE (自行架設)
●我的上網方式:FTTB+VDSL HINET 10M/2M
●我安裝的程式:Apache 2.0.59+ PHP Version 4.4.4 + MySql 4.1.21+phpMyadmin 2.9.1.1
●我的 phpBB3 版本:phpBB3.0.1
●我的 phpBB3 連結網址 http://nitcs.itrello.com/forum/
NITCS歡迎你
NITCS論壇
flylinux
星球公民
星球公民
文章: 36
註冊時間: 2004-05-13 11:26
聯繫:

文章 flylinux »

沒錯,後來實際測試後!
發現不符合效益,而且bug還是很多,
所以我放棄了!
有多的空閒再來試試!
df2kit
星球普通子民
星球普通子民
文章: 28
註冊時間: 2004-06-05 16:22
來自: Macau
聯繫:

文章 df2kit »

其實什麼是php nuke
我是新新手/
阿修羅
星球普通子民
星球普通子民
文章: 12
註冊時間: 2002-06-24 09:02
來自: 修羅界
聯繫:

文章 阿修羅 »

df2kit 寫:其實什麼是php nuke
我是新新手/
PHPNuke是一種所謂的架站機,
專業一點的名稱是網站內容管理系統(CMS)
Content Manage System
其基本功能包含會員管理、新聞發佈、討論區或留言板、文章管理等等,
依照使用者需求還可加入有其他功能的模組,
不過PHPNuke因為程式結構的問題這幾年已經不是那麼熱門了,
有相同功能(或更強大)的PHP內容管理系統包括有:
XOOPS、EXOOPS、PostNuke、IWPC(大陸開發)、Nucleus、UltraCMS、可慧網站管理系統(大陸開發)等等........
目前新開發的CMS系統比較傾向強調所見即所得文章編輯器、無限分類、樣板引擎、輸出為Html格式等等........

PHPbb For PHPNuke使用上好像有文字衝碼問題,
XOOPS目前也有PHPbb模組和IPB模組。
頭像
希希
星球公民
星球公民
文章: 49
註冊時間: 2003-10-07 16:16
來自: 希臘般天空
聯繫:

文章 希希 »

謝謝提供此教學。
有所成長!
●架設主機作業系統:Linux RedHat 9.0
●上網方式:學術網
●phpmyadmin版本:2.5.7
●mySQL版本:3.23.58
●安裝的程式: phpnuke 7.2 + phpbb 2.0.10
●phpBB2 版本:phpBB 2.0.10
頭像
希希
星球公民
星球公民
文章: 49
註冊時間: 2003-10-07 16:16
來自: 希臘般天空
聯繫:

文章 希希 »

請問若是安裝後,再進行修改資料表,可行嗎?
還是需要再重新安裝呢?
●架設主機作業系統:Linux RedHat 9.0
●上網方式:學術網
●phpmyadmin版本:2.5.7
●mySQL版本:3.23.58
●安裝的程式: phpnuke 7.2 + phpbb 2.0.10
●phpBB2 版本:phpBB 2.0.10
阿修羅
星球普通子民
星球普通子民
文章: 12
註冊時間: 2002-06-24 09:02
來自: 修羅界
聯繫:

文章 阿修羅 »

希希 寫:請問若是安裝後,再進行修改資料表,可行嗎?
還是需要再重新安裝呢?
當然可行啊~~~!!!
OSC的中文支援站網路柑仔店不就成功的將原本的PHPBB整合進PHPNuke了嗎....??
還把資料完整保留,不過當初依然有衝碼問題就是了。
[ffs]hunej
星球公民
星球公民
文章: 260
註冊時間: 2004-08-22 14:34

文章 [ffs]hunej »

6.5後已將port版整合進去了
不過我認為用bb在灌些portal mod依樣很好用\r
而且檔案更小,不是嗎?
撿到一疊鈔票,原來是玩具鈔票,空歡喜一場。~~卡好勒

http://www.freepgs.com/hunej/phpBB2/
phpBB2 portal project+foxfireXD templates
頭像
希希
星球公民
星球公民
文章: 49
註冊時間: 2003-10-07 16:16
來自: 希臘般天空
聯繫:

文章 希希 »

阿修羅 寫:當然可行啊~~~!!!
OSC的中文支援站網路柑仔店不就成功的將原本的PHPBB整合進PHPNuke了嗎....??
還把資料完整保留,不過當初依然有衝碼問題就是了。
所以要改時,就要很仔細囉!不過,若是剛設站的,是否重灌會較好?
●架設主機作業系統:Linux RedHat 9.0
●上網方式:學術網
●phpmyadmin版本:2.5.7
●mySQL版本:3.23.58
●安裝的程式: phpnuke 7.2 + phpbb 2.0.10
●phpBB2 版本:phpBB 2.0.10
阿修羅
星球普通子民
星球普通子民
文章: 12
註冊時間: 2002-06-24 09:02
來自: 修羅界
聯繫:

文章 阿修羅 »

希希 寫:
阿修羅 寫:當然可行啊~~~!!!
OSC的中文支援站網路柑仔店不就成功的將原本的PHPBB整合進PHPNuke了嗎....??
還把資料完整保留,不過當初依然有衝碼問題就是了。
所以要改時,就要很仔細囉!不過,若是剛設站的,是否重灌會較好?
如果是剛開的站當然是重灌是最好的啊~~~^^
頭像
希希
星球公民
星球公民
文章: 49
註冊時間: 2003-10-07 16:16
來自: 希臘般天空
聯繫:

文章 希希 »

把phpnuke 7.2與phpbb 2.0.10整合在一起,不知道會不會出什麼差錯。
●架設主機作業系統:Linux RedHat 9.0
●上網方式:學術網
●phpmyadmin版本:2.5.7
●mySQL版本:3.23.58
●安裝的程式: phpnuke 7.2 + phpbb 2.0.10
●phpBB2 版本:phpBB 2.0.10
主題已鎖定

回到「phpBB 2 安裝與使用」