|
|
Без описания |
Поиск в теме | Версия для печати |
|
Отправлено: 13 марта 2011 — 03:55
|
Покинул форум
Сообщений всего: 0
Дата рег-ции: N/A
Репутация: 0
|
yura3d пишет:
Строка
CODE:if (count($attaches) !== 0) UpdateAttaches($newtopic,$attaches);
выглядит так:
CODE: if (count($attaches) !== 0) $_attaches = UpdateAttaches($newtopic,$attaches);
и попадается действительно дважды.
Мод "Поиск сообщений пользователя установлен".
Или что-то пропустил в обновлениях? |
|
|
Nikela |
Отправлено: 13 марта 2011 — 18:32
|
Advanced Member
Покинул форум
Сообщений всего: 254
Дата рег-ции: Нояб. 2010
Откуда: Минск
Репутация: 10
|
yura3d пишет:[/list]Откройте файл postings.php, найдите строку:
CODE: if (count($attaches) !== 0) UpdateAttaches($newtopic,$attaches);
Искомая строка встречается в данном файле 2 раза, Вам необходимо запомнить номер строки при второй встрече.
Далее в этом же файле найдите строку:
CODE: $newlastposter = GetName($newtopic[$newlastkey]['p_id']);
Выделите все строки, заключённые между найденными строками (включая найденные). Полученный таким образом фрагмент кода нужно будет заменить на один из следующих:
Начала установку данного мода и сразу возник вопрос: первая строка во второй раз у меня встречается на 1707 строке, вторая строка, которую необходимо найти, у меня располагается под номером 1516, т.е. раньше той, которую я искала первой. Это правильно? Может чтобы не было путаницы в инструкции поиск этих строк поменять местами?(Отредактировано автором: 13 марта 2011 — 18:33) |
|
|
|
Отправлено: 13 марта 2011 — 18:49
|
Покинул форум
Сообщений всего: 0
Дата рег-ции: N/A
Репутация: 0
|
yura3d пишет:Выложите Ваш файл postings.php, посмотрим, почему строки отличаются
Спасибо, но строки я уже заменил, остальное такое же осталось. Файл цепляю.
alexx пишет:Тут этот мод выложен, хороший мод.
Спасибо, но этот мод у меня уже установлен. |
|
|
yura3d |
Отправлено: 13 марта 2011 — 19:04
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Zeg пишет:Спасибо, но строки я уже заменил, остальное такое же осталось. Файл цепляю.
У Вас, очевидно, было установлено старое решение проблемы с потерей прикреплённых файлов в переносимых сообщениях. Для тех, у кого в файле postings.php вместо строк:
CODE: if (count($attaches) !== 0) UpdateAttaches($newtopic,$attaches);
размещаются строки:
CODE: if (count($attaches) !== 0) $_attaches = UpdateAttaches($newtopic,$attaches);
предварительно нужно сделать следующее:Спойлер (Отобразить)В том же файле найдите строки:
CODE: if (count($attaches) !== 0) $_attaches = UpdateAttaches($newtopic,$attaches);
foreach ($_attaches as $post_id => $attach_id)
$newtopic[$post_id]['attach_id'] = $attach_id;
и замените их строкой:
CODE: if (count($attaches) !== 0) UpdateAttaches($newtopic,$attaches);
Далее найдите фрагмент:
CODE:function UpdateAttaches(&$newtopic,&$attaches) {
global $fm, $forum_id, $topic_id, $toforum_id, $newtopic_id;
$_attaches = array();
$old_attach = $fm->_Read2Write($fp_old, 'forum'.$forum_id.'/attaches-'.$topic_id.'.php');
$new_attach = $fm->_Read2Write($fp_new, 'forum'.$toforum_id.'/attaches-'.$newtopic_id.'.php');
$newattach_id = (count($new_attach) == 0) ? 0:max(array_keys($new_attach));
foreach ($attaches as $post_id => $attach_id) {
if (!isset($old_attach[$attach_id]) || !file_exists('uploads/'.$old_attach[$attach_id]['id'])) {
if (file_exists('uploads/'.$old_attach[$attach_id]['id'])) {
unlink('uploads/'.$old_attach[$attach_id]['id']);
}
unset($newtopic[$post_id]['attach_id'],$newtopic[$post_id]['attach_file']);
} else {
$newattach_id++;
$new_attach[$newattach_id] = $old_attach[$attach_id];
$_attaches[$post_id] = $newattach_id;
unset($old_attach[$attach_id]);
}
}
unset($attaches);
$fm->_Write($fp_old,$old_attach);
$fm->_Write($fp_new,$new_attach);
if (count($old_attach) === 0) {
unlink('forum'.$forum_id.'/attaches-'.$topic_id.'.php');
}
if (count($new_attach) === 0) {
unlink('forum'.$toforum_id.'/attaches-'.$newtopic_id.'.php');
}
return $_attaches;
}
и замените его фрагментом:
CODE:function UpdateAttaches(&$newtopic,&$attaches) {
global $fm, $forum_id, $topic_id, $toforum_id, $newtopic_id;
echo '<b>['.$topic_id.'-'.$newtopic_id.']</b>';
$old_attach = $fm->_Read2Write($fp_old, 'forum'.$forum_id.'/attaches-'.$topic_id.'.php');
$new_attach = $fm->_Read2Write($fp_new, 'forum'.$toforum_id.'/attaches-'.$newtopic_id.'.php');
$newattach_id = (count($new_attach) == 0) ? 0:max(array_keys($new_attach));
foreach ($attaches as $post_id => $attach_id) {
if (!isset($old_attach[$attach_id]) || !file_exists('uploads/'.$old_attach[$attach_id]['id'])) {
if (file_exists('uploads/'.$old_attach[$attach_id]['id'])) {
unlink('uploads/'.$old_attach[$attach_id]['id']);
}
unset($newtopic[$post_id]['attach_id'],$newtopic[$post_id]['attach_file']);
} else {
$newattach_id++;
$new_attach[$newattach_id] = $old_attach[$attach_id];
$newtopic[$post_id]['attach_id'] = $newattach_id;
unset($old_attach[$attach_id]);
}
}
unset($attaches);
$fm->_Write($fp_old,$old_attach);
$fm->_Write($fp_new,$new_attach);
if (count($old_attach) === 0) {
unlink('forum'.$forum_id.'/attaches-'.$topic_id.'.php');
}
if (count($new_attach) === 0) {
unlink('forum'.$toforum_id.'/attaches-'.$newtopic_id.'.php');
}
return TRUE;
} |
|
|
alexx |
Отправлено: 13 марта 2011 — 22:20
|
Advanced Member
Покинул форум
Сообщений всего: 495
Дата рег-ции: Февр. 2010
Откуда: Россия
Репутация: 12
|
yura3d пишет:Defenderyk пишет:а это всем надо сделать?
Если наблюдается одна из перечисленных здесь проблем и хочется их исправить, то устанавливать исправление нужно
У меня баги одни от этих исправлений, все перепробовал, вернул все обратно.
Тут предложил Вам.(Отредактировано автором: 13 марта 2011 — 22:21) |
|
|
yura3d |
Отправлено: 14 марта 2011 — 01:17
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Zeg пишет:Потестил. Выяснился один момент. Если сообщение, которое переносится, создано раньше, чем тема, в которую оно переносится, то это сообщение после переноса становится самым первым сообщением в теме. И, соответственно, потом его уже перенести никуда не удастся, если только его не заменить еще более ранним сообщением. В остальном ничего необычного не заметил, все переносится корректно.
Всё верно, теперь у сообщений при переносе сохраняются исходные дата и время их опубликования. Соответственно, в теме-приёмнике после сортировки сообщений по этому параметру сохраняется хронологический порядок их следования
Чуть позже к этому исправлению добавится возможность переносить и удалять первое сообщение темы, а также выделять массив сообщений, не ограниченный размером одной страницы просмотра темы (на основе этой возможности можно будет быстрее и проще "склеивать" похожие темы) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (5): « 1 2 [3] 4 5 » |
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0) |
« Решение проблем » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|