[分享] 升級 phpbb 2.0.18 後, 關於外掛 Custom mass PM 1.4.7 的因應

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

版主: 版主管理群

主題已鎖定
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8525
註冊時間: 2004-04-30 01:54
來自: Taiwan

[分享] 升級 phpbb 2.0.18 後, 關於外掛 Custom mass PM 1.4.7 的因應

文章 心靈捕手 »

今天我的論壇有會員反應:

使用私訊時會出現下列訊息:
Warning: Wrong parameter count for usort() in d:\appserv\www\phpbb2\privmsg.php on line 1243
http://wang5555.dnsfor.me/phpbb2/viewtopic. ... 2385#32385
\r
經我測試的結果:
除了這個訊息之外, 還會出現下列系統訊息:
很抱歉! 這個會員名稱並不存在

我猜想:
這是因為我有加裝外掛 Custom mass PM 1.4.7 的關係.
目前已經修正!

以下的修改, 提供給也有安裝這個外掛, 且成功升級 phpbb 2.0.18 的人參考:
#
#-----[ OPEN ]-----
#
privmsg.php

#
#-----[ FIND ]-----
#

代碼: 選擇全部

         if (!($to_userdata = $db->sql_fetchrow($result))) 
         { 
            $error = TRUE; 
            $error_msg = $lang['No_such_user']; 
         } 
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

         /*if (!($to_userdata = $db->sql_fetchrow($result))) 
         { 
            $error = TRUE; 
            $error_msg = $lang['No_such_user']; 
         }*/ 
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
flyinghail
星球公民
星球公民
文章: 48
註冊時間: 2004-02-10 02:37

文章 flyinghail »

安裝過Custom mass PM的話\r

代碼: 選擇全部

$to_userdata = $db->sql_fetchrow($result);
這句應該已經不存在了
升級的時候修改應該是\r

代碼: 選擇全部

$to_users = $db->sql_fetchrowset($result2);
替換為\r

代碼: 選擇全部

         if (!($to_users = $db->sql_fetchrowset($result2);)) 
         { 
            $error = TRUE; 
            $error_msg = $lang['No_such_user']; 
         } 
不過感覺這句不替換也沒有關係...
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8525
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To flyinghail:

我之所以會將這一段語法註解
主要是認為:
當我們安裝外掛 Custom mass PM 1.4.7 之後,
已經加入判斷有無該使用者的語法了.

以下是外掛 Custom mass PM 1.4.7 關於 privmsg.php 相關與法部分擷取

代碼: 選擇全部

