db_query("UPDATE " . _TABLE_USER_BALANCE . " SET balance=balance- " . $amount . ", last_updated='" . date('YmdHis') . "' WHERE user_id='" . $user_from['user_id'] . "' and currency_code='" . $balance_currency . "'"); // add balance to the account // check user's balance currency init ? $check_balance = db_fetch_array(db_query("SELECT count(*) as total FROM " . _TABLE_USER_BALANCE . " WHERE user_id='" . $user_to['user_id'] . "' and currency_code='" . $balance_currency . "'")); $current_amount = $amount - $fees; if ($check_balance['total'] > 0) { db_query("UPDATE " . _TABLE_USER_BALANCE . " SET balance=balance+ " . $current_amount . ", last_updated='" . date('YmdHis') . "' WHERE user_id='" . $user_to['user_id'] . "' and currency_code='" . $balance_currency . "'"); } else { $balance_data_array = array('user_id' => $user_to['user_id'], 'currency_code' => $balance_currency, 'balance' => $current_amount, 'last_updated' => date('YmdHis')); db_perform(_TABLE_USER_BALANCE, $balance_data_array); } // completed $transaction_data = array('batch_number' => $batch_number, 'from_account' => $user_from['account_number'], 'to_account' => $user_to['account_number'], 'amount_text' => $amount_text, 'memo' => $transaction_memo, 'transaction_time' => date('d/m/Y H:i')); // Send Transaction Notify Email to User $email_info = get_email_template('TRANSFER_EMAIL'); $firstname = $user_to['firstname']; $msg_subject = $email_info['emailtemplate_subject']; // echo "amount_text = $amount_text <br>"; $msg_content = str_replace(array('[firstname]', '[amount_text]', '[batch_number]', '[balance_currency]', '[from_account]'), array($firstname, $amount_text, $batch_number, $balance_currency, $login_account_number), $email_info['emailtemplate_content']); $msg_content = html_entity_decode($msg_content); //echo $email_info['emailtemplate_content']."<br>-------------------<br>"; // echo $msg_content."<br>"; tep_mail($firstname, $user_to['email'], $msg_subject, $msg_content, SITE_NAME, SITE_CONTACT_EMAIL); //admin transfer $batch_number_admin = tep_create_random_value(11, 'digits'); $transaction_data_array_admin = array('from_userid' => $user_to['user_id'], 'batch_number' => $batch_number_admin, 'to_userid' => 1, 'amount' => $fees, 'fee' => 0, 'transaction_time' => date('YmdHis'), 'transaction_memo' => 'transaction fees #' . $batch_number, 'from_account' => $user_to['account_number'], 'to_account' => 'OOKCASH', 'transaction_currency' => $balance_currency, 'amount_text' => $transaction_data_array['fee_text'], 'transaction_status' => 'completed', 'status' => '0'); db_perform(_TABLE_TRANSACTIONS, $transaction_data_array_admin); transfer_admin($transaction_data_array_admin); $data_result = array('status' => 'success', 'batch_number' => $batch_number, 'amount' => $amount, 'fee' => $fees, 'transaction_memo' => $transaction_memo, 'from_account' => $user_from['account_number'], 'to_account' => $user_to['account_number'], 'transaction_currency' => $balance_currency); echo json_encode($data_result); exit;
function transfer($transaction_data_array) { $amount = $transaction_data_array['amount']; $from_userid = $transaction_data_array['from_userid']; $balance_currency = $transaction_data_array['transaction_currency']; $to_userid = $transaction_data_array['to_userid']; $fees = $transaction_data_array['fee']; $batch_number = $transaction_data_array['batch_number']; $to_account = $transaction_data_array['to_account']; $amount_text = $transaction_data_array['amount_text']; $to_account = $transaction_data_array['to_account']; $transaction_memo = $transaction_data_array['transaction_memo']; $from_account_number = $transaction_data_array['from_account']; // deduce balance of the from account db_query("UPDATE " . _TABLE_USER_BALANCE . " SET balance=balance- " . $amount . ", last_updated='" . date('YmdHis') . "' WHERE user_id='" . $from_userid . "' and currency_code='" . $balance_currency . "'"); // add balance to the account // check user's balance currency init ? $check_balance = db_fetch_array(db_query("SELECT count(*) as total FROM " . _TABLE_USER_BALANCE . " WHERE user_id='" . $to_userid . "' and currency_code='" . $balance_currency . "'")); $current_amount = $amount - $fees; if ($check_balance['total'] > 0) { db_query("UPDATE " . _TABLE_USER_BALANCE . " SET balance=balance+ " . $current_amount . ", last_updated='" . date('YmdHis') . "' WHERE user_id='" . $to_userid . "' and currency_code='" . $balance_currency . "'"); } else { $balance_data_array = array('user_id' => $to_userid, 'currency_code' => $balance_currency, 'balance' => $current_amount, 'last_updated' => date('YmdHis')); db_perform(_TABLE_USER_BALANCE, $balance_data_array); } // completed $transaction_data = array('batch_number' => $batch_number, 'from_account' => $from_account_number, 'to_account' => $to_account, 'amount_text' => $amount_text, 'memo' => $transaction_memo, 'transaction_time' => date('d/m/Y H:i')); $step = 'completed'; // Send Transaction Notify Email to User $email_info = get_email_template('TRANSFER_EMAIL'); $user_info = db_fetch_array(db_query("SELECT firstname, email FROM " . _TABLE_USERS . " WHERE user_id='" . $to_userid . "'")); $firstname = $user_info['firstname']; $msg_subject = $email_info['emailtemplate_subject']; // echo "amount_text = $amount_text <br>"; $msg_content = str_replace(array('[firstname]', '[amount_text]', '[batch_number]', '[balance_currency]', '[from_account]'), array($firstname, $amount_text, $batch_number, $balance_currency, $from_account_number), $email_info['emailtemplate_content']); $msg_content = html_entity_decode($msg_content); tep_mail($firstname, $user_info['email'], $msg_subject, $msg_content, SITE_NAME, SITE_CONTACT_EMAIL); //admin transfer $batch_number_admin = tep_create_random_value(11, 'digits'); $transaction_data_array_admin = array('from_userid' => $to_userid, 'batch_number' => $batch_number_admin, 'to_userid' => 1, 'amount' => $fees, 'fee' => 0, 'transaction_time' => date('YmdHis'), 'transaction_memo' => 'transaction fees #' . $batch_number, 'from_account' => $to_account, 'to_account' => 'OOKCASH', 'transaction_currency' => $balance_currency, 'amount_text' => $transaction_data_array['fee_text'], 'transaction_status' => 'completed'); db_perform(_TABLE_TRANSACTIONS, $transaction_data_array); transfer_admin($transaction_data_array_admin); return $transaction_data; }