case 'refund': $so->update_refund($_GET['refund_id'], $_GET['payment_id'], $_GET['refund_number'], $_GET['refund_name'], $_GET['refund_amount'], $_GET['refund_type'], false, false); zen_redirect(zen_href_link(FILENAME_SUPER_PAYMENTS, 'oID=' . $so->oID . '&payment_mode=' . $payment_mode . '&index=' . $_GET['refund_id'] . '&action=confirm', 'NONSSL')); break; } // END switch ($payment_mode) break; // END case 'update' // removes requested payment data from the database (not recoverable!) // END case 'update' // removes requested payment data from the database (not recoverable!) case 'delete': $affected_rows = 0; switch ($payment_mode) { case 'payment': $so->delete_payment($_GET['payment_id']); $affected_rows++; // handle the refunds, if any if ($_GET['refund_action']) { for ($a = 0; $a < sizeof($so->refund); $a++) { if ($so->refund[$a]['payment'] == $_GET['payment_id']) { switch ($_GET['refund_action']) { case 'keep': $so->update_refund($so->refund[$a]['index'], 0); $affected_rows++; break; case 'move': $so->update_refund($so->refund[$a]['index'], $_GET['new_payment_id']); $affected_rows++; break; case 'drop':
$reach_old_payment = $reach_old_payment + $old_payment['amount']; $old_payment['amount'] = 0; } } zen_db_perform(TABLE_SO_PAYMENTS, $old_new_payment); if ($reach_old_payment == $old_order_total_value && $old_payment['amount'] > 0) { $new_payment['orders_id'] = $new_order_id; $new_payment['payment_number'] = $old_payment['number']; $new_payment['payment_name'] = $old_payment['name']; $new_payment['payment_amount'] = $old_payment['amount']; $new_payment['payment_type'] = $old_payment['type']; $new_payment['date_posted'] = $old_payment['posted']; $new_payment['last_modified'] = $old_payment['modified']; zen_db_perform(TABLE_SO_PAYMENTS, $new_payment); } $so->delete_payment($old_payment['index']); } } if ($so->purchase_order) { for ($i = 0; $i < sizeof($so->purchase_order); $i++) { unset($old_po, $new_po); $old_po = $so->purchase_order[$i]; $new_po = array(); $new_po['orders_id'] = $new_order_id; $new_po['po_number'] = $old_po['number']; $new_po['date_posted'] = $old_po['posted']; $new_po['last_modified'] = $old_po['modified']; zen_db_perform(TABLE_SO_PURCHASE_ORDERS, $new_po); } } if ($so->refund) {