Регистрация пользователя с суммой на счёте
        Простенький скрипт, который пробегает по массиву email => name, регистрирует пользователя в системе и кладёт ему определённую сумму на внутренний счёт miniShop2.
Запускать ровно один раз, результатом будет вывод списка имён, ящиков и паролей (если юзер еще не был зарегистрирован). При повторном запуске юзерам зачислится еще раз такая же сумма.
Можно использовать для раздачи рекламных аккаунтов в магазинах.
На выходе будет примерно такое
Для работы со счётом пользователя можно использовать дополнение msProfile.
    
    
                                                                                
            Запускать ровно один раз, результатом будет вывод списка имён, ящиков и паролей (если юзер еще не был зарегистрирован). При повторном запуске юзерам зачислится еще раз такая же сумма.
Можно использовать для раздачи рекламных аккаунтов в магазинах.
<?php
/** @var modX $modx */
define('MODX_API_MODE', true);
require dirname(__FILE__) . '/index.php';
$modx->getService('error', 'error.modError');
$money = 1000; // Сумма
$group = 2; // Группа для регистрации
// Массив пользователей
$users = [
    'user1@yandex.ru' => 'User 1',
    'user2@yandex.ru' => 'User 2',
];
echo '<pre>';
foreach ($users as $email => $name) {
    if (!$user = $modx->getObject('modUser', ['username' => $email])) {
        /** @var modUser $user */
        $user = $modx->newObject('modUser', ['username' => $email]);
        /** @var modUserProfile $profile */
        $profile = $modx->newObject('modUserProfile', ['fullname' => $name, 'email' => $email]);
        $user->addOne($profile, 'Profile');
        $password = $user->generatePassword();
        $user->set('password', $password);
        $user->save();
        $user->joinGroup($group);
    } else {
        $password = 'пользователь уже зарегистрирован, пароль неизвестен';
    }
    echo "$name: $email --- $password\n\n";
    if ($profile = $modx->getObject('msCustomerProfile', $user->get('id'))) {
        $account = $profile->get('account');
	$profile->set('account', $account + $money);
	$profile->save();
    }
}На выходе будет примерно такое
User 1: user1@yandex.ru --- t8BDSubK8J User 2: user2@yandex.ru --- Ras8WavDtk
Для работы со счётом пользователя можно использовать дополнение msProfile.
Комментарии: 5
                Василий, извиняюсь за вопрос не по-теме заранее.
А есть возможность использовать msProfile например с Tickets? Чтобы не ставить minishop из-за 2-3 услуг которые хочется продавать.
Пример использования: сайт типа modx.pro с возможностью проапгрейдить аккаунт чтобы пользователь имел какие-то привелегии.
                    А есть возможность использовать msProfile например с Tickets? Чтобы не ставить minishop из-за 2-3 услуг которые хочется продавать.
Пример использования: сайт типа modx.pro с возможностью проапгрейдить аккаунт чтобы пользователь имел какие-то привелегии.
                Нет. msProfile испольует всё от miniShop2.
Для продажи услуг всё равно нужен будет какой-то магазин, обработчики платежей, история заказов и личный кабинет. Так что, не понимаю проблемы — нужно просто поставить ms2 и не заморачиваться.
                    Для продажи услуг всё равно нужен будет какой-то магазин, обработчики платежей, история заказов и личный кабинет. Так что, не понимаю проблемы — нужно просто поставить ms2 и не заморачиваться.
                Только наверное лучше использовать процессоры для создания пользователя            
                    
                Мне наоборот не было нужно, чтобы отработали какие-то проверки и события с плагинами.            
                    
                А ну тогда да, согласен. Я просто пихаю эти процессоры куда не лень )))))))))))))))))            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.