*/ if (!(in_array(substr($_SERVER['REMOTE_ADDR'], 0, 10), $ip) && isset($_POST['transactionType']) && (int) $_POST['referenceNumber'])) { die; } $msql = SafeMySQL::getInstance(); $sql = 'SELECT `attempt_id`, NOW() AS `timestamp`, `a`.`created` AS `ac` FROM `attempts` AS `a` WHERE `tracking_number` = ?i'; $data = $msql->getRow($sql, $_POST['referenceNumber']); if (!$data['attempt_id']) { $sql = 'INSERT IGNORE INTO `attempts_temp` (`type`, `tracking_number`) VALUES (?s, ?i)'; $msql->query($sql, $_POST['transactionType'], $_POST['referenceNumber']); /* $headers = 'From: "BLS' . Config::get()->prefix . ' IPN" <*****@*****.**>'; mail('*****@*****.**', 'UNKNOWN ATTEMPT', print_r($_POST,1), $headers); */ die; } // finalize order (success and declined) $ws = new WS(); $ws->bsReturn($data['attempt_id'], $_POST['transactionType']); switch ($_POST['transactionType']) { case 'CHARGE': case 'UNDER_REVIEW': case 'DECLINE': case 'REFUND': case 'CANCELLATION_REFUND': break; default: $headers = 'From: "BLS' . Config::get()->prefix . ' IPN" <*****@*****.**>'; mail('*****@*****.**', 'UNKNOWN TYPE DATA', print_r($data, 1) . "\n\n" . print_r($_POST, 1), $headers); break; }
<?php include_once '../settings/autoload.php'; $msql = SafeMySQL::getInstance(); $sql = "DELETE attempts_temp FROM attempts JOIN attempts_temp USING( tracking_number) WHERE status = 'success' AND type = 'CHARGE'"; $msql->query($sql); $sql = "SELECT attempt_id FROM attempts JOIN attempts_temp USING( tracking_number) WHERE status = 'submitted' AND type = 'CHARGE'"; $data = $msql->getAll($sql); foreach ($data as $attempt) { $ws = new WS(); $ws->bsReturn($attempt['attempt_id'], 'CHARGE'); unset($ws); }