Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.
total posts (всего сообщений) - проблема счетчика?
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 1.2.0
- Сообщения: 15
- Стаж: 4 года 2 месяца
total posts (всего сообщений) - проблема счетчика?
Только что заметил проблемку и не пойму откуда. или раньше не замечал или что-то накрутил (день тяжелый выдался).
В статистике форума (phpbb 3.2.5) есть счетчик Всего сообщений. После внесения изменений в таблицы данных, заметил, что создавая новую тему, тестовую, счетчик ее считает, но после удаления этой темы, значение счетчика не уменьшается на 1, а остается прежним, т.е. счетчик не отражает реальное положение дел...
Ну, думаю, долазился в БД... делаю откат на резервную копию... Создаю опять тестовую тему, удаляю, и баг не исчезает (кэш чистил). До резервной копии в базах данных не лазил вообще, форум установил недавно...
Кто сталкивался с такой проблемой? Может так и должно быть (на версии phpbb 3.0... все нормально и этого бага нет)? Как решается?
В чем может быть причина и Где локализован TOTAL POSTS?
В статистике форума (phpbb 3.2.5) есть счетчик Всего сообщений. После внесения изменений в таблицы данных, заметил, что создавая новую тему, тестовую, счетчик ее считает, но после удаления этой темы, значение счетчика не уменьшается на 1, а остается прежним, т.е. счетчик не отражает реальное положение дел...
Ну, думаю, долазился в БД... делаю откат на резервную копию... Создаю опять тестовую тему, удаляю, и баг не исчезает (кэш чистил). До резервной копии в базах данных не лазил вообще, форум установил недавно...
Кто сталкивался с такой проблемой? Может так и должно быть (на версии phpbb 3.0... все нормально и этого бага нет)? Как решается?
В чем может быть причина и Где локализован TOTAL POSTS?
-
- Поддержка
- Сообщения: 11842
- Стаж: 11 лет 9 месяцев
- Благодарил (а): 149 раз
- Поблагодарили: 2277 раз
Re: total posts (всего сообщений) - проблема счетчика?
И БД, и файлы одной версии?
БД перед перезаливкой очищали? (Не всегда без очистки заливается без ошибок)
-
- phpBB 1.2.0
- Сообщения: 15
- Стаж: 4 года 2 месяца
Re: total posts (всего сообщений) - проблема счетчика?
Да, одной версии.
Заливал не я, а тех. помощь на хостинге (попросил их). Все данные вернулись к первоначальным значениям, а вот этот баг остался, типа он был до ... но я видимо его не замечал.
Интересно узнать локализацию этого параметра в коде и базах. И как он вообще работает. Гуглил - не нагуглилось.

-
- Поддержка
- Сообщения: 11842
- Стаж: 11 лет 9 месяцев
- Благодарил (а): 149 раз
- Поблагодарили: 2277 раз
Re: total posts (всего сообщений) - проблема счетчика?
Локализован - это переведён на другой язык
Где-то в папке language/ru перевод есть
Где-то в папке language/ru перевод есть
-
- phpBB 1.2.0
- Сообщения: 15
- Стаж: 4 года 2 месяца
Re: total posts (всего сообщений) - проблема счетчика?
Цифра общего количества постов локализована в таблице БД phpbb_config под именем параметра num_posts
Изменил, но при удалении тестового поста по-прежнему не вычитает единицу (только прибавляет в момент создания нового поста) из num_posts... Может кто знает точно, где в коде происходит данная операция, или может не в коде а в БД как-то где-то?
Изменил, но при удалении тестового поста по-прежнему не вычитает единицу (только прибавляет в момент создания нового поста) из num_posts... Может кто знает точно, где в коде происходит данная операция, или может не в коде а в БД как-то где-то?

