diff options
| author | Nils Adermann <naderman@naderman.de> | 2014-05-02 15:54:10 +0200 |
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2014-05-02 15:54:10 +0200 |
| commit | 97e651a4917778bd4294073d254c8735b7b1f4df (patch) | |
| tree | 6fb005f38a35a2ebd2388300df5f79312deb4865 /phpBB/memberlist.php | |
| parent | d52c2d1b5caf1382d178e55eff311ceddf4b392f (diff) | |
| parent | d14aed0819f2314ab0da1787aa7228025a6a024c (diff) | |
| download | forums-97e651a4917778bd4294073d254c8735b7b1f4df.tar forums-97e651a4917778bd4294073d254c8735b7b1f4df.tar.gz forums-97e651a4917778bd4294073d254c8735b7b1f4df.tar.bz2 forums-97e651a4917778bd4294073d254c8735b7b1f4df.tar.xz forums-97e651a4917778bd4294073d254c8735b7b1f4df.zip | |
Merge remote-tracking branch 'github-exreaction/ticket/8323' into develop-ascraeus
* github-exreaction/ticket/8323:
[ticket/8323] Cache auth request
[ticket/8323] Combine into a single query
[ticket/8323] Comments on phpbb_get_banned_user_ids input for test
[ticket/8323] More readability in test case
[ticket/8323] Comments
[ticket/8323] dataProvider for the test; better test data
[ticket/8323] Comments
[ticket/8323] Unit test for phpbb_get_banned_user_ids
[ticket/8323] Comments for inactive reasons in constants.php
[ticket/8323] Only disable administrative deactivated accounts from receiving PMs
[ticket/8323] Allow temporarily banned users to receive PMs, but not a notification
[ticket/8323] Correct PM notification settings (only notify those who can receive them)
[ticket/8323] Cleanup viewtopic code (not sure how this mess happened)
[ticket/8323] Allow sending PMs to temporarily banned users
[ticket/8323] Do not allow sending PMs to Inactive users
[ticket/8323] Hide the Send PM link if users cannot receive the PM
[ticket/8323] Correcting the comment
[ticket/8323] Do not allow sending of Private Messages to users who are banned
[ticket/8323] Remove code used for testing
[ticket/8323] Do not allow sending of Private Messages to users who do not have permission to read private messages
Conflicts:
phpBB/language/en/ucp.php
Diffstat (limited to 'phpBB/memberlist.php')
| -rw-r--r-- | phpBB/memberlist.php | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 63c8dc0c08..9c6b3d278f 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1720,6 +1720,29 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f } } + if (!function_exists('phpbb_get_banned_user_ids')) + { + include($phpbb_root_path . 'includes/functions_user.' . $phpEx); + } + + // Can this user receive a Private Message? + $can_receive_pm = ( + // They must be a "normal" user + $data['user_type'] != USER_IGNORE && + + // They must not be deactivated by the administrator + ($data['user_type'] != USER_INACTIVE && $data['user_inactive_reason'] == INACTIVE_MANUAL) && + + // They must be able to read PMs + sizeof($auth->acl_get_list($user_id, 'u_readpm')) && + + // They must not be permanently banned + !sizeof(phpbb_get_banned_user_ids($user_id, false)) && + + // They must allow users to contact via PM + (($auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_')) || $data['user_allow_pm']) + ); + // Dump it out to the template $template_data = array( 'AGE' => $age, @@ -1748,7 +1771,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f 'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$user_id&sr=posts") : '', 'U_NOTES' => ($user_notes_enabled && $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $user_id, true, $user->session_id) : '', 'U_WARN' => ($warn_user_enabled && $auth->acl_get('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $user_id, true, $user->session_id) : '', - 'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && ($data['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $user_id) : '', + 'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && $can_receive_pm) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $user_id) : '', 'U_EMAIL' => $email, 'U_JABBER' => ($data['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=jabber&u=' . $user_id) : '', |