# 
#-----[ FIND ]------------------------------------------------ 
# 
			if ( !($result = $db->sql_query($sql)) )
			{
				$error = TRUE;
				$error_msg = $lang['No_such_user'];
			}

			$to_userdata = $db->sql_fetchrow($result);
		}
		else
		{

# 
#-----[ REPLACE WITH ]---------------------------------------- 
#

// Start replacement - Custom mass PM MOD
	if( !($result2 = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain users PM information', '', __LINE__, __FILE__, $sql);
	}
	$to_users = $db->sql_fetchrowset($result2);
	$n=0;
	while ($to_username_array[$n] && !$error)
	{
		if (strcasecmp($to_users[$n]['username'], str_replace("\'", "'",$to_username_array[$n]))) 
		{ 
			$error = TRUE; 
			$error_msg .= $lang['No_such_user']." '".str_replace("\'", "'", $to_username_array[$n]);
		}
		$n++;
	}
}
else
{
// End replacement - Custom mass PM MOD
而當您 2.0.17 升級 2.0.18 過程中, 關於 privmsg.php 相關與法部分擷取

代碼: 選擇全部

#
#-----[ FIND ]---------------------------------------------
#
			$to_userdata = $db->sql_fetchrow($result);

#
#-----[ REPLACE WITH ]---------------------------------------------
#
			if (!($to_userdata = $db->sql_fetchrow($result)))
			{
				$error = TRUE;
				$error_msg = $lang['No_such_user'];
			}
也就是說, 假如有人是使用 2.0.18 版, 要安裝外掛 Custom mass PM 1.4.7
那麼他可能會找不到\r

代碼: 選擇全部

$to_userdata = $db->sql_fetchrow($result);
而原本要取代的地方, 則是要變成這樣:

代碼: 選擇全部

# 
#-----[ FIND ]------------------------------------------------ 
# 
			if ( !($result = $db->sql_query($sql)) )
			{
				$error = TRUE;
				$error_msg = $lang['No_such_user'];
			}

			if (!($to_userdata = $db->sql_fetchrow($result)))
			{
				$error = TRUE;
				$error_msg = $lang['No_such_user'];
			}
		}
		else
		{

# 
#-----[ REPLACE WITH ]---------------------------------------- 
#

// Start replacement - Custom mass PM MOD
	if( !($result2 = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain users PM information', '', __LINE__, __FILE__, $sql);
	}
	$to_users = $db->sql_fetchrowset($result2);
	$n=0;
	while ($to_username_array[$n] && !$error)
	{
		if (strcasecmp($to_users[$n]['username'], str_replace("\'", "'",$to_username_array[$n]))) 
		{ 
			$error = TRUE; 
			$error_msg .= $lang['No_such_user']." '".str_replace("\'", "'", $to_username_array[$n]);
		}
		$n++;
	}
}
else
{
// End replacement - Custom mass PM MOD
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
flyinghail
星球公民
星球公民
文章: 48
註冊時間: 2004-02-10 02:37

文章 flyinghail »

哦\r
你的意思是先升級到2.0.18再安裝MOD...
我的意思是已經安裝了這個MOD的phpBB升級到2.0.18這樣
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8525
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

flyinghail 寫:哦\r
你的意思是先升級到2.0.18再安裝MOD...
我的意思是已經安裝了這個MOD的phpBB升級到2.0.18這樣
呵! 呵! 當初升級 2.0.18 時, 我的確是找不到\r

代碼: 選擇全部

$to_userdata = $db->sql_fetchrow($result); 
後來參考原版 2.0.18 的 privmsg.php 之後
找到相關位置, 直接加入需要取代成的語法

代碼: 選擇全部

         if (!($to_userdata = $db->sql_fetchrow($result))) 
         { 
            $error = TRUE; 
            $error_msg = $lang['No_such_user']; 
         } 
所以才會凸搥. :mrgreen:

我的看法跟您較有差異的地方, 只是我個人以為:
在升級過程中, 上面需要取代成的這段語法, 是可以省略的.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
flyinghail
星球公民
星球公民
文章: 48
註冊時間: 2004-02-10 02:37

文章 flyinghail »

所以我也說了
不過感覺這句不替換也沒有關係...
呵呵,反正加上只是更嚴密罷了,改不改倒是無所謂
過山雲
竹貓忠實會員
竹貓忠實會員
文章: 390
註冊時間: 2002-09-05 20:11
來自: 東都.承天府.萬年縣治.拱辰門北
聯繫:

文章 過山雲 »

問題:
會員註冊時有出現這個欄位

大量 PM 通知:
email 通知 PM 接收者, 由您所屬的群組發送
O是 O 否 O 拒收大量 PM
<---這個欄位的預設值應如何調整呢?

謝謝了!
圖檔
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8525
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

過山雲 寫:問題:
會員註冊時有出現這個欄位

大量 PM 通知:
email 通知 PM 接收者, 由您所屬的群組發送
O是 O 否 O 拒收大量 PM
<---這個欄位的預設值應如何調整呢?

謝謝了!
請問您: 當會員註冊時, 出現的預設值為何呢?
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
過山雲
竹貓忠實會員
竹貓忠實會員
文章: 390
註冊時間: 2002-09-05 20:11
來自: 東都.承天府.萬年縣治.拱辰門北
聯繫:

文章 過山雲 »

目前會員註冊時:

預設值是:否\r

看了安裝說明文件\r
沒有說明要怎麼調整預設值\r

不好意思
可能這問題之前有會員問過了
小弟搜尋的功能可能還不到家吧~
也謝謝某些熱心的會員\r
可以說是「不厭其煩」(也有人說是縱容,或降低論壇的品質)的解決問題
但在需要幫助的會員眼中
您們真是偉大
圖檔
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8525
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

過山雲 寫:目前會員註冊時:

預設值是:否\r

看了安裝說明文件\r
沒有說明要怎麼調整預設值\r

不好意思
可能這問題之前有會員問過了
小弟搜尋的功能可能還不到家吧~
也謝謝某些熱心的會員\r
可以說是「不厭其煩」(也有人說是縱容,或降低論壇的品質)的解決問題
但在需要幫助的會員眼中
您們真是偉大
試試這個修改.
#
#-----[ OPEN ]-----
#
includes/usercp_register.php

#
#-----[ FIND ]-----
#

代碼: 選擇全部

// Start add - Custom mass PM MOD
$allow_mass_pm = ( isset($HTTP_POST_VARS['allow_mass_pm']) ) ? intval ($HTTP_POST_VARS['allow_mass_pm']) : 2;
// End add - Custom mass PM MOD
#
#-----[ REPLACE WITH ]-----
# 調整預設為" 是"

代碼: 選擇全部

// Start add - Custom mass PM MOD
$allow_mass_pm = ( isset($HTTP_POST_VARS['allow_mass_pm']) ) ? intval ($HTTP_POST_VARS['allow_mass_pm']) : 4;
// End add - Custom mass PM MOD
#
#-----[ OR REPLACE WITH ]-----
# 或者, 調整預設為" 拒收大量 PM"

代碼: 選擇全部

// Start add - Custom mass PM MOD
$allow_mass_pm = ( isset($HTTP_POST_VARS['allow_mass_pm']) ) ? intval ($HTTP_POST_VARS['allow_mass_pm']) : 0;
// End add - Custom mass PM MOD
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
過山雲
竹貓忠實會員
竹貓忠實會員
文章: 390
註冊時間: 2002-09-05 20:11
來自: 東都.承天府.萬年縣治.拱辰門北
聯繫:

文章 過山雲 »

看起來就是調整那個變數\r

2:否\r
4:是\r
0:拒收大量 PM

其它相關的討論:
http://phpbb-tw.net/phpbb/viewtopic.php?t=24689
圖檔
主題已鎖定

回到「外掛問題討論」