По сути изменений:
NordWest пишет:Решение проблемы:
Открываем файл setforums.php и ищем кусок кода
CODE:foreach ($allforums as $id => $forum) {
if ($forum['catid'] == $catid) $count++;
}
$count++;
$catid2 = ($subforum) ? 0 : $catid;
$position = ($count<10) ? intval($catid2.'0'.$count):intval($catid2.$count);
Т.е. осуществлялся подсчет количества форумов в категории.
NordWest пишет:который заменяем кодом
CODE:foreach ($allforums as $id => $forum)
{
if ($forum['catid'] == $catid && $count < $forum['position'])
{$count = $forum['position'];}
}
$count++;
$catid2 = ($subforum) ? 0 : $catid;
$position = $count;
Заменяем поиском наибольшего номера позиции форума в категории.
NordWest пишет:
После этого вновь созданные форумы будут получать корректный индекс позиции, т.е. если производить установку с нуля, то больше проблема проявляться не будет.
Для тех же, у кого проблема есть уже сегодня - нужно ещё дополнительно поправить кривую структуру в файле allforums.php
Отдельный скрипт писать не хочу - мне проще, если кому будет нужно, поправить этот файл руками.
Вопрос остается открытым: откуда появляются некорректные номера позиций форума в категории?
(Добавление)
Последнюю строку
CODE:$position = ($count<10) ? intval($catid2.'0'.$count):intval($catid2.$count);
Правильнее оставить прежней, а не заменять ее строкой
|