1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

Merge branch '3.1.x' into 3.2.x

* 3.1.x:
  [ticket/14437] Make sure attachments array is properly ordered before processing
  [ticket/14437] Preserve attachment ID order by ordering by attach_id
  [ticket/14437] Sort attachments after assigning inline attachments
  [ticket/14437] Correctly assume index from attachment display order
This commit is contained in:
Tristan Darricau
2016-03-25 11:48:29 +01:00
3 changed files with 17 additions and 17 deletions

View File

@@ -1091,17 +1091,8 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count_a
unset($new_attachment_data);
}
// Sort correctly
if ($config['display_order'])
{
// Ascending sort
krsort($attachments);
}
else
{
// Descending sort
ksort($attachments);
}
// Make sure attachments are properly ordered
ksort($attachments);
foreach ($attachments as $attachment)
{
@@ -1309,8 +1300,6 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count_a
$attachments = $compiled_attachments;
unset($compiled_attachments);
$tpl_size = sizeof($attachments);
$unset_tpl = array();
preg_match_all('#<!\-\- ia([0-9]+) \-\->(.*?)<!\-\- ia\1 \-\->#', $message, $matches, PREG_PATTERN_ORDER);
@@ -1318,8 +1307,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count_a
$replace = array();
foreach ($matches[0] as $num => $capture)
{
// Flip index if we are displaying the reverse way
$index = ($config['display_order']) ? ($tpl_size-($matches[1][$num] + 1)) : $matches[1][$num];
$index = $matches[1][$num];
$replace['from'][] = $matches[0][$num];
$replace['to'][] = (isset($attachments[$index])) ? $attachments[$index] : sprintf($user->lang['MISSING_INLINE_ATTACHMENT'], $matches[2][array_search($index, $matches[1])]);
@@ -1334,6 +1322,18 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count_a
$unset_tpl = array_unique($unset_tpl);
// Sort correctly
if ($config['display_order'])
{
// Ascending sort
krsort($attachments);
}
else
{
// Descending sort
ksort($attachments);
}
// Needed to let not display the inlined attachments at the end of the post again
foreach ($unset_tpl as $index)
{