ExBB Community » Файловый ExBB » Решение проблем » Переход на следующую страницу темы после публикации сообщения

Страниц (2): [1] 2 »
 

1. Pauk - 28 января 2011 — 13:25 - перейти к сообщению
После публикации последнего сообщения на странице не происходит переход на следующую.
Ну например - на странице разрешено 30 сообщений... так вот после публикации 31 сообщения (которое должно публиковаться на вторую страницу), не происходит переход именно на вторую страницу, а остаюсь на первой.
И вот получается ты пишешь сообщение, оно отправляется и я снова оказываюсь на первой странице и вижу что последнее сообщение не мое... сперва недоумение, куда делся мой только что опубликованный пост??? и только потом видно что страниц в теме уже две ))))

Заметил что на форуме поддержки такого нет, видимо где то я что то ковырнул при установке модов...

Извиняюсь за сумбурное изложение своих мыслей, ну как смог ))))
2. Flanker - 8 февраля 2011 — 15:05 - перейти к сообщению
Вот-вот, такая же проблема встречается, решение не помешало бы.

Еще примерно в том же роде проблемы с переходом в тему по ссылке "последняя страница". Выкидывает в итоге вместо 25-ой на 22-ую страницу.
3. саня - 1 июня 2011 — 18:14 - перейти к сообщению
кстати тема-то актуальна
4. Zeg - 4 июня 2011 — 06:54 - перейти к сообщению
Не совсем описанная проблема, но близко. Если в отдельном форуме все темы прикрепленные (допустим только создали форум и в него добавили 2 темы с правилами и пр.), то тогда не верно ведет себя счетчик страниц. Отображается " "Страниц: 0 >>", причем ">>" - ссылка на страницу 2 (p=2), на нее даже можно перейти. А от туда "<<" - переход на страницу "-1" (p=-1). Открепление хотя бы одной темы решает проблему.

Тоже самое наблюдается, если в форуме вообще нет тем.

... или в топике есть только одно сообщение и оно прикреплено.
5. Nikela - 4 июня 2011 — 09:09 - перейти к сообщению
Zeg, ага, а еще есть схожая проблема, если в теме прикрепленный пост, описывала тут - http://exbb.info/community/topic...55134#1300055134
6. Zeg - 4 июня 2011 — 14:55 - перейти к сообщению
Nikela, думаю, грабля (и ноги) общие у этих багов.
7. yura3d - 12 июня 2011 — 21:51 - перейти к сообщению
Zeg пишет:
Не совсем описанная проблема, но близко. Если в отдельном форуме все темы прикрепленные (допустим только создали форум и в него добавили 2 темы с правилами и пр.), то тогда не верно ведет себя счетчик страниц. Отображается " "Страниц: 0 >>", причем ">>" - ссылка на страницу 2 (p=2), на нее даже можно перейти. А от туда "<<" - переход на страницу "-1" (p=-1). Открепление хотя бы одной темы решает проблему.

Тоже самое наблюдается, если в форуме вообще нет тем.

... или в топике есть только одно сообщение и оно прикреплено.

Решается довольно просто сразу для всех описанных случаев. Откройте файл include/lib.php, найдите строку:
CODE:
$total_pages = ceil($total/$per);

и под ней разместите строки:
CODE:
if (!$total_pages) {
$total_pages = 1;
}


Nikela пишет:
Zeg, ага, а еще есть схожая проблема, если в теме прикрепленный пост, описывала тут - http://exbb.info/community/topic...55134#1300055134

Тут несколько посложнее. Откройте файл postings.php, найдите строки:
CODE:
// Упорядочение массива ключей прикреплённых сообщений
if (empty($threads[$firstkey]['pinmsg'])) unset($threads[$firstkey]['pinmsg']);
else sort($threads[$firstkey]['pinmsg']);

// Сохраняем файл темы
$fm->_Write($fp_threads, $threads);

// Запись в лог инфы о прикреплении / откреплении сообщения
$fm->_WriteLog(sprintf(($msg == $fm->LANG['MsgPinned']) ? $fm->LANG['PinMsgLog'] : $fm->LANG['UnpinMsgLog'], $threads[$firstkey]['name'],
strip_tags($allforums[$fm->input['forum']]['name'])), 2);

и замените их строками:
CODE:
// Упорядочение массива ключей прикреплённых сообщений
if (empty($threads[$firstkey]['pinmsg'])) unset($threads[$firstkey]['pinmsg']);
else sort($threads[$firstkey]['pinmsg']);

