function report($message, $severity) { global $is_logged_in; $uid = ''; if ($is_logged_in) { $uid = $is_logged_in; } $time = date('r'); $message = "{$uid} {$time}: {$message}"; switch ($severity) { case SEVERITY::PROBLEM: $filename = PROBLEM_LOGFILE; break; case SEVERITY::ERROR: $filename = ERROR_LOGFILE; break; case SEVERITY::BAD_PAGE: $filename = BAD_PAGE_LOGFILE; break; default: report("Invalid report for {$message} of {$severity}!", SEVERITY::ERROR); break; } error_log("{$message}\n", 3, $filename); beginlog(); syslog(LOG_CRIT, $message); endlog(); // do this last because it's the most risky operation, and we at least want some logs first. if ($severity == SEVERITY::ERROR) { // echo exec("echo 'A fatal error has occured. Time is now $time.' | mutt -s INTERSANGO_ERROR genjix@gmail.com -a $filename"); } }
function bitcoin_withdraw($uid, $amount, $curr_type, &$voucher_code, &$reqid) { $voucher = isset($_POST['voucher']); if ($voucher) { syslog(LOG_NOTICE, "address=voucher"); $query = "\n INSERT INTO requests (req_type, uid, amount, curr_type)\n VALUES ('WITHDR', '{$uid}', '{$amount}', '{$curr_type}');\n "; } else { $addy = post('address'); try { $validaddy = bitcoin_validate_address($addy); } catch (Exception $e) { if ($e->getMessage() != 'Unable to connect.') { throw $e; } throw new Problem(_("Sorry..."), _("We are currently experiencing trouble connecting to the Bitcoin network and so cannot verify that you entered a valid Bitcoin address.") . "</p><p>" . _("Your withdrawal request has been cancelled.") . "</p><p>" . _("Please try again in a few minutes.")); } if (!$validaddy['isvalid']) { throw new Problem(_('Bitcoin says no'), _('That address you supplied was invalid.')); } syslog(LOG_NOTICE, "address={$addy}"); $we_have = bitcoin_get_balance("*", 0); if (gmp_cmp($we_have, $amount) <= 0) { $message = sprintf(_("User %s is asking to withdraw %s BTC. We only have %s BTC."), $uid, internal_to_numstr($amount, BTC_PRECISION), internal_to_numstr($we_have, BTC_PRECISION)); email_tech(_("Exchange Wallet Balance is Too Low"), $message); } $query = "\n INSERT INTO requests (req_type, uid, amount, curr_type)\n VALUES ('WITHDR', '{$uid}', '{$amount}', '{$curr_type}');\n "; } endlog(); do_query($query); $reqid = mysql_insert_id(); if ($voucher) { $voucher_code = store_new_bitcoin_voucher_code($reqid); } else { $query = "\n INSERT INTO bitcoin_requests (reqid, addy)\n VALUES ('{$reqid}', '{$addy}');\n "; do_query($query); } }