Меню

Удалить всех пользователей кроме администраторов в Битрикс

RSS
Удалить всех пользователей кроме администраторов в Битрикс, Проходимся по всем пользователям и удаляем через API (для будующей заметки)
 
Что бы удалить всех пользователей, кроме администраторов, в 1С-Битрикс
Можно воспользоваться методами
Код
CUser::GetList - получить всех пользователей
CUser::GetUserGroup - получить все группы, к которым принадлежит пользователь
CUser::Delete() - удалить пользователя
Полный пример:
Код
global $USER;
$rsUsers = CUser::GetList(
    ($by = "ID"), 
    ($order = "desc"), 
    false
    );
while ($arUser = $rsUsers->Fetch()) {
 $arGroups = CUser::GetUserGroup($arUser['ID']);
 if (!in_array(1 , $arGroups)) {
     CUser::Delete($arUser['ID']);
 }
}
Пояснения:
- Получили всех пользователей
- Внутри цикла получили группы, к которым принадлежит текущий пользователь
- Проверили, не находится ли он в группе 1 (админы). Просто, проверкой на наличие элемента в массиве групп.
- Удалил пользователя, если его нет в группе 1 (если элемент "1" отсуствует в массиве "arGroups")

Более развернуто и на D7 будет в блоге (прямая ссылка появится позже)
https://camouf.ru/blog-note/
Изменено: Михаил Базаров - 22.11.2021 08:47:48
 
Гы, после удаленных 7000 записей сервак упал
 
Цитата
Илья написал:
Гы, после удаленных 7000 записей сервак упал

Если много и сервачек так себе или настройки не позволяют, временно увеличить лимиты .
Можно консольный скрипт написать с этим же способом.
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Блог-note: заметки разработчика

Сгенерировать скидочные купоны, при заказе и отправить на почту

Задача: после того как пользователь сделал заказ, нужно сгенерировать одноразовые купоны для скидки (правила корзины) и ...

СЕО настройки сайта перед запуском

В видео рассказано о первоначальной СЕО настройке сайта перед запуском. Все показанное является компилицией из собственн...

Вывести все разделы в которых находится элемент инфоблока

Если нужно вывести все разделы, со всей доступной информацией о них, внутри элемента инфоблока, например в карточке това...

Выбор основного раздела для элемента инфоблока в 1С-Битрикс

Проблема: при привязке элемента инфоблока к нескольким разделам возникают дубли его детальной страницы, в зависимости от...

Правильное подключение стилей и скриптов в Битрикс

Есть несколько способов подключения файлов стилей и скриптов, при верстке шаблонов в системе управления 1С-Битрикс. Если...

Простые калькуляторы в карточке товара каталога на Битрикс

На одном из создаваемых сайтов было необходимо сделать небольшой калькулятор и предварительным подсчетом стоимости услуг...

Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.

Рассмотрим как, в магазине работающем на 1С-битрикс, массово применить наценку на все товары каталога. Устанавливать буд...

Вывести свойство привязка к Яндекс Картам в Битрикс

Часто бывает нужно вывести свойство привязка к Яндекс карте в детальном описании элемента. Например в детальной новости ...

Заполнить поля пользователя из свойства заказа, на примере ФИО

При создании заказа покупатель заполняет поле "ФИО". Необходимо скопировать эти данные в профиль пользователя (не путать...