1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-03-20 23:51:28 +01:00

Merge pull request #5354 from Elsensee/ticket/15329

[ticket/15329] Parse drafts before saving them (and decode)
This commit is contained in:
Marc Alexander 2018-10-08 22:21:55 +02:00
commit 2de198e30d
No known key found for this signature in database
GPG Key ID: 50E0D2423696F995
2 changed files with 26 additions and 3 deletions

View File

@ -540,6 +540,9 @@ class ucp_main
$draft_subject = $draft_message = '';
add_form_key('ucp_draft');
include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx);
$message_parser = new parse_message();
if ($delete)
{
if (check_form_key('ucp_draft'))
@ -573,9 +576,19 @@ class ucp_main
{
if ($draft_message && $draft_subject)
{
// $auth->acl_gets can't be used here because it will check for global forum permissions in this case
// In general we don't need too harsh checking here for permissions, as this will be handled later when submitting
$bbcode_status = $auth->acl_get('u_pm_bbcode') || $auth->acl_getf_global('f_bbcode');
$smilies_status = $auth->acl_get('u_pm_smilies') || $auth->acl_getf_global('f_smilies');
$img_status = $auth->acl_get('u_pm_img') || $auth->acl_getf_global('f_img');
$flash_status = $auth->acl_get('u_pm_flash') || $auth->acl_getf_global('f_flash');
$message_parser->message = $draft_message;
$message_parser->parse($bbcode_status, $config['allow_post_links'], $smilies_status, $img_status, $flash_status, true, $config['allow_post_links']);
$draft_row = array(
'draft_subject' => $draft_subject,
'draft_message' => $draft_message
'draft_message' => $message_parser->message,
);
$sql = 'UPDATE ' . DRAFTS_TABLE . '
@ -677,9 +690,16 @@ class ucp_main
$insert_url = append_sid("{$phpbb_root_path}ucp.$phpEx", "i=$id&mode=compose&d=" . $draft['draft_id']);
}
if (!$submit)
{
$message_parser->message = $draft['draft_message'];
$message_parser->decode_message();
$draft_message = $message_parser->message;
}
$template_row = array(
'DATE' => $user->format_date($draft['save_time']),
'DRAFT_MESSAGE' => ($submit) ? $draft_message : $draft['draft_message'],
'DRAFT_MESSAGE' => $draft_message,
'DRAFT_SUBJECT' => ($submit) ? $draft_subject : $draft['draft_subject'],
'TITLE' => $title,

View File

@ -658,13 +658,16 @@ function compose_pm($id, $mode, $action, $user_folders = array())
{
if (confirm_box(true))
{
$message_parser->message = $message;
$message_parser->parse($bbcode_status, $url_status, $smilies_status, $img_status, $flash_status, true, $url_status);
$sql = 'INSERT INTO ' . DRAFTS_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'user_id' => $user->data['user_id'],
'topic_id' => 0,
'forum_id' => 0,
'save_time' => $current_time,
'draft_subject' => $subject,
'draft_message' => $message
'draft_message' => $message_parser->message,
)
);
$db->sql_query($sql);