function contactForm($contact_info) { global $CFG; $email = SiteEmail::getRecord('login-notify'); $pais = SiteEmail::getCountry($contact_info['country']); $contact_info = $pais['name']; return Email::send($contact_info['email'], $CFG->support_email, $email['title'], $CFG->form_email_from, false, $email['content'], $contact_info); }
public static function contactForm($contact_info) { global $CFG; $email = SiteEmail::getRecord('contact'); $pais = SiteEmail::getCountry($contact_info['country']); $contact_info['country'] = $pais['name']; if (User::$info['id'] > 0) { $contact_info['user_id'] = User::$info['id']; } return Email::send($contact_info['email'], $CFG->contact_email, $email['title'], $CFG->form_email_from, false, $email['content'], $contact_info); }
#!/usr/bin/php <?php echo "Beginning Receive Bitcoin processing..." . PHP_EOL; include 'common.php'; $CFG->session_active = true; $transactions_dir = $CFG->dirroot . 'transactions/'; $total_received = 0; $bitcoin = new Bitcoin($CFG->bitcoin_username, $CFG->bitcoin_passphrase, $CFG->bitcoin_host, $CFG->bitcoin_port, $CFG->bitcoin_protocol); $bitcoin->settxfee($CFG->bitcoin_sending_fee); $transactions = scandir($transactions_dir); if (!$transactions) { echo 'done' . PHP_EOL; exit; } $email = SiteEmail::getRecord('new-deposit'); $sql = "SELECT transaction_id, id FROM requests WHERE request_status != {$CFG->request_completed_id} AND currency = {$CFG->btc_currency_id} AND request_type = {$CFG->request_deposit_id} "; $result = db_query_array($sql); if ($result) { foreach ($result as $row) { $requests[$row['transaction_id']] = $row['id']; } } $sql = "SELECT id, transaction_id FROM bitcoind_log ORDER BY `date` DESC LIMIT 0,100 "; $result = db_query_array($sql); if ($result) { foreach ($result as $row) { $transaction_log[$row['transaction_id']] = $row['id']; } } $addresses = array(); $user_balances = array();
public static function notifyLogin() { global $CFG; if (!$CFG->session_active) { return false; } $ipaddress1 = $CFG->client_ip; db_insert('history', array('date' => date('Y-m-d H:i:s'), 'ip' => $ipaddress1, 'history_action' => $CFG->history_login_id, 'site_user' => User::$info['id'])); if (User::$info['notify_login'] != 'Y') { return false; } $email = SiteEmail::getRecord('login-notify'); $info = User::$info; $info['ipaddress'] = $ipaddress1; Email::send($CFG->form_email, User::$info['email'], $email['title'], $CFG->form_email_from, false, $email['content'], $info); }
private static function cancelOrder($order_id = false, $outstanding_btc = false, $site_user = false) { global $CFG; if (!$CFG->session_active) { return false; } $user_info = $site_user > 0 ? DB::getRecord('site_users', $site_user, 0, 1) : User::$info; $user_info['amount'] = number_format($outstanding_btc, 8); $user_info['exchange_name'] = $CFG->exchange_name; $CFG->language = $user_info['last_lang']; self::setStatus($order_id, 'OUT_OF_FUNDS', false, $user_info['amount']); db_delete('orders', $order_id); $email = SiteEmail::getRecord('order-cancelled'); Email::send($CFG->form_email, $user_info['email'], $email['title'], $CFG->form_email_from, false, $email['content'], $user_info); }
$invalid_login = 1; } elseif ($result) { if (empty($result[0]['start']) || $result[0]['start'] - time() >= 3600) { $attempts = 1; if ($result[0]['start']) { db_update('site_users_access', $result[0]['id'], array('attempts' => '1', 'start' => time(), 'last' => time()), 'site_user'); } else { db_insert('site_users_access', array('attempts' => '1', 'start' => time(), 'last' => time(), 'site_user' => $result[0]['id'])); } } else { $attempts = $result[0]['attempts'] + 1; $timeout = pow(2, $attempts); $timeout_next = pow(2, $attempts + 1); if ($attempts == 3) { $CFG->language = $result[0]['last_lang'] ? $result[0]['last_lang'] : 'en'; $email = SiteEmail::getRecord('bruteforce-notify'); Email::send($CFG->support_email, $result[0]['email'], $email['title'], $CFG->form_email_from, false, $email['content'], $result[0]); } db_update('site_users_access', $result[0]['id'], array('attempts' => $attempts, 'last' => time()), 'site_user'); if (time() - $result[0]['last'] <= $timeout) { $invalid_login = 1; } } if (!$invalid_login && !$user_id) { $invalid_login = !Encryption::verify_hash($pass1, $result[0]['pass']); if (!$invalid_login) { $sql = "DELETE FROM change_settings WHERE type = 'r' AND site_user = " . $result[0]['id']; db_query($sql); } } }
public static function emailValidate($authcode) { global $CFG; if (!$CFG->session_active) { return false; } $authcode = Encryption::decrypt(urldecode($authcode)); if (!$authcode) { return false; } $authcode = preg_replace("/[^0-9a-zA-Z]/", "", $authcode); if (!$authcode) { return false; } $sql = 'SELECT * FROM requests WHERE email_token = "' . $authcode . '"'; $result = db_query_array($sql); if (!$result) { return false; } $request = $result[0]; if ($request['request_status'] != $CFG->request_awaiting_id) { return false; } if (User::$info['notify_withdraw_bank'] == 'Y') { $currency_info = DB::getRecord('currencies', $request['currency'], 0, 1); $info['amount'] = $request['amount']; $info['currency'] = $currency_info['currency']; $info['first_name'] = User::$info['first_name']; $info['last_name'] = User::$info['last_name']; $info['id'] = $request['id']; $email = SiteEmail::getRecord('new-withdrawal'); Email::send($CFG->form_email, User::$info['email'], str_replace('[amount]', number_format($request['amount'], 2), str_replace('[currency]', $currency_info['currency'], $email['title'])), $CFG->form_email_from, false, $email['content'], $info); } return db_update('requests', $request['id'], array('request_status' => $CFG->request_pending_id)); }
} if ($result || $hot_wallet_notified == 'N' && $reserve['surplus'] < 0) { $sql = 'SELECT ROUND(SUM(requests.amount),2) AS amount, LOWER(currencies.currency) AS currency FROM requests LEFT JOIN currencies ON (currencies.id = requests.currency) WHERE requests.request_type = ' . $CFG->request_widthdrawal_id . ' AND requests.request_status = ' . $CFG->request_pending_id . ' AND requests.done != \'Y\' GROUP BY requests.currency'; $result = db_query_array($sql); if ($result || $reserve['surplus'] < 0) { $info['pending_withdrawals'] = ''; if ($reserve['surplus'] < 0) { $info['pending_withdrawals'] .= 'Hot Wallet Deficit: ' . abs($reserve['surplus']) . '<br/>'; } if ($result) { foreach ($result as $row) { $info['pending_withdrawals'] .= strtoupper($row['currency']) . ': ' . $row['amount'] . '<br/>'; } } $CFG->language = 'en'; $email = SiteEmail::getRecord('pending-withdrawals'); Email::send($CFG->form_email, $CFG->contact_email, $email['title'], $CFG->form_email_from, false, $email['content'], $info); $sql = 'UPDATE requests SET notified = 1 WHERE notified = 0'; db_query($sql); $sql = 'UPDATE status SET hot_wallet_notified = "Y" WHERE id = 1'; db_query($sql); } } } // subtract withdrawals $sql = 'SELECT site_users_balances.balance AS balance, site_users_balances.id AS balance_id, requests.id AS request_id, requests.site_user AS site_user, requests.currency AS currency, ROUND(requests.amount,2) AS amount FROM requests LEFT JOIN site_users_balances ON (site_users_balances.id = requests.site_user AND site_users_balances.currency = requests.currency) WHERE requests.request_type = ' . $CFG->request_widthdrawal_id . ' AND requests.currency != ' . $CFG->btc_currency_id . ' AND requests.request_status = ' . $CFG->request_pending_id . ' AND requests.done = \'Y\''; $result = db_query_array($sql); if ($result) { foreach ($result as $row) { if (empty($old_balance[$row['site_user']][$row['currency']])) { $old_balance[$row['site_user']][$row['currency']] = $row[$row['currency']];
#!/usr/bin/php <?php $fp = explode('/', __FILE__); array_pop($fp); chdir(implode('/', $fp)); include '../lib/common.php'; // send welcome email to approved users $sql = 'SELECT su.id, su.email, su.first_name FROM site_users su LEFT JOIN site_users_status st ON (su.site_users_status = st.id) WHERE st.key = "approved" AND su.notified != "Y" '; $result = db_query_array($sql); if ($result) { foreach ($result as $row) { $info = array(); $info['first_name'] = $row['first_name']; $email = SiteEmail::getRecord('usuario-aprobado'); Email::send($CFG->contact_email, $row['email'], $email['title'], $CFG->email_smtp_send_from, false, $email['content'], $info); db_update('site_users', $row['id'], array('notified' => 'Y')); } } // increase people's age each year (no, I'm not stupid, precise age is not needed for anything here) $m1 = date('Y', time()); $m2 = date('Y', strtotime('-6 minute')); if ($m1 != $m2) { $sql = 'UPDATE site_users SET age = age + 1 WHERE age > 0'; db_query($sql); }
public static function emergencyEmail($org, $lat, $long) { global $CFG; if (!$org || !($org == 'hatzalah' || $org == 'dsi')) { return false; } $info = array(); $info['name'] = User::$info['first_name'] . ' ' . User::$info['last_name']; $info['cel'] = User::$info['tel']; $info['lat'] = $lat; $info['long'] = $long; $contact = false; if ($org == 'hatzalah') { $contact = $CFG->hatzalah_email; } else { if ($org == 'dsi') { $contact = $CFG->dsi_email; } } $email = SiteEmail::getRecord('emergency'); Email::send($CFG->contact_email, $contact, $email['title'], $CFG->form_email_from, false, $email['content'], $info); return 'ok'; }