Меню

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

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 записей сервак упал

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

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

Показать пользователей онлайн на странице сайта

Задача: показать на странице сайта пользователей которые сейчас находятся на сайте. Используется штатный модуль "Ве...

Вывести минимальную и максимальную цену в разделе каталога Битрикс.

Что бы вывести минимальную и максимальную стоимость товаров, из каталога 1С-Битрикс, достаточно получить все товары мето...

Вывести дату окончания скидки в карточке товара

Если нужно вывести информацию о скидке в карточке товара, можно воспользоваться методом CCatalogDiscount::GetList. Данны...

Прятать или показывать описание раздела каталога

В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый параметр: "Скрывать описание раз...

Установка поиска Sphinx на Ubuntu 22.04 для 1С-Битрикс

Задача: установить и сконфигурировать поиск Sphinx под управлением Ubuntu 22.04 и панели управления HestiaCP для использ...

Бонус на внутренний счет пользователя по информации из 1С

Задача: 1С-Предприятие каждый день выгружает HL справочник на сайт с количеством бонусов контрагента в виде "XML-ID...

CAPTCHA с возможностью обновления без перезагрузки страницы в 1C-Битрикс

Задача: Так как стандартная капча в 1С-Битрикс, может отобразиться не удачно (символы уходят за грань капчи или не у...

Оптимизация jpeg и png картинок на cron, с помощью jpegoptim и optipng

Задача: на сайт каждый день проходит выгрузка из 1С с обновлением картинок. Нужно оптимизмровать эти картинки с помощью...

Вывести минимальную цену самого дешевого торгового предложения

Если у товара несколько торговых предложений и у каждого предложения разные цены, иногда требуется вывести минимальную ц...