Синхронизация счетчика участников групп

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Ответить
Гриif
phpBB 1.4.0
Сообщения: 37
Зарегистрирован: 15.05.2018 11:32
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Синхронизация счетчика участников групп

Сообщение Гриif » 14.06.2018 17:34

Адм.раздел > Пользователи и группы > Управление группами > Участники (какой-то из групп)
В счетчике показывает, скажем, 300 участников, но на деле их там, скажем, 100 только. При том страниц все равно будет 100500
/adm/index.php?i=acp_groups&icat=12&mode=manage&action=list&g=777&start=120
, но далее от тех 100 имеющихся юзеров будет пагинация на пустые страницы.

Не уверен связано ли, но тоже проблема:
В /memberlist.php?mode=
юзеру будет писать "Основная группа", например, "Новые пользователи", но его давно в ней нету.

Синхронизировать статистику
Синхронизировать счётчики сообщений
в адм. разделе делал не раз.

В консоле php bin/phpbbcli.php reparser:reparse тоже неоднократно, но это уже, наверн, другое - потому оффтоп.
но даже (stk подводит куда больше) через консоль не распарсивает все сообщения: есть вариант верный? случайно натыкаюсь на сообщения, где не обработало... сколько на всей конференции таких неизвестно. как сделать, чтоб оно отработало все?



Как уладить? :)
phpbb 3.2.2

Аватара пользователя
nissin
phpBB 3.0.3
Сообщения: 2168
Зарегистрирован: 16.12.2007 14:01
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 335 раз
Контактная информация:

Re: Синхронизация счетчика участников групп

Сообщение nissin » 14.06.2018 19:36

Гриif, есть подозрение, что удаляли пользователей нештатно (например SQL запросом).
Всё повторяется. nurlan.info

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9401
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 167 раз
Поблагодарили: 2624 раза
Контактная информация:

Re: Синхронизация счетчика участников групп

Сообщение Татьяна5 » 14.06.2018 20:47

Гриif, что делали с форумом до возникновения проблемы?

Гриif
phpBB 1.4.0
Сообщения: 37
Зарегистрирован: 15.05.2018 11:32
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif » 14.06.2018 20:53

nissin, ...сперва хотел ответить твердо "нет" (не зря же в этой схеме через админку делал), но задумался... Может, до того и было такое (изначально как шашкой махал sql-запросами: не думал, что тут все так переплетено). Бэкапы все есть - так что не все потерянно, но в каком сплетении конкретно "заковырка" и как все решить с минимальными энергозатратами мне не понятно...

Татьяна5, тут и "проблема" - громкое слово: без понятия даже когда это возникло. Случайно заметил, а когда возникло - кто ж его знает...
phpbb 3.2.2

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9401
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 167 раз
Поблагодарили: 2624 раза
Контактная информация:

Re: Синхронизация счетчика участников групп

Сообщение Татьяна5 » 14.06.2018 20:55

Гриif писал(а):
14.06.2018 20:53
изначально как шашкой махал sql-запросами
Если так, то сначала пройтись "аварийным комплексом" в STK, а если не поможет - разбирать структуру БД, подробно, и синхронизировать данные там уже вручную. Скорей всего, понадобится второй вариант

Отправлено спустя 51 секунду:
https://www.phpbbguru.net/database/tables/ - это от 3.0, но в основном то, что надо

Аватара пользователя
nissin
phpBB 3.0.3
Сообщения: 2168
Зарегистрирован: 16.12.2007 14:01
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 335 раз
Контактная информация:

Re: Синхронизация счетчика участников групп

Сообщение nissin » 14.06.2018 21:26

Дело в том, что эти счётчики нигде не хранятся и подсчёт количества пользователей в группе идёт запросом к таблице phpbb_user_group:

Код: Выделить всё

				// Total number of group members (non-leaders)
				$sql = 'SELECT COUNT(user_id) AS total_members
					FROM ' . USER_GROUP_TABLE . "
					WHERE group_id = $group_id
						AND group_leader = 0";
				$result = $db->sql_query($sql);
				$total_members = (int) $db->sql_fetchfield('total_members');
				$db->sql_freeresult($result);
Если количество неверное, значит в этой таблице содержится неактуальная информация:
Всё повторяется. nurlan.info

Гриif
phpBB 1.4.0
Сообщения: 37
Зарегистрирован: 15.05.2018 11:32
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif » 15.06.2018 11:56

В общем, предстоит много муторной работы... Спасибо за наводки.
phpbb 3.2.2

Гриif
phpBB 1.4.0
Сообщения: 37
Зарегистрирован: 15.05.2018 11:32
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif » 17.06.2018 18:11

А помогите, плз, sql-запросом: если в таблице phpbb3_user_group user_id есть, а в phpbb3_users такого user_id нету, то удалить строку из phpbb3_user_group (таким образом очистятся хвосты: когда удалил юзеров из phpbb3_users, но записи о них остались в phpbb3_user_group)
phpbb 3.2.2

Аватара пользователя
Pazh
Former team member
Сообщения: 2148
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 38 раз
Поблагодарили: 443 раза
Контактная информация:

Re: Синхронизация счетчика участников групп

Сообщение Pazh » 18.06.2018 9:40

Гриif,

Код: Выделить всё

delete from phpbb3_user_group  where user_id not in (select user_id from phpbb3_users) 
форум ЖК Вестердам Помощь в ЛС/email только за WM или ЯД

Гриif
phpBB 1.4.0
Сообщения: 37
Зарегистрирован: 15.05.2018 11:32
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Синхронизация счетчика участников групп

Сообщение Гриif » 18.06.2018 10:26

Pazh, спасибо большое! Похоже, все оказалось легче, чем думалось: этот запрос решил описанную проблему. Кроме части:
Не уверен связано ли, но тоже проблема:
В /memberlist.php?mode=
юзеру будет писать "Основная группа", например, "Новые пользователи", но его давно в ней нету.
но это и логично :)
phpbb 3.2.2

Аватара пользователя
Pazh
Former team member
Сообщения: 2148
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 38 раз
Поблагодарили: 443 раза
Контактная информация:

Re: Синхронизация счетчика участников групп

Сообщение Pazh » 18.06.2018 10:39

Гриif, Группа по-умолчанию хранится в таблице phpbb3_users поле group_id
форум ЖК Вестердам Помощь в ЛС/email только за WM или ЯД

Ответить

Вернуться в «Поддержка phpBB 3.2.x»