Merge branch '3.3.x'

This commit is contained in:
Marc Alexander 2019-08-11 17:10:42 +02:00
commit 81ce07f56a
No known key found for this signature in database
GPG key ID: 50E0D2423696F995

View file

@ -1987,9 +1987,7 @@ function message_history($msg_id, $user_id, $message_row, $folder, $in_post_mode
$recipients = array_unique($recipients); $recipients = array_unique($recipients);
// Get History Messages (could be newer) // Get History Messages (could be newer)
$sql = 'SELECT t.*, p.*, u.* $sql_where = 't.msg_id = p.msg_id
FROM ' . PRIVMSGS_TABLE . ' p, ' . PRIVMSGS_TO_TABLE . ' t, ' . USERS_TABLE . ' u
WHERE t.msg_id = p.msg_id
AND p.author_id = u.user_id AND p.author_id = u.user_id
AND t.folder_id NOT IN (' . PRIVMSGS_NO_BOX . ', ' . PRIVMSGS_HOLD_BOX . ') AND t.folder_id NOT IN (' . PRIVMSGS_NO_BOX . ', ' . PRIVMSGS_HOLD_BOX . ')
AND ' . $db->sql_in_set('t.author_id', $recipients, false, true) . " AND ' . $db->sql_in_set('t.author_id', $recipients, false, true) . "
@ -2000,13 +1998,37 @@ function message_history($msg_id, $user_id, $message_row, $folder, $in_post_mode
if (!$message_row['root_level']) if (!$message_row['root_level'])
{ {
$sql .= " AND (p.root_level = $msg_id OR (p.root_level = 0 AND p.msg_id = $msg_id))"; $sql_where .= " AND (p.root_level = $msg_id OR (p.root_level = 0 AND p.msg_id = $msg_id))";
} }
else else
{ {
$sql .= " AND (p.root_level = " . $message_row['root_level'] . ' OR p.msg_id = ' . $message_row['root_level'] . ')'; $sql_where .= " AND (p.root_level = " . $message_row['root_level'] . ' OR p.msg_id = ' . $message_row['root_level'] . ')';
} }
$sql .= ' ORDER BY p.message_time DESC';
$sql_ary = array(
'SELECT' => 't.*, p.*, u.*',
'FROM' => array(
PRIVMSGS_TABLE => 'p',
PRIVMSGS_TO_TABLE => 't',
USERS_TABLE => 'u'
),
'LEFT_JOIN' => array(),
'WHERE' => $sql_where,
'ORDER_BY' => 'p.message_time DESC',
);
/**
* Event to modify the SQL query before the message history in private message is queried
*
* @event core.message_history_modify_sql_ary
* @var array sql_ary The SQL array to get the data of the message history in private message
* @since 3.2.8-RC1
*/
$vars = array('sql_ary');
extract($phpbb_dispatcher->trigger_event('core.message_history_modify_sql_ary', compact($vars)));
$sql = $db->sql_build_query('SELECT', $sql_ary);
unset($sql_ary);
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result); $row = $db->sql_fetchrow($result);