public static function registerNew($info) { global $CFG; if (!is_array($info)) { return false; } $info['email'] = preg_replace("/[^0-9a-zA-Z@\\.\\!#\$%\\&\\*+_\\~\\?\\-]/", "", $info['email']); $exist_id = self::userExists($info['email']); if ($exist_id > 0) { $user_info = DB::getRecord('site_users', $exist_id, 0, 1); $email = SiteEmail::getRecord('register-existing'); Email::send($CFG->form_email, $info['email'], $email['title'], $CFG->form_email_from, false, $email['content'], $user_info); return false; } $new_id = self::getNewId(); if ($new_id > 0) { $sql = 'SELECT id FROM fee_schedule ORDER BY from_usd ASC LIMIT 0,1'; $result = db_query_array($sql); $pass1 = self::randomPassword(12); //$info['first_name'] = preg_replace("/[^\pL a-zA-Z0-9@\s\._-]/u", "",$info['first_name']); //$info['last_name'] = preg_replace("/[^\pL a-zA-Z0-9@\s\._-]/u", "",$info['last_name']); //$info['country'] = preg_replace("/[^0-9]/", "",$info['country']); $info['user'] = $new_id; $info['pass'] = Encryption::hash($pass1); $info['date'] = date('Y-m-d H:i:s'); $info['confirm_withdrawal_email_btc'] = 'Y'; $info['confirm_withdrawal_email_bank'] = 'Y'; $info['notify_deposit_btc'] = 'Y'; $info['notify_deposit_bank'] = 'Y'; $info['notify_withdraw_btc'] = 'Y'; $info['notify_withdraw_bank'] = 'Y'; $info['notify_login'] = '******'; $info['no_logins'] = 'Y'; $info['fee_schedule'] = $result[0]['id']; $info['default_currency'] = preg_replace("/[^0-9]/", "", $info['default_currency']); unset($info['terms']); $record_id = db_insert('site_users', $info); require_once '../lib/easybitcoin.php'; $bitcoin = new Bitcoin($CFG->bitcoin_username, $CFG->bitcoin_passphrase, $CFG->bitcoin_host, $CFG->bitcoin_port, $CFG->bitcoin_protocol); $new_address = $bitcoin->getnewaddress($CFG->bitcoin_accountname); db_insert('bitcoin_addresses', array('address' => $new_address, 'site_user' => $record_id, 'date' => date('Y-m-d H:i:s'))); $info['pass'] = $pass1; $email = SiteEmail::getRecord('register'); Email::send($CFG->form_email, $info['email'], $email['title'], $CFG->form_email_from, false, $email['content'], $info); if ($CFG->email_notify_new_users) { $email = SiteEmail::getRecord('register-notify'); $info['pass'] = false; Email::send($CFG->form_email, $CFG->support_email, $email['title'], $CFG->form_email_from, false, $email['content'], $info); } return true; } }