Сергей

Сергей

С нами с 05 декабря 2017; Место в рейтинге пользователей: #795

Списание средств с баланса пользователя

Как реализовать списание средств с баланса msProfile при создании Tickets.
Я понял то что надо привязать плагин к событию 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, 'Новый'); не доходит даже. При нажатие на кнопку Опубликовать(добавить тикет) зависает и не редиректит на другую страницу, но при этом тикет создается
Сергей
15 мая 2018, 11:54
modx.pro
2
846
0