mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
[ticket/15687] Add attachment filename to attachment URL
This will also fix the invalid requirements for the file parameter of the URL. PHPBB3-15687
This commit is contained in:
parent
d73b60781e
commit
df6ab1a811
7 changed files with 68 additions and 11 deletions
|
@ -4,8 +4,9 @@ phpbb_storage_avatar:
|
||||||
_controller: storage.controller.avatar:handle
|
_controller: storage.controller.avatar:handle
|
||||||
|
|
||||||
phpbb_storage_attachment:
|
phpbb_storage_attachment:
|
||||||
path: /attachment/{file}
|
path: /attachment/{file}/{filename}
|
||||||
defaults:
|
defaults:
|
||||||
|
filename: ''
|
||||||
_controller: storage.controller.attachment:handle
|
_controller: storage.controller.attachment:handle
|
||||||
requirements:
|
requirements:
|
||||||
id: \d+
|
file: \d+
|
||||||
|
|
|
@ -1112,7 +1112,13 @@ class acp_attachments
|
||||||
'PHYSICAL_FILENAME' => utf8_basename($row['physical_filename']),
|
'PHYSICAL_FILENAME' => utf8_basename($row['physical_filename']),
|
||||||
'ATTACH_ID' => $row['attach_id'],
|
'ATTACH_ID' => $row['attach_id'],
|
||||||
'POST_ID' => (!empty($post_ids[$row['attach_id']])) ? $post_ids[$row['attach_id']] : '',
|
'POST_ID' => (!empty($post_ids[$row['attach_id']])) ? $post_ids[$row['attach_id']] : '',
|
||||||
'U_FILE' => $this->controller_helper->route('phpbb_storage_attachment', ['file' => (int) $row['attach_id']])
|
'U_FILE' => $this->controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $row['attach_id'],
|
||||||
|
'filename' => $row['real_filename'],
|
||||||
|
]
|
||||||
|
),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
@ -1302,7 +1308,13 @@ class acp_attachments
|
||||||
'S_IN_MESSAGE' => (bool) $row['in_message'],
|
'S_IN_MESSAGE' => (bool) $row['in_message'],
|
||||||
|
|
||||||
'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p={$row['post_msg_id']}") . "#p{$row['post_msg_id']}",
|
'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p={$row['post_msg_id']}") . "#p{$row['post_msg_id']}",
|
||||||
'U_FILE' => $this->controller_helper->route('phpbb_storage_attachment', ['file' => $row['attach_id']])
|
'U_FILE' => $this->controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => $row['attach_id'],
|
||||||
|
'filename' => $row['real_filename'],
|
||||||
|
]
|
||||||
|
)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2306,7 +2306,13 @@ class acp_users
|
||||||
|
|
||||||
'S_IN_MESSAGE' => $row['in_message'],
|
'S_IN_MESSAGE' => $row['in_message'],
|
||||||
|
|
||||||
'U_DOWNLOAD' => $controller_helper->route('phpbb_storage_attachment', ['file' => (int) $row['attach_id']]),
|
'U_DOWNLOAD' => $controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $row['attach_id'],
|
||||||
|
'filename' => $row['real_filename'],
|
||||||
|
]
|
||||||
|
),
|
||||||
'U_VIEW_TOPIC' => $view_topic)
|
'U_VIEW_TOPIC' => $view_topic)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1285,14 +1285,26 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count_a
|
||||||
$display_cat = attachment_category::NONE;
|
$display_cat = attachment_category::NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
$download_link = $controller_helper->route('phpbb_storage_attachment', ['file' => (int) $attachment['attach_id']]);
|
$download_link = $controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $attachment['attach_id'],
|
||||||
|
'filename' => $attachment['real_filename'],
|
||||||
|
]
|
||||||
|
);
|
||||||
$l_downloaded_viewed = 'VIEWED_COUNTS';
|
$l_downloaded_viewed = 'VIEWED_COUNTS';
|
||||||
|
|
||||||
switch ($display_cat)
|
switch ($display_cat)
|
||||||
{
|
{
|
||||||
// Images
|
// Images
|
||||||
case attachment_category::IMAGE:
|
case attachment_category::IMAGE:
|
||||||
$inline_link = $controller_helper->route('phpbb_storage_attachment', ['file' => (int) $attachment['attach_id']]);
|
$inline_link = $controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $attachment['attach_id'],
|
||||||
|
'filename' => $attachment['real_filename'],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
$block_array += array(
|
$block_array += array(
|
||||||
'S_IMAGE' => true,
|
'S_IMAGE' => true,
|
||||||
|
@ -1304,7 +1316,14 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count_a
|
||||||
|
|
||||||
// Images, but display Thumbnail
|
// Images, but display Thumbnail
|
||||||
case attachment_category::THUMB:
|
case attachment_category::THUMB:
|
||||||
$thumbnail_link = $controller_helper->route('phpbb_storage_attachment', ['file' => (int) $attachment['attach_id'], 't' => 1]);
|
$thumbnail_link = $controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $attachment['attach_id'],
|
||||||
|
'filename' => $attachment['real_filename'],
|
||||||
|
't' => 1,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
$block_array += array(
|
$block_array += array(
|
||||||
'S_THUMBNAIL' => true,
|
'S_THUMBNAIL' => true,
|
||||||
|
|
|
@ -868,7 +868,14 @@ function posting_gen_attachment_entry($attachment_data, &$filename_data, $show_a
|
||||||
$hidden .= '<input type="hidden" name="attachment_data[' . $count . '][' . $key . ']" value="' . $value . '" />';
|
$hidden .= '<input type="hidden" name="attachment_data[' . $count . '][' . $key . ']" value="' . $value . '" />';
|
||||||
}
|
}
|
||||||
|
|
||||||
$download_link = $phpbb_container->get('controller.helper')->route('phpbb_storage_attachment', ['file' => (int) $attach_row['attach_id']]);
|
$download_link = $phpbb_container->get('controller.helper')
|
||||||
|
->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $attach_row['attach_id'],
|
||||||
|
'filename' => $attachment['real_filename'],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
$attachrow_template_vars[(int) $attach_row['attach_id']] = array(
|
$attachrow_template_vars[(int) $attach_row['attach_id']] = array(
|
||||||
'FILENAME' => utf8_basename($attach_row['real_filename']),
|
'FILENAME' => utf8_basename($attach_row['real_filename']),
|
||||||
|
|
|
@ -1716,7 +1716,13 @@ class parse_message extends bbcode_firstpass
|
||||||
|
|
||||||
if (isset($this->plupload) && $this->plupload->is_active())
|
if (isset($this->plupload) && $this->plupload->is_active())
|
||||||
{
|
{
|
||||||
$download_url = $controller_helper->route('phpbb_storage_attachment', ['file' => (int) $new_entry['attach_id']]);
|
$download_url = $controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $new_entry['attach_id'],
|
||||||
|
'filename' => $attachment['real_filename'],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
// Send the client the attachment data to maintain state
|
// Send the client the attachment data to maintain state
|
||||||
$json_response->send(array('data' => $this->attachment_data, 'download_url' => $download_url));
|
$json_response->send(array('data' => $this->attachment_data, 'download_url' => $download_url));
|
||||||
|
|
|
@ -185,7 +185,13 @@ class ucp_attachments
|
||||||
'S_IN_MESSAGE' => $row['in_message'],
|
'S_IN_MESSAGE' => $row['in_message'],
|
||||||
'S_LOCKED' => !$row['in_message'] && !$auth->acl_get('m_edit', $row['forum_id']) && ($row['forum_status'] == ITEM_LOCKED || $row['topic_status'] == ITEM_LOCKED || $row['post_edit_locked']),
|
'S_LOCKED' => !$row['in_message'] && !$auth->acl_get('m_edit', $row['forum_id']) && ($row['forum_status'] == ITEM_LOCKED || $row['topic_status'] == ITEM_LOCKED || $row['post_edit_locked']),
|
||||||
|
|
||||||
'U_VIEW_ATTACHMENT' => $controller_helper->route('phpbb_storage_attachment', ['file' => (int) $row['attach_id']]),
|
'U_VIEW_ATTACHMENT' => $controller_helper->route(
|
||||||
|
'phpbb_storage_attachment',
|
||||||
|
[
|
||||||
|
'file' => (int) $row['attach_id'],
|
||||||
|
'filename' => $row['real_filename'],
|
||||||
|
]
|
||||||
|
),
|
||||||
'U_VIEW_TOPIC' => $view_topic)
|
'U_VIEW_TOPIC' => $view_topic)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue