301 lines
14 KiB
PHP
301 lines
14 KiB
PHP
<?php
|
|
/*
|
|
$Id: shopping_cart.php,v 1.73 2003/06/09 23:03:56 hpdl Exp $
|
|
|
|
osCommerce, Open Source E-Commerce Solutions
|
|
http://www.oscommerce.com
|
|
|
|
Copyright (c) 2003 osCommerce
|
|
|
|
Released under the GNU General Public License
|
|
*/
|
|
|
|
require("includes/application_top.php");
|
|
|
|
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART);
|
|
|
|
$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_SHOPPING_CART));
|
|
?>
|
|
<!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>
|
|
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
|
|
<link rel="stylesheet" type="text/css" href="stylesheet.css">
|
|
</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('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
|
|
<tr>
|
|
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
|
|
<tr>
|
|
<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
|
|
<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_cart.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
|
|
</tr>
|
|
</table></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
|
|
</tr>
|
|
<?php
|
|
if ($cart->count_contents() > 0) {
|
|
?>
|
|
<tr>
|
|
<td>
|
|
<?php
|
|
$info_box_contents = array();
|
|
$info_box_contents[0][] = array('align' => 'center',
|
|
'params' => 'class="productListing-heading"',
|
|
'text' => TABLE_HEADING_REMOVE);
|
|
|
|
$info_box_contents[0][] = array('params' => 'class="productListing-heading"',
|
|
'text' => TABLE_HEADING_MANUFACTURER);
|
|
|
|
$info_box_contents[0][] = array('params' => 'class="productListing-heading"',
|
|
'text' => TABLE_HEADING_MODEL);
|
|
|
|
$info_box_contents[0][] = array('params' => 'class="productListing-heading"',
|
|
'text' => TABLE_HEADING_PRODUCTS);
|
|
|
|
$info_box_contents[0][] = array('align' => 'center',
|
|
'params' => 'class="productListing-heading"',
|
|
'text' => TABLE_HEADING_QUANTITY);
|
|
|
|
// Rodax Software
|
|
/*$info_box_contents[0][] = array('align' => 'right',
|
|
'params' => 'class="productListing-heading"',
|
|
'text' => TABLE_HEADING_TOTAL);*/
|
|
$info_box_contents[0][] = array('align' => 'right',
|
|
'params' => 'class="productListing-heading"',
|
|
'text' => ' ');
|
|
|
|
|
|
$any_out_of_stock = 0;
|
|
$products = $cart->get_products();
|
|
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
|
|
// Push all attributes information in an array
|
|
|
|
if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
|
|
while (list($option, $value) = each($products[$i]['attributes'])) {
|
|
echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);
|
|
$attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix
|
|
from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa
|
|
where pa.products_id = '" . (int)$products[$i]['id'] . "'
|
|
and pa.options_id = '" . (int)$option . "'
|
|
and pa.options_id = popt.products_options_id
|
|
and pa.options_values_id = '" . (int)$value . "'
|
|
and pa.options_values_id = poval.products_options_values_id
|
|
and popt.language_id = '" . (int)$languages_id . "'
|
|
and poval.language_id = '" . (int)$languages_id . "'");
|
|
$attributes_values = tep_db_fetch_array($attributes);
|
|
|
|
$products[$i][$option]['products_options_name'] = $attributes_values['products_options_name'];
|
|
$products[$i][$option]['options_values_id'] = $value;
|
|
$products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name'];
|
|
$products[$i][$option]['options_values_price'] = $attributes_values['options_values_price'];
|
|
$products[$i][$option]['price_prefix'] = $attributes_values['price_prefix'];
|
|
}
|
|
}
|
|
}
|
|
|
|
// Recuperar fabricante
|
|
$manufactures = array();
|
|
//$products[$i]['attributes'] = array();
|
|
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
|
|
$manu_query = tep_db_query("select manu.manufacturers_id, manu.manufacturers_name " .
|
|
"from " . TABLE_MANUFACTURERS . " manu, " . TABLE_PRODUCTS . " pro " .
|
|
"where manu.manufacturers_id = pro.manufacturers_id " .
|
|
"and pro.products_id = '" . (int)$products[$i]['id'] . "'");
|
|
$manu_query_values = tep_db_fetch_array($manu_query);
|
|
$manufactures[$i] = array();
|
|
$manufactures[$i]['manufacturers_id'] = $manu_query_values['manufacturers_id'];
|
|
$manufactures[$i]['manufacturers_name'] = $manu_query_values['manufacturers_name'];
|
|
} // for
|
|
|
|
// echo '<pre>'; print_r($manufactures); echo '</pre>' ; exit;
|
|
|
|
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
|
|
if (($i/2) == floor($i/2)) {
|
|
$info_box_contents[] = array('params' => 'class="productListing-even"');
|
|
} else {
|
|
$info_box_contents[] = array('params' => 'class="productListing-odd"');
|
|
}
|
|
|
|
$cur_row = sizeof($info_box_contents) - 1;
|
|
|
|
$info_box_contents[$cur_row][] = array('align' => 'center',
|
|
'params' => 'class="productListing-data" valign="top"',
|
|
'text' => tep_draw_checkbox_field('cart_delete[]', $products[$i]['id']));
|
|
|
|
$info_box_contents[$cur_row][] = array('align' => 'center',
|
|
'params' => 'class="productListing-data" valign="top"',
|
|
'text' => '<a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufactures[$i]['manufacturers_id']) . '">' . $manufactures[$i]['manufacturers_name'] . '</a>');
|
|
|
|
// echo '<pre>'; print_r($products[$i]); echo '</pre>' ; exit;
|
|
|
|
|
|
$info_box_contents[$cur_row][] = array('align' => 'center',
|
|
'params' => 'class="productListing-data" valign="top"',
|
|
'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . $products[$i]['model'] . '</a>');
|
|
|
|
|
|
$products_name = '<table border="0" cellspacing="0" cellpadding="0">' .
|
|
' <tr>' .
|
|
/*' <td class="productListing-data" align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' .*/
|
|
' <td class="productListing-data" valign="top"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"><b>' . $products[$i]['name'] . '</b></a>';
|
|
|
|
|
|
if (STOCK_CHECK == 'true') {
|
|
$stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']);
|
|
if (tep_not_null($stock_check)) {
|
|
$any_out_of_stock = 1;
|
|
|
|
$products_name .= $stock_check;
|
|
}
|
|
}
|
|
|
|
if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
|
|
reset($products[$i]['attributes']);
|
|
while (list($option, $value) = each($products[$i]['attributes'])) {
|
|
$products_name .= '<br><small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>';
|
|
}
|
|
}
|
|
|
|
$products_name .= ' </td>' .
|
|
' </tr>' .
|
|
'</table>';
|
|
|
|
$info_box_contents[$cur_row][] = array('params' => 'class="productListing-data"',
|
|
'text' => $products_name);
|
|
|
|
$info_box_contents[$cur_row][] = array('align' => 'center',
|
|
'params' => 'class="productListing-data" valign="top"',
|
|
'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));
|
|
|
|
// Rodax Software
|
|
/*$info_box_contents[$cur_row][] = array('align' => 'right',
|
|
'params' => 'class="productListing-data" valign="top"',
|
|
'text' => '<b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b>');*/
|
|
$info_box_contents[$cur_row][] = array('align' => 'right',
|
|
'params' => 'class="productListing-data" valign="top"',
|
|
'text' => ' ');
|
|
|
|
}
|
|
|
|
new productListingBox($info_box_contents);
|
|
?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
|
|
</tr>
|
|
|
|
<?php // Rodax Software
|
|
/*
|
|
<tr>
|
|
<td align="right" class="main"><b>< ? php echo SUB_TITLE_SUB_TOTAL; ? > < ? php echo $currencies->format($cart->show_total()); ? ></b></td>
|
|
</tr>*/
|
|
?>
|
|
<?php
|
|
if ($any_out_of_stock == 1) {
|
|
if (STOCK_ALLOW_CHECKOUT == 'true') {
|
|
?>
|
|
<tr>
|
|
<td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CAN_CHECKOUT; ?></td>
|
|
</tr>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<tr>
|
|
<td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CANT_CHECKOUT; ?></td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
<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"><?php echo tep_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART); ?></td>
|
|
<?php
|
|
$back = sizeof($navigation->path)-2;
|
|
if (isset($navigation->path[$back])) {
|
|
?>
|
|
|
|
<?php // Rodax Software
|
|
/* <td class="main"><?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; ?></td>*/
|
|
?>
|
|
|
|
<?php
|
|
}
|
|
?>
|
|
<td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT) . '</a>'; ?></td>
|
|
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
|
|
</tr>
|
|
</table></td>
|
|
</tr>
|
|
</table></td>
|
|
</tr>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<tr>
|
|
<td align="center" class="main"><?php new infoBox(array(array('text' => TEXT_CART_EMPTY))); ?></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 align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
|
|
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
|
|
</tr>
|
|
</table></td>
|
|
</tr>
|
|
</table></td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
?>
|
|
</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'); ?>
|