mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-15 05:24:41 +01:00
#50985 - fix XML export of private messages sent to deleted users
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10329 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
b6f9a1a6e8
commit
d779e1267d
@ -116,6 +116,7 @@
|
|||||||
<li>[Fix] Correctly check for empty strings in custom profile fields. (Bug #55335)</li>
|
<li>[Fix] Correctly check for empty strings in custom profile fields. (Bug #55335)</li>
|
||||||
<li>[Fix] Use correct options to parse BBCodes in signatures when previewing PMs.</li>
|
<li>[Fix] Use correct options to parse BBCodes in signatures when previewing PMs.</li>
|
||||||
<li>[Fix] Correct rendering of prosilver quick reply under IE6. (Bug #54115 - Patch by Raimon)</li>
|
<li>[Fix] Correct rendering of prosilver quick reply under IE6. (Bug #54115 - Patch by Raimon)</li>
|
||||||
|
<li>[Fix] Handle export of private messages where all recipients were deleted. (Bug #50985)</li>
|
||||||
<li>[Change] Log activation through inactive users ACP. (Bug #30145)</li>
|
<li>[Change] Log activation through inactive users ACP. (Bug #30145)</li>
|
||||||
<li>[Change] Send time of last item instead of current time in ATOM Feeds. (Bug #53305)</li>
|
<li>[Change] Send time of last item instead of current time in ATOM Feeds. (Bug #53305)</li>
|
||||||
<li>[Change] Use em dash instead of hyphen/minus as separator in ATOM Feeds item statistics. (Bug #53565)</li>
|
<li>[Change] Use em dash instead of hyphen/minus as separator in ATOM Feeds item statistics. (Bug #53565)</li>
|
||||||
|
@ -200,13 +200,15 @@ function view_folder($id, $mode, $folder_id, $folder)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Build Recipient List if in outbox/sentbox
|
// Build Recipient List if in outbox/sentbox
|
||||||
$address = $data = array();
|
|
||||||
|
$address_temp = $address = $data = array();
|
||||||
|
|
||||||
if ($folder_id == PRIVMSGS_OUTBOX || $folder_id == PRIVMSGS_SENTBOX)
|
if ($folder_id == PRIVMSGS_OUTBOX || $folder_id == PRIVMSGS_SENTBOX)
|
||||||
{
|
{
|
||||||
foreach ($folder_info['rowset'] as $message_id => $row)
|
foreach ($folder_info['rowset'] as $message_id => $row)
|
||||||
{
|
{
|
||||||
$address[$message_id] = rebuild_header(array('to' => $row['to_address'], 'bcc' => $row['bcc_address']));
|
$address_temp[$message_id] = rebuild_header(array('to' => $row['to_address'], 'bcc' => $row['bcc_address']));
|
||||||
|
$address[$message_id] = array();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,8 +232,12 @@ function view_folder($id, $mode, $folder_id, $folder)
|
|||||||
$_types = array('u', 'g');
|
$_types = array('u', 'g');
|
||||||
foreach ($_types as $ug_type)
|
foreach ($_types as $ug_type)
|
||||||
{
|
{
|
||||||
if (isset($address[$message_id][$ug_type]) && sizeof($address[$message_id][$ug_type]))
|
if (isset($address_temp[$message_id][$ug_type]) && sizeof($address_temp[$message_id][$ug_type]))
|
||||||
{
|
{
|
||||||
|
if (!isset($address[$message_id][$ug_type]))
|
||||||
|
{
|
||||||
|
$address[$message_id][$ug_type] = array();
|
||||||
|
}
|
||||||
if ($ug_type == 'u')
|
if ($ug_type == 'u')
|
||||||
{
|
{
|
||||||
$sql = 'SELECT user_id as id, username as name
|
$sql = 'SELECT user_id as id, username as name
|
||||||
@ -244,19 +250,29 @@ function view_folder($id, $mode, $folder_id, $folder)
|
|||||||
FROM ' . GROUPS_TABLE . '
|
FROM ' . GROUPS_TABLE . '
|
||||||
WHERE ';
|
WHERE ';
|
||||||
}
|
}
|
||||||
$sql .= $db->sql_in_set(($ug_type == 'u') ? 'user_id' : 'group_id', array_map('intval', array_keys($address[$message_id][$ug_type])));
|
$sql .= $db->sql_in_set(($ug_type == 'u') ? 'user_id' : 'group_id', array_map('intval', array_keys($address_temp[$message_id][$ug_type])));
|
||||||
|
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
while ($info_row = $db->sql_fetchrow($result))
|
while ($info_row = $db->sql_fetchrow($result))
|
||||||
{
|
{
|
||||||
$address[$message_id][$ug_type][$address[$message_id][$ug_type][$info_row['id']]][] = $info_row['name'];
|
$address[$message_id][$ug_type][$address_temp[$message_id][$ug_type][$info_row['id']]][] = $info_row['name'];
|
||||||
unset($address[$message_id][$ug_type][$info_row['id']]);
|
unset($address_temp[$message_id][$ug_type][$info_row['id']]);
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// There is the chance that all recipients of the message got deleted. To avoid creating
|
||||||
|
// exports without recipients, we add a bogus "undisclosed recipient".
|
||||||
|
if (!(isset($address[$message_id]['g']) && sizeof($address[$message_id]['g'])) &&
|
||||||
|
!(isset($address[$message_id]['u']) && sizeof($address[$message_id]['u'])))
|
||||||
|
{
|
||||||
|
$address[$message_id]['u'] = array();
|
||||||
|
$address[$message_id]['u']['to'] = array();
|
||||||
|
$address[$message_id]['u']['to'][] = $user->lang['UNDISCLOSED_RECIPIENT'];
|
||||||
|
}
|
||||||
|
|
||||||
decode_message($message_row['message_text'], $message_row['bbcode_uid']);
|
decode_message($message_row['message_text'], $message_row['bbcode_uid']);
|
||||||
|
|
||||||
$data[] = array(
|
$data[] = array(
|
||||||
|
@ -460,6 +460,7 @@ $lang = array_merge($lang, array(
|
|||||||
'UCP_ZEBRA' => 'Friends & Foes',
|
'UCP_ZEBRA' => 'Friends & Foes',
|
||||||
'UCP_ZEBRA_FOES' => 'Manage foes',
|
'UCP_ZEBRA_FOES' => 'Manage foes',
|
||||||
'UCP_ZEBRA_FRIENDS' => 'Manage friends',
|
'UCP_ZEBRA_FRIENDS' => 'Manage friends',
|
||||||
|
'UNDISCLOSED_RECIPIENT' => 'Undisclosed Recipient',
|
||||||
'UNKNOWN_FOLDER' => 'Unknown folder',
|
'UNKNOWN_FOLDER' => 'Unknown folder',
|
||||||
'UNWATCH_MARKED' => 'Unwatch marked',
|
'UNWATCH_MARKED' => 'Unwatch marked',
|
||||||
'UPLOAD_AVATAR_FILE' => 'Upload from your machine',
|
'UPLOAD_AVATAR_FILE' => 'Upload from your machine',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user