Битрикс, удалить всех пользователей через API
Если хотите удалить всех зарегистрированных пользователей из Битрикс.
Делать это в списке пользователей, достаточно ресурсоемко и рутинно (если их реально много, например 10 000).
Вывести всех сразу и отметить чекбокс "выбрать всех" - скорее всего не получится, придется выводить по 1000 или меньше.
Что бы "грохнуть всех разом" - можно воспользоваться API
Здесь мы:
- Выбрали всех пользователей из группы с ID=5 (обычно "Зарегистрированные пользователи")
- Методом User::GetLis - получили всю информацию о них (но, по сути, нам нужен только ID пользователя)
- Методом CUser::Delete - удалил полученного пользователя (перебрав всех)
В массиве arItem хранится вся информация о пользователях. Комбинируя ее по разному, можно удалить только определенных пользователей.
Например: тех кто не заходил на сайт больше года.
Учтите, что если у пользователя есть заказ в магазине- он не удалится. Сначала нужно заархивировать все заказы или заказы до определенной даты.
Если хотите удалить всех зарегистрированных пользователей из Битрикс.
Делать это в списке пользователей, достаточно ресурсоемко и рутинно (если их реально много, например 10 000).
Вывести всех сразу и отметить чекбокс "выбрать всех" - скорее всего не получится, придется выводить по 1000 или меньше.
Что бы "грохнуть всех разом" - можно воспользоваться API
<? $filter = Array ( "GROUPS_ID"=> Array(5)) ); $rsUsers = CUser::GetList(($by="id"), ($order="desc"), $filter); while($arItem = $rsUsers->GetNext()) { if (CUser::Delete($arItem['ID'])) echo "Пользователь " .$arItem['ID']. " удален"; } ?> |
Здесь мы:
- Выбрали всех пользователей из группы с ID=5 (обычно "Зарегистрированные пользователи")
- Методом User::GetLis - получили всю информацию о них (но, по сути, нам нужен только ID пользователя)
- Методом CUser::Delete - удалил полученного пользователя (перебрав всех)
В массиве arItem хранится вся информация о пользователях. Комбинируя ее по разному, можно удалить только определенных пользователей.
Например: тех кто не заходил на сайт больше года.
Учтите, что если у пользователя есть заказ в магазине- он не удалится. Сначала нужно заархивировать все заказы или заказы до определенной даты.