ExBB Community » Файловый ExBB » Модификации и дополнения » Дополнение: Массовое удаление "мёртвых" акаунтов

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

1. NordWest - 9 апреля 2018 — 15:48 - перейти к сообщению
Данное дополнение создает в админке возможность массово удалять "мёртвые" учётки. Критерий удаления - отсутствие постов и отсутствие посещения форума в течении последнего года.

Дополнение создавалась для версии ExBB FM 1.0 Final, однако с большой вероятностью подойдёт и для ExBB FM 1.0 RC1.01

Внимание!!! Перед установкой и тестированием данного мода следует сделать резервную копию форума дабы застраховаться от разного рода неожиданностей.

Часть 1.


Открываем файл modules/memcontrol/language/russian/lang.php в котором ищем строку
CODE:
$this->LANG['UsersDeleteOk'] = 'Выбранные пользователи успешно удалены!';

перед которой вставляем строку
CODE:
$this->LANG['DelUsersOld'] = 'Удалить мёртвые учетные записи';


Затем открываем файл modules/memcontrol/admintemplates/memblist.tpl в котором ищем строки
CODE:
<input name="mode" type="submit" value="{$fm->LANG['DelNotify']}">&nbsp;

перед которой вставляем строку
CODE:
<input name="clear" type="submit" value="{$fm->LANG['DelUsersOld']}">&nbsp;

(Добавление)

Часть 2.


Открываем файл modules/memcontrol/index.php в котором ищем функцию deletemember() которую целиком заменяем кодом
Спойлер (Отобразить)

(Добавление)

Часть 3.


Открываем файл setmembers.php в котором ищем функцию deletemember() которую целиком заменяем кодом
Спойлер (Отобразить)
2. Parapsixolog - 10 апреля 2018 — 11:33 - перейти к сообщению
NordWest , спасибо! Обязательно попозже потестю.
3. Parapsixolog - 11 апреля 2018 — 17:05 - перейти к сообщению
NordWest , что могу сказать, теперь дополнение практически без ошибок работает. Единственный нотис вылез при штатном удалении пользователя:

Notice: Undefined variable: userid in C:\OpenServer\domains\bacup\modules\memcontrol\index.php on line 172

Строка: if ($id == $userid) {unset($birstdays[$day][$user_id]); $SaveFlag = true;}

Нотис я исправил сам, заменив $userid на $user_id

Единственная проблема, что опять удаляются почти все, или все пользователи сайта. То есть осталась проблема:

Parapsixolog пишет:
+ плюс после этого удаления в списке зарегистрированных пользователей остаётся один пользователь. Но после пересчёта список возвращается в норму.

http://exbb.info/community/topic...83475#1518983475

Само удаление мертвых душ происходит без ошибок.

Но осталась прошлая проблема:

Parapsixolog пишет:
+ плюс после этого удаления в списке зарегистрированных пользователей остаётся один пользователь. Но после пересчёта список возвращается в норму.
+ удаляются вновь созданные учетки.

http://exbb.info/community/topic...83475#1518983475

Удаление новых пользователей не происходит, если предварительно изменить ник.
4. NordWest - 11 апреля 2018 — 23:36 - перейти к сообщению
Что могу сказать - лень меня когда-нибудь угробит. Нужно было ещё раз самому с нуля по этому описанию поставить... но мне было лень. Растерялся

Завтра буду устанавливать у себя и смотреть что получается. Нахмурился
5. Parapsixolog - 12 апреля 2018 — 10:56 - перейти к сообщению
NordWest пишет:
Что могу сказать - лень меня когда-нибудь угробит.


Так вроде бы наоборот, лень считают двигателем прогресса. Радость
6. Yamaliya - 21 апреля 2018 — 15:11 - перейти к сообщению
NordWest , похоже в setmembers.php нужно заменить
CODE:
if (file_exists('modules/loginza/data/member'.$userid.'.php'))
на
CODE:
if (file_exists('modules/loginza/data/member'.$user_id.'.php'))
7. Yamaliya - 22 апреля 2018 — 06:22 - перейти к сообщению
А вообще почему бы не сделать единую функцию deletemember ?
Тогда можно было бы просто реализовать:

Удаление одного пользователя - просто deletemember

Удаление выбранных пользователей
Если пользователь помечен на удаление то deletemember

Удаление старый аккаунтов
if ($user['posts'] == 0 && ($nowtime - $user['last_visit']) > 31536000) то- deletemember

Удаление хвостов от удалённых ранее аккаунтов
if пользователь не существует то deletemember
8. NordWest - 22 апреля 2018 — 11:54 - перейти к сообщению
Yamaliya пишет:
А вообще почему бы не сделать единую функцию deletemember ?
Вообще говоря так и надо сделать. Но я если честно хотел добить этот мод и больше с написанием модов не связываться - не поучается у меня писать инструкцию и нигде не накосячить. Огорчение
(Добавление)
Мод memcontrol по уму вообще нужно интегрировать в ядро форума - я у себя это давным давно сделал. Смущён
(Добавление)
Yamaliya пишет:
похоже в setmembers.php нужно заменить
Я бы поправил, но не могу. Огорчение Стоит ограничение на размер сообщения - при попытке отредактировать движок блокирует редактирование.
9. Parapsixolog - 29 апреля 2018 — 12:13 - перейти к сообщению
NordWest , мод получилось добить?
10. NordWest - 29 апреля 2018 — 12:29 - перейти к сообщению
Нет, не было времени.
Вечером попробую...
11. alex2k6 - 17 января 2019 — 22:42 - перейти к сообщению
NordWest , Вы так и не закончили данный мод? Может есть подобный мод для ExBB 1.1.3 ? Ваш cleaner.php можно использовать на ExBB 1.1.3 ?
12. electron - 18 января 2019 — 12:26 - перейти к сообщению
alex2k6 , ExBB FM 1.0 Final и ExBB 1.1.3 по функционалу - братья близнецы, так что этот мод будет работать и на 1.1.3.
13. alex2k6 - 18 января 2019 — 15:20 - перейти к сообщению
electron , Я так понял, что мод не рабочий. Просто боюсь что то сломать(. Хочу почистить базу форума. Мне бы хватило просто удалить пользователей, у которых в темах 0 сообщений + не заходили на форум больше 1 года. Может проще это сделать через отдельный скрипт?
14. NordWest - 18 января 2019 — 19:48 - перейти к сообщению
alex2k6
Сделайте бекап форума. Что вас после этого может пугать? Не пойдет или отработает криво - откатитесь и всего делов. Я давно не занимался этим модом - не могу сказать насколько он рабочий... забыл уже...
15. Yamaliya - 19 января 2019 — 23:10 - перейти к сообщению
alex2k6 , я, конечно, не знаю вашего форума. Но поделюсь своим опытом.
Не торопитесь удалять. В моей практике есть случаи, когда люди годами отсутствовали на форуме, а затем вновь возвращались.
Порой приходилось восстанавливать аккаунты.
Мой совет: добавьте сортировку по дате последней активности
и дальше уже ручками выбирайте, кого удалять, а кого оставить.

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

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