Регистрация пользователя с суммой на счёте
Простенький скрипт, который пробегает по массиву 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 и не заморачиваться.
Только наверное лучше использовать процессоры для создания пользователя
Мне наоборот не было нужно, чтобы отработали какие-то проверки и события с плагинами.
А ну тогда да, согласен. Я просто пихаю эти процессоры куда не лень )))))))))))))))))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.