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

RSS
Удалить всех пользователей которые не делали заказов в магазине 1С-Битрикс
 
Удалить всех пользователей которые не делали заказов в магазине 1С-Битрикс

мертых учетных записей (боты, просто фантомные регистрации и.т.д.). Необходимо удалить всех пользователей, у которых нет заказов в интернет магазине.
 
Можно повесить этот скрипт на cron расписание, если хотите периодически подчищать пользователей без заказов.

Код скрипта:
Код
$_SERVER['DOCUMENT_ROOT'] = realpath(dirname(__FILE__) . '/../..');

define('NO_KEEP_STATISTIC', true);
define('NOT_CHECK_PERMISSIONS', true);
define('BX_NO_ACCELERATOR_RESET', true);

require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');

@set_time_limit(0);
@ignore_user_abort(true);

CModule::IncludeModule('sale');
global $USER;

$rsUsers = CUser::GetList(
    ($by = "ID"),
    ($order = "desc"),
    false
);
while ($arUser = $rsUsers->Fetch()) {
    $dbOrders = CSaleOrder::GetList(
        false,
        array(
            'USER_ID' => $arUser['ID']
        )
        false,
        array (
            nTopCount => '1'
        )
    );
    while ($arOrder = $dbOrders->Fetch()){
        $userHasOrder = $arOrder['ID'];
    }
    if (!$userHasOrder) {
         CUser::Delete($arUser['ID']);
    }
    unset($userHasOrder);
}
 
Кроме группы кто админы и менеджеры магазина - так верней.
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Ютубе