Меню

Удалить всех пользователей которые не делали заказов в магазине 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);
}
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php');
Изменено: Михаил Базаров - 22.04.2024 11:42:13
 
Доброго времение, Михаил.
Подскажите, куда вставить этот код, чтобы произвести удаление? в init.php?
И да, обработка идет по всем группам пользователей или же только обычные пользователи, без доп прав?
Изменено: Михаил Базаров - 22.04.2024 11:35:53
 
Можно вставить просто на любой странице сайта и открыть ее в браузере, только потом не забудте удалить из этой страницы.
Можно в админке, в "Командная php строка" и выполнить.
Проверки на группы нет, удалятся все пользователи которые не делали заказов.
Единственное не удалится пользователь с ID 1 (самый первый, главный Администратор) - даже если у него нет заказов.
 
Цитата
написал:
лится пользователь с ID 1 (самый первый, главный Администратор) - даже если у него нет заказов.
Благодарю!
 
Спасибо, бро. Удалил порядка 3000 аккаунтов.Не хочешь ли ты поделиться знаниями, как автоматически снимать стикер Новинка, когда среди новинок очень много товаров и руками это делать очень муторно?
 
Цитата
Гость написал:
Спасибо, бро. Удалил порядка 3000 аккаунтов.Не хочешь ли ты поделиться знаниями, как автоматически снимать стикер Новинка, когда среди новинок очень много товаров и руками это делать очень муторно?

Удалил, вместе со своим аккаунтом, хотя я тоже администратор.=))) Не удалился только ID 1 (главный администратор)
Изменено: Михаил Базаров - 10.05.2024 11:13:36
 
Да, удаляются вообще все, кто не делал заказов, проверки на группу нет.
ID-1 не удалить даже если сильно постараться)
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst
Сайт в режиме тех обслуживания

Сообщения форума и комментарии не сохраняются

Возвращайтесь после 12-го января

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

Удаление недоступных для заказа товаров из корзины

Задача: пользователи магазина могу наполнять корзины, но не доходить до оформления заказа. Такие корзины считаются броше...

Следующая/предыдущая новость/статья при просмотре подробной в Битрикс

Странное дело, в Битрикс по умолчанию, отсутсвует функционал для навигации внутри новостей или статей типа: "Следующая/...

Установить остатки товара на складе из доступных остатков.

Задача, заполнить остатки товаров, в 1С-Битрикс, из параметра "Доступное количество".

Удалить все картинки элементов инфоблока: анонс, детальную и дополнительные картинки (MORE_PHOTO)

Задача: В инфоблоке 10 000 элементов, нужно удалить картинки анонса, детальные и дополнительные картинки из свойства MOR...

Дополнительные опции/услуги, добавляемые в корзину, в карточке товаров

Задача: в детальной карточке товара сделать возможность добавления услуги или опции, при добавлении товара в корзину.

Вывести множественное свойство типа файл с названием и весом файла в Битрикс

В этой заметке расскажу как красиво вывести множественное свойство типа файл в инфоблоке 1С-Битрикс. С показом оригиналь...

Связанные элементы в карточке товара, с помощью catalog.section

Достаточно часто, при разработке магазинов на битрикс, требуется выводить связанные элементы внутри карточки товара. Д...

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

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

Добавить свойство в административную форму заказа

Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку формы, в виде картинки. На сайте...