Очередное обновление для ExBB FM 1.0 RC1, которое можно отнести к разряду критических, т.е. обязательных к установке. Исправлена ошибка, приводящая в некоторых случаях к зависанию форума при попытке перемещения сообщений из одной темы в другую, а также поправлен механизм формирования ссылок на последнее сообщение (на главной странице форума) после перемещения сообщений. Для установки обновления закачайте в корневую папку форума файл postings.php из прикреплённого к этому сообщению архива. Если Вам по каким-либо причинам неуместно прибегать к полной замене файла postings.php (установлены моды Спойлер, Ограничение времени редактирования сообщений и некоторые другие), то для установки обновления потребуется внести в него следующие изменения.
Откройте файл и найдите строки:
CODE:// Если посты переносятся в тему, находящуюся в подфоруме, то обновляем ластпост родительского форума
// Также в этом форуме увеличим число тем на 1 и число ответов на кол-во перемещаемых сообщений минус 1
$pcatid = $allforums[$toforum_id]['catid'];
if (stristr($pcatid, 'f')) {
$pforum = substr($pcatid, 1, strlen($pcatid) - 1);
$allforums[$pforum]['topics']++;
$allforums[$pforum]['posts'] += $countmoving - 1;
relast_post($pforum);
}
И переместите их, разместив сразу после строк:
CODE:$allforums[$forum_id]['last_poster'] = $list[$oldlasttopic]['poster'];
$allforums[$forum_id]['last_poster_id'] = $list[$oldlasttopic]['p_id'];
$allforums[$forum_id]['last_time'] = $list[$oldlasttopic]['postdate'];
$allforums[$forum_id]['last_key'] = $list[$oldlasttopic]['postkey'];
$allforums[$forum_id]['last_post'] = $list[$oldlasttopic]['name'];
$allforums[$forum_id]['last_post_id'] = $oldlasttopic;
$allforums[$forum_id]['posts'] = ($movingFlag === TRUE) ? $allforums[$forum_id]['posts']-$countmoving:$allforums[$forum_id]['posts']-1;
$allforums[$forum_id]['topics'] = count($list);
Далее найдите строки:
CODE:// Если сообщения перемещаются в тему, находящуюся в подфоруме, то обновим ластпост в родительском форуме
// Также прибавим к числу ответов этого форума кол-во перемещаемых сообщений
$pcatid = $allforums[$toforum_id]['catid'];
if (stristr($pcatid, 'f')) {
$pforum = substr($pcatid, 1, strlen($pcatid) - 1);
$allforums[$pforum]['posts'] += $countmoving;
relast_post($pforum);
}
И переместите их, разместив сразу после строк (эти строки встречаются в файле 2 раза, нас интересует вторая встреча):
CODE:$allforums[$forum_id]['last_poster'] = $list[$oldlasttopic]['poster'];
$allforums[$forum_id]['last_poster_id'] = $list[$oldlasttopic]['p_id'];
$allforums[$forum_id]['last_time'] = $list[$oldlasttopic]['postdate'];
$allforums[$forum_id]['last_key'] = $list[$oldlasttopic]['postkey'];
$allforums[$forum_id]['last_post'] = $list[$oldlasttopic]['name'];
$allforums[$forum_id]['last_post_id'] = $oldlasttopic;
Это исправление уже включено в дистрибутив |