1 頁 (共 4 頁)

[推薦]收放討論分區

發表於 : 2002-05-14 02:32
oO]-[Oo
Source: http://www.phpbb2-users.de/
Mod Title: Closed Category Mod
Mod Version: 1.0
Author: Phantom < admin@world-wars.net >
功能 : 收放討論分區, 會將使用者的設定存在cookie裡\r

中文安裝說明(OOHOO小修正)

代碼: 選擇全部

# 
#-----[ ACTION: 上傳  ]------------------------------------------ 
# 

將 icon_minus.gif 及 icon_plus.gif 上傳至 images/ 


# 
#-----[ ACTION: 打開  ]------------------------------------------ 
# 

index.php

# 
#-----[ ACTION: 尋找  ]------------------------------------------ 
# 

// 
// End session management 
// 

# 
#-----[ ACTION: 在下面加進  ]------------------------------------------ 
# 

//
// Closed Category Mod\r
//
if (isset($HTTP_GET_VARS['cat_show']))
{
	setcookie($board_config['cookie_name'] . '_cat_' . $HTTP_GET_VARS['cat_show'] . '_hide', '0', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
	header("Location: index.$phpEx");
}

if (isset($HTTP_GET_VARS['cat_hide']))
{
	setcookie($board_config['cookie_name'] . '_cat_' . $HTTP_GET_VARS['cat_hide'] . '_hide', '1', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
	header("Location: index.$phpEx");
}

# 
#-----[ ACTION: 尋找  ]------------------------------------------ 
# 

			$template->assign_block_vars('catrow', array( 
				    'CAT_ID' => $cat_id, 
				    'CAT_DESC' => $category_rows[$i]['cat_title'], 
				    'U_VIEWCAT' => append_sid("index.$phpEx?" . POST_CAT_URL . "=$cat_id")) 
			 ); 

# 
#-----[ ACTION: 替換成  ]------------------------------------------ 
# 

			//
			// Hide Category Mod (Note. 預設關閉的分區, 請將分區名稱之前加上 ::NC::, ::NC:: 將不會被顯示出來)
			//
			if (!isset($HTTP_COOKIE_VARS[ $board_config['cookie_name'] . '_cat_' . $cat_id . '_hide']))
			{
				$hide_cat[$cat_id] = (substr($category_rows[$i]['cat_title'], 0, 6) == "::NC::") ? 1 : 0;
			}
			else
			{
				$hide_cat[$cat_id] = $HTTP_COOKIE_VARS[ $board_config['cookie_name'] . '_cat_' . $cat_id . '_hide'];
			}

			$cat_title = (substr($category_rows[$i]['cat_title'], 0, 6) == "::NC::") ? ltrim(substr($category_rows[$i]['cat_title'], 6)) : $category_rows[$i]['cat_title'];

			if ($hide_cat[$cat_id] == 1)
			{
				$cat_showhide = 'cat_show';
				$cat_showhide_img = 'icon_plus.gif';
			}
			else
			{
				$cat_showhide = 'cat_hide';
				$cat_showhide_img = 'icon_minus.gif';
			}

			$template->assign_block_vars('catrow', array(
				'CAT_ID' => $cat_id,
				'CAT_DESC' => $cat_title,
				'CAT_TYPE' => '<a href="' . append_sid("index.$phpEx?" . $cat_showhide . "=" . $cat_id) . "\" class=\"cattitle\"><img src=\"images/$cat_showhide_img\" hspace=\"1\" border=\"0\" /></a> ",
				'U_VIEWCAT' => append_sid("index.$phpEx?" . POST_CAT_URL . "=$cat_id")
			));

			if ($hide_cat[$cat_id] == 1)
			{
				continue;
			}


# 
#-----[ ACTION: 打開 ]------------------------------------------ 
# 

templates/your_template/index_body.tpl


# 
#-----[ ACTION: 尋找  ]------------------------------------------ 
#

<a href="{catrow.U_VIEWCAT}" class="cattitle">{catrow.CAT_DESC}</a> 

# 
#-----[ ACTION: 直接在前面加入  ]------------------------------------------ 
#

{catrow.CAT_TYPE} 

[color=red](註. 也就是應該變成 {catrow.CAT_TYPE}<a href="{catrow.U_VIEWCAT}" class="cattitle">{catrow.CAT_DESC}</a>)[/color]

# 
#-----[ ACTION: 存檔搞定 ]------------------------------------------ 
#
# EoM

發表於 : 2002-05-14 09:59
silverwing
成功了,謝謝!

發表於 : 2002-05-14 18:19
oO]-[Oo
進階改法
新加入功能: 全部展開/隱藏
(ps. 先裝上面那個再來改, 不要還沒裝就來問我說找不到)

代碼: 選擇全部

# 
#-----[ ACTION: 打開  ]------------------------------------------ 
# 

index.php 

# 
#-----[ ACTION: 尋找  ]------------------------------------------ 
# 

// 
// Closed Category Mod 
// 
if (isset($HTTP_GET_VARS['cat_show'])) 
{ 
   setcookie($board_config['cookie_name'] . '_cat_' . $HTTP_GET_VARS['cat_show'] . '_hide', '0', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']); 
   header("Location: index.$phpEx"); 
} 

if (isset($HTTP_GET_VARS['cat_hide'])) 
{ 
   setcookie($board_config['cookie_name'] . '_cat_' . $HTTP_GET_VARS['cat_hide'] . '_hide', '1', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']); 
   header("Location: index.$phpEx"); 
} 


# 
#-----[ ACTION: 替換成  ]------------------------------------------ 
# 

//
// Closed Category Mod
//
if (isset($HTTP_GET_VARS['cat_show']))
{
	if($HTTP_GET_VARS['cat_show'] == "all")
	{
		$sql = "SELECT cat_id FROM " . CATEGORIES_TABLE;
		if( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
		}

		while( $row = $db->sql_fetchrow($result) )
		{
			setcookie($board_config['cookie_name'] . '_cat_' . $row['cat_id'] . '_hide', '0', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
		}
	}
	else
	{
		setcookie($board_config['cookie_name'] . '_cat_' . $HTTP_GET_VARS['cat_show'] . '_hide', '0', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
	}
	header("Location: " . append_sid("index.$phpEx"));
}

if (isset($HTTP_GET_VARS['cat_hide']))
{
	if($HTTP_GET_VARS['cat_hide'] == "all")
	{
		$sql = "SELECT cat_id FROM " . CATEGORIES_TABLE;
		if( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql);
		}

		while( $row = $db->sql_fetchrow($result) )
		{
			setcookie($board_config['cookie_name'] . '_cat_' . $row['cat_id'] . '_hide', '1', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
		}
	}
	else
	{
		setcookie($board_config['cookie_name'] . '_cat_' . $HTTP_GET_VARS['cat_hide'] . '_hide', '1', (time() + 31536000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
	}
	header("Location: " . append_sid("index.$phpEx"));
}

# 
#-----[ ACTION: 尋找 ]------------------------------------------ 
# 

		'L_ONLINE_EXPLAIN' => $lang['Online_explain'],

# 
#-----[ ACTION: 在下面加進  ]------------------------------------------ 
# 

		'L_SHOW_ALL_CATEGORIES' => $lang['Show_All_Categories'], // Closed Category Mod
		'L_HIDE_ALL_CATEGORIES' => $lang['Hide_All_Categories'], // Closed Category Mod
		'U_SHOW_ALL_CATEGORIES' => append_sid("index.$phpEx?cat_show=all") , // Closed Category Mod
		'U_HIDE_ALL_CATEGORIES' => append_sid("index.$phpEx?cat_hide=all") , // Closed Category Mod

# 
#-----[ ACTION: 尋找 ]------------------------------------------ 
# 

			if ($hide_cat[$cat_id] == 1)
			{
				$cat_showhide = 'cat_show';
				$cat_showhide_img = 'icon_plus.gif';
			}
			else
			{
				$cat_showhide = 'cat_hide';
				$cat_showhide_img = 'icon_minus.gif';
			}

# 
#-----[ ACTION: 替換成  ]------------------------------------------ 
# 

			if ($hide_cat[$cat_id] == 1)
			{
				$cat_showhide = 'cat_show';
				$cat_showhide_img = 'icon_plus.gif';
				$cat_showhide_img_alt = $lang['Show_Category'];
			}
			else
			{
				$cat_showhide = 'cat_hide';
				$cat_showhide_img = 'icon_minus.gif';
				$cat_showhide_img_alt = $lang['Hide_Category'];
			}

# 
#-----[ ACTION: 尋找  ]------------------------------------------ 
# 

		'CAT_TYPE' => '<a href="' . append_sid("index.$phpEx?" . $cat_showhide . "=" . $cat_id) . "\" class=\"cattitle\"><img src=\"images/$cat_showhide_img\" hspace=\"1\" border=\"0\" /></a> ", 

# 
#-----[ ACTION: 替換成  ]------------------------------------------ 
# 

		'CAT_TYPE' => '<a href="' . append_sid("index.$phpEx?" . $cat_showhide . "=" . $cat_id) . "\" class=\"cattitle\"><img src=\"images/$cat_showhide_img\" hspace=\"1\" border=\"0\" alt=\"$cat_showhide_img_alt\" /></a> ",


# 
#-----[ ACTION: 打開  ]------------------------------------------ 
# 

templates/your_template/index_body.tpl

# 
#-----[ ACTION: 尋找 (以subSilver為例, 其它theme請自己試)  ]------------------------------------------ 
# 

	<th colspan="2" class="thCornerL" height="25" nowrap="nowrap"> {L_FORUM} </th>

# 
#-----[ ACTION: 替換成  ]------------------------------------------ 
# 

	<th class="thCornerL" width="50" height="25" align="left" nowrap="nowrap"><a href="{U_SHOW_ALL_CATEGORIES}"><img src="images/icon_plus.gif" alt="{L_SHOW_ALL_CATEGORIES}" border="0" hspace="1" /></a><a href="{U_HIDE_ALL_CATEGORIES}"><img src="images/icon_minus.gif" alt="{L_HIDE_ALL_CATEGORIES}" border="0" hspace="1" /></a></th>
	<th class="thTop" nowrap="nowrap"> {L_FORUM} </th>


# 
#-----[ ACTION: 打開  ]------------------------------------------ 
# 

language/lang_chinese_traditional_taiwan/lang_main.php 

# 
#-----[ ACTION: 加進(自己找位置)  ]------------------------------------------ 
# 

// Closed Category Mod
$lang['Show_Category'] = "展開";
$lang['Hide_Category'] = "隱藏";
$lang['Show_All_Categories'] = "全部展開";
$lang['Hide_All_Categories'] = "全部隱藏";

# 
#-----[ ACTION: 存檔搞定 ]------------------------------------------ 
# 
# EoM 


發表於 : 2002-05-14 23:18
英俊業
http://www.handsomeyip.net/phpBB2
在349行有錯誤…\r
以下是349行
if (!isset($HTTP_COOKIE_VARS[ $board_config['cookie_name'] . '_cat_' . $cat_id . '_hide']))
謝謝幫忙…

發表於 : 2002-05-15 15:10
kuloo
成功!!沒問題~~謝謝~~:-D

發表於 : 2002-05-15 15:25
oO]-[Oo
英俊業 寫:http://www.handsomeyip.net/phpBB2
在349行有錯誤…\r
以下是349行
if (!isset($HTTP_COOKIE_VARS[ $board_config['cookie_name'] . '_cat_' . $cat_id . '_hide']))
謝謝幫忙…
請重裝一遍... 小心裝...

發表於 : 2002-05-15 15:45
紅眼鏡
我有個icon可以提供~

圖檔
圖檔

發表於 : 2002-05-15 16:50
英俊業
噢…謝謝~成功了!
oO]-[Oo 寫:
英俊業 寫:http://www.handsomeyip.net/phpBB2
在349行有錯誤…\r
以下是349行
if (!isset($HTTP_COOKIE_VARS[ $board_config['cookie_name'] . '_cat_' . $cat_id . '_hide']))
謝謝幫忙…
請重裝一遍... 小心裝...

發表於 : 2002-05-16 08:04
中等
成功了,真是簡單又好用\r
謝謝博士細心幫忙^^"

發表於 : 2002-05-16 09:17
silverwing
再次成功,感謝!

發表於 : 2002-05-16 09:21
weiyiao
成功ㄌ....相當好用的功能....謝謝了喔...

發表於 : 2002-05-16 11:28
newmail1
嗯! 我改了以後有些問題, 在全開or全關的圖, 滑鼠指過去的確會有中文字顯示, 但分區的開關圖示卻無法如貴站顯示"展開" or "隱藏" 的中文字, 不知錯誤何處? bbs.slps.tp.edu.tw

發表於 : 2002-05-16 16:46
小竹子
newmail1 寫:嗯! 我改了以後有些問題, 在全開or全關的圖, 滑鼠指過去的確會有中文字顯示, 但分區的開關圖示卻無法如貴站顯示"展開" or "隱藏" 的中文字, 不知錯誤何處? bbs.slps.tp.edu.tw

代碼: 選擇全部

# 
#-----[ ACTION: 加進(自己找位置)  ]------------------------------------------ 
# 

// Closed Category Mod 
$lang['Show_Category'] = "展開"; 
$lang['Hide_Category'] = "隱藏"; 
$lang['Show_All_Categories'] = "全部展開"; 
$lang['Hide_All_Categories'] = "全部隱藏"; 

# 
#-----[ ACTION: 存檔搞定 ]------------------------------------------ 
這段有加進去嗎

發表於 : 2002-05-16 18:46
Denny-Chang
會不會是cookie造成的
把舊cookie刪掉再用用看

發表於 : 2002-05-16 20:15
Denny-Chang
進階改法少了下面步驟
找到\r

代碼: 選擇全部

         if ($hide_cat[$cat_id] == 1) 
         { 
            $cat_showhide = 'cat_show'; 
            $cat_showhide_img = 'icon_plus.gif';
         } 
         else 
         { 
            $cat_showhide = 'cat_hide'; 
            $cat_showhide_img = 'icon_minus.gif'; 
         } 
取代成

代碼: 選擇全部

         if ($hide_cat[$cat_id] == 1) 
         { 
            $cat_showhide = 'cat_show'; 
            $cat_showhide_img = 'icon_plus.gif';
            $cat_showhide_img_alt = $lang['Hide_Category']; 
         } 
         else 
         { 
            $cat_showhide = 'cat_hide'; 
            $cat_showhide_img = 'icon_minus.gif'; 
            $cat_showhide_img_alt = $lang['Show_Category']; 
         } 
這樣在各分區前的圖才有文字提示