##################################################
## 外掛名稱: login view (訪客會員分區)
##
## 外掛描述: 如果您有這樣的需求的話--
## 哪些分區只給訪客看~
## 哪些分區只給會員看~
## 哪些分區不限制~
## 那麼這個外掛, 可以方便您在後台設定.
##
## 外掛作者: messagebox
##
## 外掛整理: 心靈捕手 http://wang5555.dnsfor.me
##
## 外掛版本: 1.0.0
##
## 安裝難度: 簡單 (約 10分鐘內)
##
## 外掛測試: phpbb 2.0.19 成功
#################################################
## 修改外掛前, 請您記得備份討論區以及資料庫.
#################################################
## 備註: 1. 外掛英文名稱: 採原始檔案資料夾設定
## 中文名稱: 由 心靈捕手 修定
##
## 2. 外掛版本: 由 心靈捕手 設定, 方便日後的更新\r
##
## 原始檔案下載: http://phpbb-tw.net/phpbb/viewtopic.php?p=191652#191652
#################################################
#-----[ SQL ]-----
#請先執行這段敘述(如果你的資料表開頭並非是"phpbb_",請記得修改)
代碼: 選擇全部
ALTER TABLE `phpbb_categories` ADD `login_flag` TINYINT( 2 ) DEFAULT '0' NOT NULL ;
#-----[ OPEN ]-----
#
index.php
#
#-----[ FIND ]-----
#
代碼: 選擇全部
$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
#-----[ REPLACE WITH ]-----
#
代碼: 選擇全部
$sql = "SELECT c.cat_id, c.cat_title, c.cat_order, c.login_flag
#-----[ FIND ]-----
#
代碼: 選擇全部
//
// Should we display this category/forum set?\r
//
$display_forums = false;
for($j = 0; $j < $total_forums; $j++)
{
if ( $is_auth_ary[$forum_data[$j]['forum_id']]['auth_view'] && $forum_data[$j]['cat_id'] == $cat_id )
{
$display_forums = true;
}
}
#-----[ REPLACE WITH ]-----
#
代碼: 選擇全部
$login_flag = $category_rows[$i]['login_flag'];
if ($login_flag == 0){
//
// Should we display this category/forum set?
//
$display_forums = false;
for($j = 0; $j < $total_forums; $j++)
{
if ( $is_auth_ary[$forum_data[$j]['forum_id']]['auth_view'] && $forum_data[$j]['cat_id'] == $cat_id )
{
$display_forums = true;
}
}
}elseif ($login_flag == 1){
$display_forums = (!$userdata['session_logged_in']) ? true : false;
}elseif ($login_flag == 2){
$display_forums = ($userdata['session_logged_in']) ? true : false;
}
#
#-----[ OPEN ]-----
#
admin/admin_forums.php
#
#-----[ FIND ]-----
#
代碼: 選擇全部
$cat_title = $row['cat_title'];
#-----[ AFTER, ADD ]-----
#
代碼: 選擇全部
$login_flag = $row['login_flag'];
#-----[ FIND ]-----
#
代碼: 選擇全部
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode . '" /><input type="hidden" name="' . POST_CAT_URL . '" value="' . $cat_id . '" />';
#
#-----[ AFTER, ADD ]-----
#
代碼: 選擇全部
//
//<option selected value="0">No Limit</option>
//
$s_login_flag = '';
for ($i=0;$i<count($lang['Login_flag']);$i++){
$selected_ok = ($login_flag == $i) ? " selected" : "";
$s_login_flag .= '<option value="'.$i.'"'.$selected_ok.'>'.$lang['Login_flag'][$i].'</option>
';
}
#
#-----[ FIND ]-----
#
代碼: 選擇全部
'L_CATEGORY' => $lang['Category'],
#-----[ AFTER, ADD ]-----
#
代碼: 選擇全部
'L_CATESTYLE' => $lang['Catstyle'],
#-----[ FIND ]-----
#
代碼: 選擇全部
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"))
#
#-----[ REPLACE WITH ]-----
#
代碼: 選擇全部
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
'S_LOGIN_FLAG' => $s_login_flag,)
#-----[ FIND ]-----
#
代碼: 選擇全部
SET cat_title = '" . str_replace("\'", "''", $HTTP_POST_VARS['cat_title']) . "'
#
#-----[ AFTER, ADD ]-----
#
代碼: 選擇全部
,login_flag = ".intval($HTTP_POST_VARS['login_flag'])."
#-----[ OPEN ]-----
#
templates/subSilver/admin/category_edit_body.tpl
#
#-----[ FIND ]-----
#
代碼: 選擇全部
<td class="row2"><input class="post" type="text" size="25" name="cat_title" value="{CAT_TITLE}" /></td>
</tr>
#-----[ AFTER, ADD ]-----
#
代碼: 選擇全部
<tr>
<td class="row1">{L_CATESTYLE}</td>
<td class="row2">
<select size="1" name="login_flag">
{S_LOGIN_FLAG}
</select>
</td>
</tr>
#
#-----[ OPEN ]-----
#
language/lang_chinese_traditional_taiwan/lang_admin.php
#
#-----[ FIND ]-----
#
代碼: 選擇全部
?>
#-----[ BEFORE, ADD ]-----
#
#$lang['Catstyle'] = '屬性';
$lang['Login_flag'] = array('不設限制','只給訪客觀看','只給會員觀看');
#-----[ SAVE & CLOSE ]-----
#
#EoM
--
補充說明: -by- 心靈捕手 http://wang5555.dnsfor.me
1. 原始檔案除錯:
#
#-----[ OPEN ]-----
#
index.php
#
#-----[ FIND ]-----
#
代碼: 選擇全部
if ( $userdata['session_logged_in'] )
$display_forums = (!$userdata['session_logged_in']) ? true : false;
#
#-----[ REPLACE WITH ]-----
#
代碼: 選擇全部
$display_forums = (!$userdata['session_logged_in']) ? true : false;
#-----[ SAVE & CLOSE ]-----
#
#EoM
2. 原始檔案修改: 為避免轉碼的不便
#
#-----[ OPEN ]-----
#
admin/admin_forums.php
#
#-----[ FIND ]-----
#
#//<option selected value="0">不設限制</option>
#-----[ REPLACE WITH ]-----
#
代碼: 選擇全部
//<option selected value="0">No Limit</option>
#
#-----[ SAVE & CLOSE ]-----
#
#EoM
3. 若您的論壇語系為 utf-8 編碼, 必須將語言包裡頭的檔案, 或新增的語言代碼, 也轉為 utf-8 編碼.
// 建議您: 用 ConvertZ 來轉.
// 下載位址:
http://alf-li.pcdiscuss.com/c_convertz.html
// 參考連結:
http://phpbb-tw.net/phpbb/viewtopic.php?p=210471#210471
// 影音教學:
http://wang5555.dnsfor.me/phpbb2/viewtopic.php?t=16028
--
貼圖展示:
進入控制台-> 版面管理-> 管理選項
選擇您要 '編輯' 的分區, 進行設定 (預設為 '不設限制')