$name = $threads[$firstkey]['name'];
$ps = (isset($threads[$firstkey]['pinmsg'])) ? count($threads[$firstkey]['pinmsg']) : 0;

// Сохраняем файл темы
$fm->_Write($fp_threads, $threads);
unset($threads);

$list = $fm->_Read2Write($fpList, "forum{$fm->input['forum']}/list.php");
if ($ps) {
$list[$fm->input['topic']]['ps'] = $ps;
}
else {
unset($list[$fm->input['topic']]['ps']);
}
$fm->_Write($fpList, $list);
unset($list);

// Запись в лог инфы о прикреплении / откреплении сообщения
$fm->_WriteLog(sprintf(($msg == $fm->LANG['MsgPinned']) ? $fm->LANG['PinMsgLog'] : $fm->LANG['UnpinMsgLog'], $name,
strip_tags($allforums[$fm->input['forum']]['name'])), 2);

Далее в файле forums.php найдите строку:
CODE:
$totalpages = ceil($totalposts/intval($fm->user['posts2page']));

и замените её строками:
CODE:
if (!isset($topics[$topic_id]['ps'])) {
$totalpages = ceil($totalposts / intval($fm->user['posts2page']));
}
else {
$totalpages = ceil(($totalposts - $topics[$topic_id]['ps']) / (intval($fm->user['posts2page']) - $topics[$topic_id]['ps']));
}

Наконец, в файле post.php найдите строки:
CODE:
/* Сохраняем флокнутые файлы*/
$fm->_Write($fp_topic,$topic);

$TotalPosts = count($topic)-1;
unset($allmessages);

if ($PostAdded) $allforums[$forum_id]['posts']++;

и над ними вставьте строки:
CODE:
reset($topic);
$firstkey = key($topic);
if (isset($topic[$firstkey]['pinmsg']) && !isset($topic[$firstkey]['ps'])) {
$list[$topic_id]['ps'] = count($topic[$firstkey]['pinmsg']);
}

Важно отметить, что информация о кол-ве страниц в теме с прикреплёнными сообщениями обновиться (на странице просмотра раздела), как только в тему будет добавлено очередное сообщение (уже после установки данного исправления). Также обновление будет производиться при каждой последующей операции прикрепления/открепления сообщений в теме.
8. Nikela - 13 июня 2011 — 20:16 - перейти к сообщению
yura3d, у меня все работает отлично, прошлась пооткрепляла и снова прикрепляла мессаги, все обновилось и больше не глючит. Спасибо.
9. Flanker - 21 июня 2011 — 06:07 - перейти к сообщению
yura3d пишет:
Решается довольно просто сразу для всех описанных случаев. Откройте файл include/lib.php, найдите строку:

Попробовал, но это не решает уже упомянутую проблему
Цитата:
Еще примерно в том же роде проблемы с переходом в тему по ссылке "последняя страница". Выкидывает в итоге вместо 25-ой на 22-ую страницу.
10. nayada - 21 августа 2011 — 16:58 - перейти к сообщению
да, хотелось бы получить решение, у меня тоже на первое сообщение на новой странице не переходит...
11. BON - 21 августа 2011 — 19:35 - перейти к сообщению
странно, у меня всё нормально.
12. CAB - 8 ноября 2011 — 08:12 - перейти к сообщению
Установил вчера данное исправление. Сегодня как раз подошла одна тема для проверки. Но не сработало - переход на следующую страницу темы после публикации сообщения не произошёл, остался на первой странице. Что не так?
13. саня - 8 ноября 2011 — 08:24 - перейти к сообщению
у BON"а постоянно переводит Хм , у меня на денвере когда как.
14. CAB - 9 ноября 2011 — 21:57 - перейти к сообщению
Немного поэкспериментировал... Что получается, у меня при переходе по ссылке вида
CODE:
http://exbb.info/community/topic.php?forum=8&topic=19&postid=1295110252#1295110252
на первое сообщение любой страницы, кроме первой, перебрасывает на предыдущую страницу. Ссылки на сообщения первой страницы и не первые сообщения других страниц отрабатываются нормально. На этом форуме такого нет, все ссылки отрабатываются корректно. Какое ещё исправление я пропустил?
15. CAB - 9 ноября 2011 — 22:05 - перейти к сообщению
Прикладываю свой файл lib.php. У кого работает исправно, как на этом форуме, посмотрите, пожалуйста, в чём разница с Вашим.
(Добавление)
У меня появилась мысль, что такая фиговина происходит из-за того, что первое сообщение темы (стартовое) где-то не считается за пост...

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0254]     [ ]