Например, загружаем 4 картинки (1.gif, 2.gif, 3.gif, 4.gif) и вставляем их в текст сообщения, получаем:
Код: Выделить всё
[attachment=3]1.gif[/attachment]
[attachment=2]2.gif[/attachment]
[attachment=1]3.gif[/attachment]
[attachment=0]4.gif[/attachment]
Код: Выделить всё
[attachment=3]1.gif[/attachment]
[attachment=0]2.gif[/attachment]
[attachment=2]3.gif[/attachment]
[attachment=1]4.gif[/attachment]
Посему немного порывшись в коде нашёл как НЕ менять дату заливки файла, чтобы не менялся порядок следования ИДшников картинок (сортируются они по времени).
Файл includes/message_parser.php
самый большой кусок, добавляемый по инструкции. В нём выкинул строку
Код: Выделить всё
'filetime' => $filedata['filetime'],
Код: Выделить всё
else if ($update_file && $upload_file)
{
include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message);
$error = array_merge($error, $filedata['error']);
$index = array_keys(request_var('update_file', array(0 => 0)));
$index = (!empty($index)) ? $index[0] : false;
$filename = $filedata['real_filename'];
if ($index !== false && !empty($this->attachment_data[$index]))
{
$sql = 'SELECT attach_id, is_orphan, filesize, physical_filename, thumbnail
FROM ' . ATTACHMENTS_TABLE . '
WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id'] . '
AND poster_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!sizeof($error))
{
$sql_ary = array(
'physical_filename' => $filedata['physical_filename'],
'attach_comment' => $this->filename_data['filecomment'],
'real_filename' => $filedata['real_filename'],
'extension' => $filedata['extension'],
'mimetype' => $filedata['mimetype'],
'filesize' => $filedata['filesize'],
'thumbnail' => $filedata['thumbnail'],
'in_message' => ($is_message) ? 1 : 0,
'poster_id' => $user->data['user_id'],
);
$db->sql_query('UPDATE ' . ATTACHMENTS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id'] );
//Delete old file
phpbb_unlink($row['physical_filename'], 'file');
if ($row['thumbnail'])
{
phpbb_unlink($row['physical_filename'], 'thumbnail');
}
if (!$row['is_orphan'])
{
set_config('upload_dir_size', $config['upload_dir_size'] - $row['filesize'] + $filedata['filesize'], true);
}
// Refresh attachment data
$this->attachment_data[$index]['real_filename'] = $filedata['real_filename'];
$this->attachment_data[$index]['attach_comment'] = ($this->filename_data['filecomment']) ? $this->filename_data['filecomment'] : $this->attachment_data[$index]['attach_comment'];
$this->message = preg_replace("#\[attachment=$index\](.*?)\[\/attachment\]#e", "'[attachment=$index]' . \$filename . '[/attachment]'", $this->message);
$this->filename_data['filecomment'] = '';
}
}
}