-
- Former team member
- Сообщения: 3468
- Стаж: 9 лет 1 месяц
- Благодарил (а): 41 раз
- Поблагодарили: 828 раз
Re: total posts (всего сообщений) - проблема счетчика?
repitchem, Вы удаляете безвозвратно или в корзину?
-
- phpBB 1.2.0
- Сообщения: 15
- Стаж: 4 года 2 месяца
Re: total posts (всего сообщений) - проблема счетчика?
Безвозвратно - ставлю галку
Отправлено спустя 20 минут 27 секунд:
В общем решил проблему, сомнительно, перепробовав кучу вариантов.
Скорей всего, удаление темы и поста в теме осуществляется функцией function delete_post(........), includes/functions_posting.php вот в этой функции я и заменил часть кода:
на
Возможно это не правильно и так нельзя, но оно работает. Кто что думает, знает, подразобрался лучше - пишите.
P.S. Скачивал чистые дестрибютивы phpbb 3.2.5 & 3.2.4 и полностью копировал / вставлял код из чистого файла в тот что на моем форуме - баг оставался.
Отправлено спустя 20 минут 27 секунд:
В общем решил проблему, сомнительно, перепробовав кучу вариантов.
Скорей всего, удаление темы и поста в теме осуществляется функцией function delete_post(........), includes/functions_posting.php вот в этой функции я и заменил часть кода:
Код: Выделить всё
// Specify our post mode
$post_mode = 'delete';
if (($data['topic_first_post_id'] === $data['topic_last_post_id']) && ($data['topic_posts_approved'] + $data['topic_posts_unapproved'] + $data['topic_posts_softdeleted'] == 1))
{
$post_mode = 'delete_topic';
}
Код: Выделить всё
// Specify our post mode
$post_mode = 'delete';
if (($data['topic_first_post_id'] === $data['topic_last_post_id']) && ($data['topic_posts_approved'] + $data['topic_posts_unapproved'] + $data['topic_posts_softdeleted'] == 1))
{
$post_mode = 'delete_topic';
$config->increment('num_posts', -1, false);
}
P.S. Скачивал чистые дестрибютивы phpbb 3.2.5 & 3.2.4 и полностью копировал / вставлял код из чистого файла в тот что на моем форуме - баг оставался.
-
- Поддержка
- Сообщения: 11842
- Стаж: 11 лет 9 месяцев
- Благодарил (а): 149 раз
- Поблагодарили: 2277 раз
Re: total posts (всего сообщений) - проблема счетчика?
Судя по коду это повлияет на темы из одного сообщения
-
- phpBB 1.2.0
- Сообщения: 15
- Стаж: 4 года 2 месяца
Re: total posts (всего сообщений) - проблема счетчика?
Сейчас корректно все удаляет и отображает на счетчике.
Например, удаляя тему с сообщениями, количество тем уменьшается на 1, а количество сообщений на количество сообщений в удаленной теме.
Вот узнать бы в каком именно месте реализовано это удаление и как на уровне кода функционирует счетчик. Например количество тем изначально работало корректно, проблемы были только с количеством постов.
Возможно процесс регистрации изменения количества сообщений локализован не в этом файле и не в этой функции, а где?..
Отправлено спустя 1 час 6 минут 44 секунды:
В общем, упомянутая ошибка возникла после установки языкового пакета

Т.е. копать нужно в языковом пакете.. - будем копать. Помогайте, что там где может быть закопано...


1. Установил чистый phpbb 3.2.5 - все нормально, данной ошибки нет.
2. Устанавливаю и активирую языковой пакет - ошибка проявляется.
3. Удаляю/деактивирую языковой пакет, перехожу на англ. - ошибка остается.
Может что-то где-то в таблицах БД меняется и ноги растут именно из БД?...

-
- Former team member
- Сообщения: 2317
- Стаж: 13 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 261 раз
Re: total posts (всего сообщений) - проблема счетчика?
repitchem, включите debug на форуме, посмотрите в логах сервера при удалении возникают ли ошибки
Помощь в ЛС/email только за WM или ЮMoney
-
- Former team member
- Сообщения: 12113
- Стаж: 16 лет 3 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 41 раз
- Поблагодарили: 1716 раз
Re: total posts (всего сообщений) - проблема счетчика?
Локализован - это значит переведен на язык пользователя, если он не английский.
Изменение счетчика сообщений производится в функции
remove_post_from_statistic
Абсолютно не из-за этого.
Код: Выделить всё
'TOTAL_POSTS_COUNT' => array(
1 => 'Всего сообщений: <strong>%d</strong>',
2 => 'Всего сообщений: <strong>%d</strong>',
3 => 'Всего сообщений: <strong>%d</strong>',
),
Код: Выделить всё
'TOTAL_POSTS' => $user->lang('TOTAL_POSTS_COUNT', (int) $config['num_posts']),
config
поля num_posts
. А вот почему это не значение не меняется, вопрос другой.Итак, этот глюк возникает при удалении сообщения, когда оно является единственным в теме, во всех остальных случаях счетчик изменяется корректно.
Это происходит потому, что значение переменной
$post_mode
, передаваемой в функцию delete_post
, равно delete_topic
. В этом случае происходит удаление информации о теме из статистики в строке 1284
Код: Выделить всё
$phpbb_content_visibility->remove_topic_from_statistic($data, $sql_data);
$post_mode = 'delete'
)Похоже на баг.
Добавление
$phpbb_content_visibility->remove_post_from_statistic($data, $sql_data);
приводит к неправильному отображению статистике в списке форумов на главной, а в случае, если в форуме это была единственная тема, то к ошибке SQL.Посему добавление
$config->increment('num_posts', -1, false);
после $phpbb_content_visibility->remove_topic_from_statistic($data, $sql_data);
вероятно является правильным решением. Ну или надо ковырять функцию remove_post_from_statistic
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Перенесено из форума phpBB-пространство в форум Поддержка phpBB 3.2.x 27.03.2019 13:28 модератором Sheer