Fix Bug #51835 - editing posts with attachments - regression from r9843 introduced in #48265

Authorised by: AcydBurn

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10186 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Joas Schilling 2009-09-25 08:41:47 +00:00
parent 023760c8b2
commit de25ce8724
3 changed files with 5 additions and 52 deletions

View file

@ -1345,7 +1345,7 @@ class parse_message extends bbcode_firstpass
/**
* Parse Attachments
*/
function parse_attachments($form_name, $mode, $forum_id, $submit, $preview, $refresh, $is_message = false, $post_msg_id = 0, $topic_id = 0)
function parse_attachments($form_name, $mode, $forum_id, $submit, $preview, $refresh, $is_message = false)
{
global $config, $auth, $user, $phpbb_root_path, $phpEx, $db;
@ -1498,27 +1498,16 @@ class parse_message extends bbcode_firstpass
'filesize' => $filedata['filesize'],
'filetime' => $filedata['filetime'],
'thumbnail' => $filedata['thumbnail'],
'is_orphan' => ($post_msg_id) ? 0 : 1,
'is_orphan' => 1,
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
if ($post_msg_id)
{
$sql_ary['post_msg_id'] = $post_msg_id;
if ($topic_id)
{
$sql_ary['topic_id'] = $topic_id;
}
set_config_count('upload_dir_size', $filedata['filesize'], true);
set_config_count('num_files', 1, true);
}
$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_entry = array(
'attach_id' => $db->sql_nextid(),
'is_orphan' => ($post_msg_id) ? 0 : 1,
'is_orphan' => 1,
'real_filename' => $filedata['real_filename'],
'attach_comment'=> $this->filename_data['filecomment'],
);

View file

@ -669,22 +669,7 @@ function compose_pm($id, $mode, $action)
}
// Parse Attachments - before checksum is calculated
if ($action == 'edit')
{
$message_parser->parse_attachments('fileupload', $action, 0, $submit, $preview, $refresh, true, $msg_id);
if (sizeof($message_parser->attachment_data))
{
// Update attachment indicators for pms having attachments now, as a precaution if the pm does not get stored by submit
$sql = 'UPDATE ' . PRIVMSGS_TABLE . '
SET message_attachment = 1
WHERE msg_id = ' . $msg_id;
$db->sql_query($sql);
}
}
else
{
$message_parser->parse_attachments('fileupload', $action, 0, $submit, $preview, $refresh, true);
}
$message_parser->parse_attachments('fileupload', $action, 0, $submit, $preview, $refresh, true);
if (sizeof($message_parser->warn_msg) && !($remove_u || $remove_g || $add_to || $add_bcc))
{

View file

@ -742,28 +742,7 @@ if ($submit || $preview || $refresh)
}
// Parse Attachments - before checksum is calculated
if ($mode == 'edit')
{
$message_parser->parse_attachments('fileupload', $mode, $forum_id, $submit, $preview, $refresh, false, $post_id, $topic_id);
if (sizeof($message_parser->attachment_data))
{
// Update attachment indicators for post/topic having attachments now, as a precaution if the post does not get stored by submit
$sql = 'UPDATE ' . POSTS_TABLE . '
SET post_attachment = 1
WHERE post_id = ' . $post_id;
$db->sql_query($sql);
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_attachment = 1
WHERE topic_id = ' . $topic_id;
$db->sql_query($sql);
}
}
else
{
$message_parser->parse_attachments('fileupload', $mode, $forum_id, $submit, $preview, $refresh);
}
$message_parser->parse_attachments('fileupload', $mode, $forum_id, $submit, $preview, $refresh);
// Grab md5 'checksum' of new message
$message_md5 = md5($message_parser->message);