1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-26 01:43:45 +02:00

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
This commit is contained in:
Nils Adermann
2014-05-02 15:54:10 +02:00
8 changed files with 248 additions and 27 deletions

View File

@@ -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) : '',