[問題] 主題類型在後台出了問題

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

[問題] 主題類型在後台出了問題

文章 vaio »

問題外掛:主題類型 (Ver.3)
參考連結:不記得條Link在那\r
使用版本:phpBB 2.0.18
網站位置:因為公司私人用途所以不便公開,敬請原諒‧\r
狀況描述:

小弟在安裝"主題類型"在後台新增數個主題後,在版面設定一項中勾選"強制要求新發文要選擇主題類型",按變更是成功的‧但如想取消剛才的選項一按變更就會出現以下這句:

Warning: in_array(): Wrong datatype for second argument in c:\appserv\www\phpbb2\admin\admin_topictypes.php on line 249

但同時又可以取消到之前的設定‧\r

以下係249行某一段CODE:

代碼: 選擇全部

$forum_id = $HTTP_POST_VARS['forum_id'];
	$forum_topictypes_force = ($HTTP_POST_VARS['forum_topictypes_force'] == 1) ? 1 : 0;
	$types_id = $HTTP_POST_VARS['topic_types'];
	if( !count($types_id) && $forum_topictypes_force == 1 )
	{
		message_die(GENERAL_MESSAGE, $lang['Forum_empty_topictypes']);
	}
	$sql = "UPDATE " . FORUMS_TABLE . " 
		SET forum_topictypes_force = $forum_topictypes_force  
		WHERE forum_id = $forum_id";
	$result = $db->sql_query($sql);
	if( !$result )
	{
		message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql);
	}
	
	$types_rowset = get_types_rowset($forum_id);
	for($i = 0 ; $i < count($types_rowset) ; $i++ )
	{
		if( !(in_array($types_rowset[$i]['types_id'], $types_id)) )
		{
			$sql = "DELETE FROM " . TYPES_FORUM_TABLE . " 
				WHERE types_id = " . $types_rowset[$i]['types_id'] . " 
				AND forum_id = $forum_id";
			$result = $db->sql_query($sql);
			if( !$result )
			{
				message_die(GENERAL_ERROR, "Couldn't removed forum topic types.", "",__LINE__, __FILE__, $sql);
			}
		}
	}
頭像
hentaibbc
版面管理員
版面管理員
文章: 342
註冊時間: 2005-09-01 18:01

文章 hentaibbc »

找到\r

代碼: 選擇全部

$types_id = $HTTP_POST_VARS['topic_types'];
取代為\r

代碼: 選擇全部

$types_id = ( isset($HTTP_POST_VARS['topic_types']) ) ? $HTTP_POST_VARS['topic_types'] : array();
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

文章 vaio »

多謝大大的幫助,問題已解決了‧\r
但小弟想知為何會出現這個問題,小弟已跟足來修改的了呢‧
頭像
hentaibbc
版面管理員
版面管理員
文章: 342
註冊時間: 2005-09-01 18:01

文章 hentaibbc »

這個是我個人的失誤....

你發生的那個錯誤是資料型態不相符

而在什麼樣的情況會不相符呢?

就是當$HTTP_POST_VARS['topic_types']這個東西沒有值的時候....

變數會呈現空字元的狀態....

而in_array()這個函式比對的是兩個陣列....

所以第二個如果是空字元的話....

就會出問題了....
主題已鎖定

回到「外掛問題討論」