Jeg har tjekket i phpmyadmin og kan se at der faktisk genereres et nyt ordre_id i tabellen order. Det sker når includes/modules/payment/fribetaling.php kører de sidste linier:
[php]
function create_order() {
global $customer_id;
// Create an entry in the orders-table in order to get an order-id we can use
// This entry only works as a reservation.
// If no other data is added, the order will not be displayed in OsCommerce
$sql_data_array = array('customers_id' => $customer_id,
'date_purchased' => 'now()',
'orders_status' => 0);
tep_db_perform(TABLE_ORDERS, $sql_data_array);
return tep_db_insert_id();
}
}
?>
[/php]
Også de ordrenummre der ikke bliver vist på catalog/checkout_fribetaling.php. Er det rigtigt at antage at fejlen så ligger på catalog/checkout_fribetaling.php Så vidt jeg kan se så må det være her et sted ordrenummeret bliver fundet frem (af og til i hvert fald)
[php]
$process_button_string .= '<td class="main"><b>' . ORDER_NUMBER . '</b></td>';
$process_button_string .= '<td class="main">' . strval($order_id) . tep_draw_hidden_field("Ordernumber", $order_id) . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . ORDER_AMOUNT . '</b></td>';
[/php]
Og her er også lige hele checkout_fribetaling.php i tilfælde nogen af de goe' kan spotte fejlen her:
[php]<?php
/*
$Id: checkout_fribetaling.php
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2006 Jakob Høy Biegel
Released under the GNU General Public License
*/
include('includes/application_top.php');
// avoid hack attempts during the checkout procedure by checking the internal cartID
if (isset($cart->cartID) && tep_session_is_registered('cartID')) {
if ($cart->cartID != $cartID) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
}
}
// if the customer is not logged on, redirect them to the login page
if (!tep_session_is_registered('customer_id')) {
$navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}
if (!tep_session_is_registered('sendto')) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
}
if ( (tep_not_null(MODULE_PAYMENT_INSTALLED)) && (!tep_session_is_registered('payment')) ) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
}
// load selected payment module
require(DIR_WS_CLASSES . 'payment.php');
$payment_modules = new payment($payment);
// load the selected shipping module
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping($shipping);
require(DIR_WS_CLASSES . 'order.php');
$order = new order;
require(DIR_WS_CLASSES . 'order_total.php');
$order_total_modules = new order_total;
$order_totals = $order_total_modules->process();
include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_FRIBETALING);
$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
$breadcrumb->add(NAVBAR_TITLE_2);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<?php if (MODULE_PAYMENT_FRIBETALING_LOCALFORM != 'False') { ?>
<base href="<?php echo (getenv('HTTPS') == 'on' ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<?php } ?>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script language="javascript"><!--
function check_pbscc_form() {
// Remove all non-digits from CardNumber
document.payment_form.Cardnumber.value =
document.payment_form.Cardnumber.value.replace(/(\D)+/g,"");
// Remove all non-digits from Control-digits
document.payment_form.CVC.value =
document.payment_form.CVC.value.replace(/(\D)+/g,"");
if (document.payment_form.CVC.value.length > 0 &&
document.payment_form.CVC.value.length < 3) {
alert("<?php echo JS_ERROR_INVALID_CVC; ?>");
return false;
}
return true;
}
//--></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php');
?>
<!-- header_eof //-->
<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top">
<?php
echo tep_draw_form('payment_form', 'https://pgw.fribetaling.dk/betal.fri', 'post', 'autocomplete="off" onsubmit="return check_pbscc_form();"');
?>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td><table border="0" width="100%" cellspacing="4" cellpadding="2">
<tr>
<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_confirmation.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
</td>
</tr>
</table></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<?php
// show cc-payment specific data
$process_button_string = '<tr>';
$order_amount = $currencies->calculate($order->info['total'], true, $order->info['currency'], $order->info['currency_value'], '.', '');
if (!tep_session_is_registered('order_amount')) {
tep_session_register('order_amount');
}
$currency_code = $order->info['currency'];
$currency_iso4217code = $currencies->get_iso_code($currency_code); // Use iso-code from currencies-table
$order_amount_text = $currencies->calculate($order_amount, false, $currency_code) . ' ' . $currency_code;
for ($i=1; $i<13; $i++) {
$expires_month[] = array('id' => sprintf('%02d', $i), 'text' => sprintf('%02d', $i));
}
$today = getdate();
for ($i=$today['year']; $i < $today['year']+20; $i++) {
$expires_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%y',mktime(0,0,0,1,1,$i)));
}
$process_button_string .= '<td class="main"><b>' . ORDER_NUMBER . '</b></td>';
$process_button_string .= '<td class="main">' . strval($order_id) . tep_draw_hidden_field("Ordernumber", $order_id) . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . ORDER_AMOUNT . '</b></td>';
$process_button_string .= '<td class="main">' . $order_amount_text;
$process_button_string .= tep_draw_hidden_field('Amount', 100*$order_amount) . tep_draw_hidden_field('Currency', $currency_iso4217code) . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . CARD_NUMBER . '</b></td>';
$process_button_string .= '<td class="main">' . tep_draw_input_field('Cardnumber', '', 'autocomplete="off" size="22"') . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . EXPIRE_DATE . '</b></td>';
$process_button_string .= '<td class="main">' . tep_draw_pull_down_menu('Expmm', $expires_month) . ' ' . tep_draw_pull_down_menu('Expyy', $expires_year) . ' ' . EXPIRE_DATE_HINT . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . CVC . '</b></td>';
$process_button_string .= '<td class="main">' . tep_draw_input_field('CVC', '', 'autocomplete="off" size="3" maxlength="3"') . ' ' . CVC_HINT . '</td>';
// extra hidden fields
if (MODULE_PAYMENT_FRIBETALING_TESTMODE != '') {
$process_button_string .= tep_draw_hidden_field('Merchant', '2133334');
$process_button_string .= tep_draw_hidden_field('Testtransaction', substr(MODULE_PAYMENT_FRIBETALING_TESTMODE, 0, 1));
} else {
$process_button_string .= tep_draw_hidden_field('Merchant', MODULE_PAYMENT_FRIBETALING_SHOPID);
}
// use accept-url and decline-url
if (MODULE_PAYMENT_FRIBETALING_LOCALFORM == 'False') {
$binary_gateway_fb = 'https://remoteload.fribetaling.dk/remoteload.cfm?version=2&reload=1&page=';
$process_button_string .= tep_draw_hidden_field('Accept', $binary_gateway_fb . urlencode(tep_href_link(FILENAME_FRIBETALING_ACCEPT, '', 'NONSSL')));
$process_button_string .= tep_draw_hidden_field('Decline', $binary_gateway_fb . urlencode(tep_href_link(FILENAME_FRIBETALING_DECLINE, '', 'NONSSL')));
} else {
$process_button_string .= tep_draw_hidden_field('Accept', tep_href_link(FILENAME_FRIBETALING_ACCEPT, '', 'SSL'));
$process_button_string .= tep_draw_hidden_field('Decline', tep_href_link(FILENAME_FRIBETALING_DECLINE, '', 'SSL'));
}
$process_button_string .= '</tr>';
echo $process_button_string;
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
<td class="main"><b><?php echo TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE;?></td>
<td class="main" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
</tr>
</table></td>
<td width="20%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="20%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="20%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
</tr>
</table></td>
<td width="20%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_PAYMENT . '</a>'; ?></td>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>
<td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_ONLINE_PAYMENT; ?></td>
<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>
</tr>
</table></td>
</tr>
</table></form></td>
<!-- body_text_eof //-->
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
</table></td>
</tr>
</table>
<!-- body_eof //-->
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
[/php]