mesg = array(); $std->error = true; $std->user = null; if (empty($balance_to_transfer) || empty($btc_addr)) { $mess = "E2BTC error: Please fill all the required fields!"; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->mesg[] = $mess; $std->error = true; echo json_encode($std); return false; } if ((!preg_match("/^[a-zA-Z0-9]+$/", $btc_addr) == 1) || strlen(trim($btc_addr)) !== 34) { $mess = "E2BTC error: Invalid Bitcoin address!"; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->mesg[] = $mess; $std->error = true; echo json_encode($std); return false; } if (strlen($remarks) > 250) { $mess = "E2BTC error: Remarks up to 250 characters allowed only!"; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->mesg[] = $mess; $std->error = true; echo json_encode($std); return false; } if (!preg_match("/^[a-zA-Z0-9 \r\n]*$/",$remarks)) { $mess = "E2BTC error: Only alphanumeric characters allowed in Remarks!"; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->mesg[] = $mess; $std->error = true; echo json_encode($std); return false; } $validate_user = $UserClass->check_user($user_id); if($validate_user == "" || empty($validate_user)) { $mess = "E2BTC error: No such user exist. Please login again."; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->error = true; $std->mesg[] = $mess; echo json_encode($std); return false; } $senders_email = trim($validate_user->Email); if ($senders_email == null || !is_email($senders_email)) { $mess = "E2BTC error: Invalid email format!"; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->mesg[] = $mess; $std->error = true; echo json_encode($std); return false; } $customer_bal = (float) $OrderClass->check_customer_balance($assetType="traditional", $user_id)->Balance; if ($balance_to_transfer > $customer_bal) { $mess = "E2BTC transaction failed: You have insufficient balance to make this transfer. Your current Cash balance is $ $customer_bal."; $std->error = true; $std->mesg[] = $mess; echo json_encode($std); $OrderClass->storeMessagesPublic(null, $user_id, $mess); return false; } $msss = ''; // Check order in buys table $OfferAssetTypeId= 'USD'; $WantAssetTypeId = 'RMT'; $assetType = 'traditional'; $allowed_bid_amount = $customer_bal; $user_active_orders = $OrderClass->get_active_order_of_user($user_id, TOP_BUYS_TABLE); $frozen_bal_buys = 0; if (is_array($user_active_orders) && !empty($user_active_orders)) { foreach ($user_active_orders as $uao) { $frozen_bal_buys += (float) $uao->price * $uao->quantity; } $allowed_bid_amount = $customer_bal - $frozen_bal_buys; $ext_st = "You can refund up to $ $allowed_bid_amount only."; if ($allowed_bid_amount == 0) { $ext_st = "You don't have any cash balance to refund."; } $msss = "E2BTC Refund error: You have placed an order worth $ $frozen_bal_buys $ext_st Please cancel it or reduce your refund amount."; } if ($frozen_bal_buys + $balance_to_transfer > $customer_bal) { $OrderClass->storeMessagesPublic(null, $user_id, $msss); $std->error = true; $std->mesg[] = $msss; echo json_encode($std); return false; } $reciever_email = [$senders_email, PI, FINANCE]; $email_from = RM; $email_sender = EMAIL_SENDER_NAME; $email_subject = EMAIL_SUBJECT; $email_body = "

E2BTC Fund Transfer Request

Transfer Type: Exchange Website to BITCOIN(E2BTC)

Hello $log_fullName

We have received a request to refund $ $balance_to_transfer to you in Bitcoins.
Below is the details of your request. Please approve the Bitcoin address again before we send you Bitcoins.
If you did not send any request or if any data below is incorrect please report immediately.

BTC ADDRESS: $btc_addr

AMOUNT TO TRANSFER: $ $balance_to_transfer (DO NOT SEND MORE THAN $ $allowed_bid_amount.)

EMAIL: $senders_email

REMARKS: ".$remarks."

SENDER FB ID: facebook.com/".$fb_id."

"; $send_mail = $OrderClass->send_notice_mail($reciever_email, $email_from, $email_sender, $email_subject, $email_body); $transfer_funds = null; if($send_mail) { /*Transfer funds from site to bank account*/ $transfer_funds = $OrderClass->fund_transfer($fund_type="E2BTC", $from="Exchange", $to=$btc_addr, $balance_to_transfer, $remarks, $assetType = 'traditional'); } if ($transfer_funds) { $mess = "E2BTC Transaction Success: Please check your mail to approve this request."; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->error = false; $std->mesg[] = $mess; $std->user = $validate_user; } else { $mess = "E2BTC error: Mail could not be sent. Try again."; $OrderClass->storeMessagesPublic(null, $user_id, $mess); $std->error = true; $std->mesg[] = $mess; $std->user = $validate_user; } echo json_encode($std); return true; } } return false;