[修正] Custom_mass_pm 和 Admin_userlist 版管、群管不分

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

版主: 版主管理群

BlackJK
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-09-19 02:01

[修正] Custom_mass_pm 和 Admin_userlist 版管、群管不分

文章 BlackJK »

裝了 Custom_mass_pm_1.4.7em 和 Admin_userlist_202 這兩個外掛後,發現 版面管理員群組管理員 都顯示成版面管理員 (英文版好像用的是同一個單字吧...orz),所以做了修正


代碼: 選擇全部

# 
#-----[ OPEN ]------------------------------------------------ 
#
lang_main.php 


# 
#-----[ FIND ]------------------------------------------------ 
# 
$lang['Moderators'] = '

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
// 群組管理員\r
$lang['GroupModerator'] = '群組管理員';



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

# 
#-----[ FIND ]------------------------------------------------ 
# 
$group_status = $lang['Moderator'];

# 
#-----[ REPLACE WITH ]---------------------------------------- 
#
$group_status = $lang['GroupModerator'];


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

# 
#-----[ FIND ]------------------------------------------------ 
#
ucfirst(strtolower($lang['Forum_MOD'])),

# 
#-----[ REPLACE WITH ]---------------------------------------- 
#
ucfirst(strtolower($lang['GroupModerator'])),
第一次架站,這是自已摸索出來的...如果有什麼地方改得不好還請高手賜教 :-D
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8451
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To BlackJK:

我個人以為, 並沒有必要做如此的修正.

一般而言, 設定版面管理員的途徑有二:
  1. 由後台-> 會員管理-> 權限設定
    設定某位會員, 在某個版面, 具有版面管理員的權限
  2. 由後台-> 群組管理-> 權限設定
    設定某個群組, 在某個版面, 具有版面管理員的權限
而不管由哪種途徑所建立的身分, 他們的權限都一樣是版面管理員,
並沒有必要區分是版面管理員或群組管理員.
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!
BlackJK
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-09-19 02:01

文章 BlackJK »

心靈捕手 寫:To BlackJK:
而不管由哪種途徑所建立的身分, 他們的權限都一樣是版面管理員,
並沒有必要區分是版面管理員或群組管理員.
原來如此...那算是我多事了...


不過我是幫系上架的站,怕以後學弟妹接手會搞不清楚,所以我還是得改...Orz
DL
竹貓忠實會員
竹貓忠實會員
文章: 717
註冊時間: 2005-03-05 15:29

文章 DL »

這根本就是一樣...你這樣改後可能更難明白...
最後由 DL 於 2005-09-24 08:06 編輯,總共編輯了 1 次。
BlackJK
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-09-19 02:01

文章 BlackJK »

DL 寫:這棋本就是一樣...你這樣改後可能更難明白...
不是很了解,是指資料庫裡面的 user_level 嗎???
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8451
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To BlackJK:

因為, 今天又有會員, 提供 Admin_userlist_202 外掛的相關修改,
經過我仔細地察看結果, 發現: 您的觀察與見解, 的確是正確的!

之前, 我沒有詳細地察看整個外掛的使用情況, 所以誤解了您的用心良苦,
在此, 特地向您致歉, 望請見諒! :oops:

只是, 建議您:
用" 群組組長" 取代" 群組管理員", 應該會更恰當! ;-)

ps.
這個修改, 將分別併入此兩個外掛中, 方便網友們參考.
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!
DL
竹貓忠實會員
竹貓忠實會員
文章: 717
註冊時間: 2005-03-05 15:29

文章 DL »

原來他是在說這個...
BlackJK
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-09-19 02:01

文章 BlackJK »

TO:心靈捕手
To BlackJK:
之前, 我沒有詳細地察看整個外掛的使用情況, 所以誤解了您的用心良苦,
在此, 特地向您致歉, 望請見諒! :oops:
大大您別這樣說,小弟只是個新手,第一次架站...
我只不過是自已有一些些程式底子,所以裝外掛的時後同時也會忍不住去注意一下外掛修改的部分、原理、操作...等,發現這個but只是我運氣好吧~~ (ro16)


只是, 建議您:
用" 群組組長" 取代" 群組管理員", 應該會更恰當! ;-)
感謝您的建議,這樣改確是比較適合,我也來去改一下... :P


這個修改, 將分別併入此兩個外掛中, 方便網友們參考
辛苦您了... (ro02)
BlackJK
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-09-19 02:01

文章 BlackJK »

今天剛好又在 Admin_userlist_202 裡發現問題,不知道是不是語法寫錯... :-|
狀況如下:

發私訊時顯示錯誤訊息 ( but 訊息照常發送 )

代碼: 選擇全部

Warning: Wrong parameter count for usort() in /home0/teacher/www/ncu7009/public_html/NCU90/Maps/phpBB2/privmsg.php on line 1152

Warning: Cannot modify header information - headers already sent by (output started at /home0/teacher/www/ncu7009/public_html/NCU90/Maps/phpBB2/privmsg.php:1152) in /home0/teacher/www/ncu7009/public_html/NCU90/Maps/phpBB2/includes/page_header.php on line 487

Warning: Cannot modify header information - headers already sent by (output started at /home0/teacher/www/ncu7009/public_html/NCU90/Maps/phpBB2/privmsg.php:1152) in /home0/teacher/www/ncu7009/public_html/NCU90/Maps/phpBB2/includes/page_header.php on line 489

Warning: Cannot modify header information - headers already sent by (output started at /home0/teacher/www/ncu7009/public_html/NCU90/Maps/phpBB2/privmsg.php:1152) in /home0/teacher/www/ncu7009/public_html/NCU90/Maps/phpBB2/includes/page_header.php on line 490
照著訊息找到了 privmsg.php line 1152 ,發現剛好又是Custom mass PM MOD .......... orz

該行程式碼為

代碼: 選擇全部

usort ($to_username_array);
我在網上查到 PHP函數:usort() 的用法,usort ($to_username_array) 應該是少了一個用來決定排序方向的函數,所以把該行改成如下:

代碼: 選擇全部

usort ($to_username_array, 'smiley_sort');
'smiley_sort' 是在bbcode.php裡找到已定義過的函數,也是給 usort() 用的,改完之後就沒有錯誤訊息了。



不過我不知道這樣改有沒有錯,可否請高手幫我看看呢? :roll:



P.S. 搜尋 usort 結果只找到四筆........傻眼... :-o
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8451
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To BlackJK:

我在使用時, 並未出現您說的" 警告訊息".

方便的話, 請貼出該行附近( 上下各 10 行) 的語法.
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!
*tytsim*
竹貓忠實會員
竹貓忠實會員
文章: 411
註冊時間: 2005-03-24 11:54
來自: 香港
聯繫:

文章 *tytsim* »

to BlackJK:
是"bug"
不是"but"
 網絡鎮
    關於網絡的
http://tytsim.net.ru  一個網絡鎮
BlackJK
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-09-19 02:01

文章 BlackJK »

if ( $submit && $mode != 'edit' )
{
//
// Flood control
//
$sql = "SELECT MAX(privmsgs_date) AS last_post_time
FROM " . PRIVMSGS_TABLE . "
WHERE privmsgs_from_userid = " . $userdata['user_id'];
if ( $result = $db->sql_query($sql) )
{
$db_row = $db->sql_fetchrow($result);

$last_post_time = $db_row['last_post_time'];
$current_time = time();

if ( ( $current_time - $last_post_time ) < $board_config['flood_interval'])
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
//
// End Flood control
//
}

if ( $submit )
{
if ( !empty($HTTP_POST_VARS['username']) )
{
// Start replacement - Custom mass PM MOD
$to_username_array = explode (";", $HTTP_POST_VARS['username']);
usort ($to_username_array, 'smiley_sort'); //usort ($to_username_array); ←我改了這行,注解裡的是原本的程式碼
foreach ($to_username_array as $name) $to_usernames .= "'".htmlspecialchars(trim($name))."',";
$to_usernames[strlen($to_usernames)-1]=" ";
// End replacement - Custom mass PM MOD

$sql = "SELECT user_id, username, user_notify_pm, user_email, user_lang, user_active
FROM " . USERS_TABLE . "
WHERE username IN ($to_usernames)
AND user_id <> " . ANONYMOUS . " ORDER BY username ASC";
// 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

$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['No_to_user'];
}

$privmsg_subject = trim(strip_tags($HTTP_POST_VARS['subject']));
if ( empty($privmsg_subject) )
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_subject'];
}

if ( !empty($HTTP_POST_VARS['message']) )
{
if ( !$error )
{
if ( $bbcode_on )
{
$bbcode_uid = make_bbcode_uid();
}

$privmsg_message = prepare_message($HTTP_POST_VARS['message'], $html_on, $bbcode_on, $smilies_on, $bbcode_uid);

}
}
else
{
$error = TRUE;
$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_message'];
}
}
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8451
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To BlackJK:

以下是原 Custom mass PM 1.4.7 安裝說明( 部分擷取):
#
#-----[ OPEN ]------------------------------------------------
#
privmsg.php

#
#-----[ FIND ]------------------------------------------------
#
$to_username = $HTTP_POST_VARS['username'];
\r
#
#-----[ REPLACE WITH ]----------------------------------------
#

// Start replacement - Custom mass PM MOD
$to_username_array = explode (";", $HTTP_POST_VARS['username']);
usort ($to_username_array);
foreach ($to_username_array as $name) $to_usernames .= "'".htmlspecialchars(trim($name))."',";
$to_usernames[strlen($to_usernames)-1]=" ";
// End replacement - Custom mass PM MOD
但是因為該處的程式碼, 在 phpbb 2.0.10 Update 2.0.11 後, 已經有所變更.

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

#
#-----[ FIND ]---------------------------------------------
# Line 1135
$to_username = $HTTP_POST_VARS['username'];

#
#-----[ REPLACE WITH ]---------------------------------------------
#
$to_username = phpbb_clean_username($HTTP_POST_VARS['username']);
SOURCE: http://www.phpbb.com/phpBB/viewtopic.php?t=240611

所以說, 您可以將要取代的地方修改下:
#
#-----[ OPEN ]------------------------------------------------
#
privmsg.php

#
#-----[ FIND ]------------------------------------------------
#
$to_username = phpbb_clean_username($HTTP_POST_VARS['username']);

#
#-----[ REPLACE WITH ]----------------------------------------
#
// Start replacement - Custom mass PM MOD
$to_username_array = explode (";", phpbb_clean_username($HTTP_POST_VARS['username']));
usort ($to_username_array);
foreach ($to_username_array as $name) $to_usernames .= "'".htmlspecialchars(trim($name))."',";
$to_usernames[strlen($to_usernames)-1]=" ";
// End replacement - Custom mass PM MOD
SOURCE: http://mods.db9.dk/viewtopic.php?p=21808#21808

ps.
這個修正我原本已有發表在" 非官方推薦外掛" 版面\r
http://phpbb-tw.net/phpbb/viewtopic.php?t=36201

但是發現有部分錯誤( 如: sort 未升級為 usort),
已修改完畢, 謝謝您的反映! :-D
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!
BlackJK
星球普通子民
星球普通子民
文章: 11
註冊時間: 2005-09-19 02:01

文章 BlackJK »

To 心靈捕手:

原來這地方要這樣改...
我當時裝的時後沒看懂,後來也忘記再檢查.... :-|

不過改完後狀況還是一樣... Orz

我想我明天把個phpbb2.0.17 & 外掛整個重新安裝看看好了
反正我還在本機測試中,架站的機器還沒準備好...
明天安裝完後再上來報告結果囉....

謝謝您這兩天的指導喔... :-D
jwxinst
竹貓忠實會員
竹貓忠實會員
文章: 945
註冊時間: 2006-03-31 10:07
來自: New York, USA     學業狀況: 當天才...       個人狀況: 臭蛋
聯繫:

文章 jwxinst »

今天跟 kkt研究這支外掛的時候, 發現會遇到提問者的情況

由於在竹貓的搜尋器今天發生問題, 我們去了google查了一下
發現以下三個方法可以試試
目前BlackJ的方法的確可以
(暫時這個問題可能是

以下的修正先整理, 或者參考
http://phpbb-tw.net/phpbb/viewtopic.php?p=212117#212117

方法一


搜尋 FIND

代碼: 選擇全部

// Start replacement - Custom mass PM MOD 
$to_username_array = explode (";", phpbb_clean_username($HTTP_POST_VARS['username'])); 
usort ($to_username_array);


IN-LINE FIND

代碼: 選擇全部

usort ($to_username_array);


Replace With 取代

代碼: 選擇全部

usort ($to_username_array, 'smiley_sort');

方法二,這個方法我也測試過的確可以。
http://www.phpbbhacks.com/forums/viewto ... 340#248340

方法三
(在測試中)
目前狀態圖檔
GoKo Music進度: 10%

問個問題不要緊可是沒有發文格式、問題不夠詳細情況,難道要用猜嗎?
新手必讀
[教學] 基本認識、學習、隨我架設phpBB的新手通 -更新至2.0.22
問問題的技巧
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44340
MOD安裝教學及轉碼
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=22832
主題已鎖定

回到「外掛問題討論」