Сергей
С нами с 05 декабря 2017; Место в рейтинге пользователей: #844Списание средств с баланса пользователя
Как реализовать списание средств с баланса msProfile при создании Tickets.
Я понял то что надо привязать плагин к событию OnDocFormSave
Я понял то что надо привязать плагин к событию OnDocFormSave
$user = $modx->getAuthenticatedUser('web');
$user_id = $user->get('id');
$user_money_profile = $modx->getObject('msCustomerProfile', $user_id);
$balance = $user_money_profile->get('account');
$balance = float($balance);
if ($modx->event->name == 'OnDocFormSave') {
$modx->log(1, 'Новый');
if($mode == 'new'){
if (!empty($_POST['pricetpl'])){
if ($balance >= 100) {
$new_balance = $balance - 100;
$user_money_profile->set('account', $new_balance);
$user_money_profile->save();
$modx->log(1, 'Списал баланс');
}else { $modx->log(1, 'Недостаточно средств');}
}
}
}
Проверял на ошибки $modx->log(1, 'Новый'); не доходит даже. При нажатие на кнопку Опубликовать(добавить тикет) зависает и не редиректит на другую страницу, но при этом тикет создается