public function extractFunds(array $transactionData)
{
if (!iaUsers::hasIdentity()) {
return false;
}
$iaUsers = $this->iaCore->factory('users');
$iaTransaction = $this->iaCore->factory('transaction');
$userInfo = $iaUsers->getInfo(iaUsers::getIdentity()->id);
$remainingBalance = $userInfo['funds'] - $transactionData['amount'];
if ($remainingBalance >= 0) {
$result = (bool) $iaUsers->update(array('funds' => $remainingBalance), iaDb::convertIds($userInfo['id']));
if ($result) {
iaUsers::reloadIdentity();
$updatedValues = array('status' => iaTransaction::PASSED, 'gateway' => iaTransaction::TRANSACTION_MEMBER_BALANCE, 'reference_id' => date('YmdHis'), 'member_id' => iaUsers::getIdentity()->id);
$iaTransaction->update($updatedValues, $transactionData['id']);
}
return $result;
}
return false;
}