[TEP-COMMIT] [CVS catalog] introduce the new main checkout.php page to handle the checkout related

hpdl-OfajU3CKLf1/[email protected] 29 Mar 2005 23:53:52 -0000
Newsgroups gmane.comp.web.oscommerce.cvs
Message-ID <[email protected]>
<html>
<head>
<style><!--
  body {background-color:#ffffff;}
  .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
  .pathname {font-family:monospace; float:right;}
  .fileheader {margin-bottom:.5em;}
  .diff {margin:0;}
  .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
  .tasklist ul {margin-top:0;margin-bottom:0;}
  tr.alt {background-color:#eeeeee}
  #added {background-color:#ddffdd;}
  #addedchars {background-color:#99ff99;font-weight:bolder;}
  tr.alt #added {background-color:#ccf7cc;}
  #removed {background-color:#ffdddd;}
  #removedchars {background-color:#ff9999;font-weight:bolder;}
  tr.alt #removed {background-color:#f7cccc;}
  #info {color:#888888;}
  #context {background-color:#eeeeee;}
  td {padding-left:.3em;padding-right:.3em;}
  tr.head {border-bottom-width:1px;border-bottom-style:solid;}
  tr.head td {padding:0;padding-top:.2em;}
  .task {background-color:#ffff00;}
  .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd}
  .error {color:red;}
  hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="4">Commit in <b><tt>catalog/catalog</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt><a href="#file1">checkout.php</a></tt></td><td align="right" id="added">+53</td><td></td><td nowrap="nowrap" align="center"><a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/checkout.php?rev=1.9&amp;content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/checkout.php.diff?r1=1.9&amp;r2=1.10">-&gt;</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/checkout.php?rev=1.10&amp;content-type=text/vnd.viewcvs-markup">1.10</a></td></tr>
<tr class="alt"><td><tt>includes/content/pages/<a href="#file2"><span id="added">shopping_cart.php</span></a></tt></td><td align="right" id="added">+139</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/includes/content/pages/shopping_cart.php?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a></td></tr>
<tr><td></td><td align="right" id="added">+192</td><td></td><td></td></tr>
</table>
<small id="info">1 added + 1 modified, total 2 files</small><br />
<pre class="comment">
introduce the new main checkout.php page to handle the checkout related
pages, and to load relevant page modules to handle the processing logic

the default checkout page is the shopping cart page, and is based on a CSS
layout
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname"><a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog">catalog</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog">catalog</a><br /></span>
<div class="fileheader"><big><b>checkout.php</b></big> <small id="info"><a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/checkout.php?rev=1.9&amp;content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/checkout.php.diff?r1=1.9&amp;r2=1.10">-&gt;</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/checkout.php?rev=1.10&amp;content-type=text/vnd.viewcvs-markup">1.10</a></small></div>
<pre class="diff"><small id="info">diff -N checkout.php
--- /dev/null	Wed Mar 30 01:53:48 2005
+++ /tmp/cvsAAAkgaOHR	Wed Mar 30 01:53:51 2005
@@ -0,0 +1,53 @@
</small></pre><pre class="diff" id="added">+&lt;?php
+/*
+  $Id$
+
+  osCommerce, Open Source E-Commerce Solutions
+  http://www.oscommerce.com
+
+  Copyright (c) 2005 osCommerce
+
+  Released under the GNU General Public License
+*/
+
+  require('includes/application_top.php');
+
+  if ($osC_Customer-&gt;isLoggedOn() == false) {
+    $navigation-&gt;set_snapshot();
+
+    tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
+  }
+
+  require('includes/classes/order.php');
+
+  require(DIR_WS_LANGUAGES . $osC_Session-&gt;value('language') . '/' . FILENAME_CHECKOUT);
+
+  if ($osC_Services-&gt;isStarted('breadcrumb')) {
+    $breadcrumb-&gt;add(NAVBAR_TITLE_CHECKOUT, tep_href_link(FILENAME_CHECKOUT, '', 'SSL'));
+  }
+
+  if (empty($_GET) === false) {
+    $_checkout_module = tep_sanitize_string(basename(key(array_slice($_GET, 0, 1))));
+
+    if (file_exists('includes/modules/checkout/' . $_checkout_module . '.php')) {
+      include('includes/modules/checkout/' . $_checkout_module . '.php');
+
+      $_checkout_module_name = 'osC_Checkout_' . ucfirst($_checkout_module);
+      $osC_Checkout_Module = new $_checkout_module_name();
+
+      $page_contents = $osC_Checkout_Module-&gt;getPageContentsFile();
+    }
+  }
+
+  if (isset($page_contents) === false) {
+    if ($osC_Services-&gt;isStarted('breadcrumb')) {
+      $breadcrumb-&gt;add(NAVBAR_TITLE_CHECKOUT_SHOPPING_CART, tep_href_link(FILENAME_CHECKOUT, '', 'SSL'));
+    }
+
+    $page_contents = 'shopping_cart.php';
+  }
+
+  require('templates/default.php');
+
+  require('includes/application_bottom.php');
+?&gt;
</pre></div>
<hr /><a name="file2" /><div class="file">
<span class="pathname" id="added"><a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog">catalog</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog">catalog</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/includes">includes</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/includes/content">content</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/includes/content/pages">pages</a><br /></span>
<div class="fileheader" id="added"><big><b>shopping_cart.php</b></big> <small id="info">added at <a href="http://cvs.oscommerce.com/viewcvs.cgi/catalog/catalog/includes/content/pages/shopping_cart.php?rev=1.1&amp;content-type=text/vnd.viewcvs-markup">1.1</a></small></div>
<pre class="diff"><small id="info">diff -N shopping_cart.php
--- /dev/null	Wed Mar 30 01:53:48 2005
+++ /tmp/cvsAAArmaiIR	Wed Mar 30 01:53:52 2005
@@ -0,0 +1,139 @@
</small></pre><pre class="diff" id="added">+&lt;?php
+/*
+  $Id$
+
+  osCommerce, Open Source E-Commerce Solutions
+  http://www.oscommerce.com
+
+  Copyright (c) 2005 osCommerce
+
+  Released under the GNU General Public License
+*/
+?&gt;
+
+&lt;div class="pageHeading"&gt;
+  &lt;span class="pageHeadingImage"&gt;&lt;?php echo tep_image(DIR_WS_IMAGES . 'table_background_cart.gif', HEADING_TITLE_CHECKOUT_SHOPPING_CART, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?&gt;&lt;/span&gt;
+
+  &lt;h1&gt;&lt;?php echo HEADING_TITLE_CHECKOUT_SHOPPING_CART; ?&gt;&lt;/h1&gt;
+&lt;/div&gt;
+
+&lt;?php
+  if ($cart-&gt;count_contents() &gt; 0) {
+    $any_out_of_stock = 0;
+    $products = $cart-&gt;get_products();
+?&gt;
+
+&lt;form name="shopping_cart" action="&lt;?php echo tep_href_link(FILENAME_CHECKOUT, 'action=update_product', 'SSL'); ?&gt;" method="post"&gt;
+
+&lt;div class="moduleBox"&gt;
+  &lt;div class="outsideHeading"&gt;&lt;?php echo HEADING_TITLE_CHECKOUT_SHOPPING_CART; ?&gt;&lt;/div&gt;
+
+  &lt;div class="content"&gt;
+    &lt;table border="0" width="100%" cellspacing="0" cellpadding="2"&gt;
+
+&lt;?php
+    for ($i=0, $n=sizeof($products); $i&lt;$n; $i++) {
+      $products_name = '&lt;a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"&gt;&lt;b&gt;' . $products[$i]['name'] . '&lt;/b&gt;&lt;/a&gt; (Top Category)';
+
+// Push all attributes information in an array
+      if (isset($products[$i]['attributes']) &amp;&amp; is_array($products[$i]['attributes'])) {
+        while (list($option, $value) = each($products[$i]['attributes'])) {
+          $products_name .= osc_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);
+
+          $Qattributes = $osC_Database-&gt;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 = :products_id and pa.options_id = :options_id and pa.options_id = popt.products_options_id and pa.options_values_id = :options_values_id and pa.options_values_id = poval.products_options_values_id and popt.language_id = :language_id and poval.language_id = :language_id');
+          $Qattributes-&gt;bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
+          $Qattributes-&gt;bindTable(':table_products_options_values', TABLE_PRODUCTS_OPTIONS_VALUES);
+          $Qattributes-&gt;bindTable(':table_products_attributes', TABLE_PRODUCTS_ATTRIBUTES);
+          $Qattributes-&gt;bindInt(':products_id', $products[$i]['id']);
+          $Qattributes-&gt;bindInt(':options_id', $option);
+          $Qattributes-&gt;bindInt(':options_values_id', $value);
+          $Qattributes-&gt;bindInt(':language_id', $osC_Session-&gt;value('languages_id'));
+          $Qattributes-&gt;bindInt(':language_id', $osC_Session-&gt;value('languages_id'));
+          $Qattributes-&gt;execute();
+
+          $products[$i][$option]['products_options_name'] = $Qattributes-&gt;value('products_options_name');
+          $products[$i][$option]['options_values_id'] = $value;
+          $products[$i][$option]['products_options_values_name'] = $Qattributes-&gt;value('products_options_values_name');
+          $products[$i][$option]['options_values_price'] = $Qattributes-&gt;value('options_values_price');
+          $products[$i][$option]['price_prefix'] = $Qattributes-&gt;value('price_prefix');
+        }
+      }
+
+      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']) &amp;&amp; is_array($products[$i]['attributes'])) {
+        reset($products[$i]['attributes']);
+        while (list($option, $value) = each($products[$i]['attributes'])) {
+          $products_name .= '&lt;br&gt;- ' . $products[$i][$option]['products_options_name'] . ': ' . $products[$i][$option]['products_options_values_name'];
+        }
+      }
+?&gt;
+      &lt;tr&gt;
+        &lt;td valign="top" width="60"&gt;&lt;?php echo '&lt;a href="' . tep_href_link(FILENAME_CHECKOUT, 'action=cartRemove&amp;products_id=' . $products[$i]['id'], 'SSL') . '"&gt;' . tep_image_button('small_delete.gif', SMALL_IMAGE_BUTTON_DELETE) . '&lt;/a&gt;'; ?&gt;&lt;/td&gt;
+        &lt;td valign="top"&gt;&lt;?php echo $products_name; ?&gt;&lt;/td&gt;
+        &lt;td valign="top"&gt;&lt;?php echo osc_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . osc_draw_hidden_field('products_id[]', $products[$i]['id']); ?&gt;&lt;/td&gt;
+        &lt;td valign="top" align="right"&gt;&lt;?php echo '&lt;b&gt;' . $osC_Currencies-&gt;displayPrice($products[$i]['final_price'], $products[$i]['tax_class_id'], $products[$i]['quantity']) . '&lt;/b&gt;'; ?&gt;&lt;/td&gt;
+      &lt;/tr&gt;
+
+&lt;?php
+    }
+?&gt;
+    &lt;/table&gt;
+  &lt;/div&gt;
+
+  &lt;p style="text-align: right; padding-right: 7px;"&gt;&lt;b&gt;&lt;?php echo SUB_TITLE_SUB_TOTAL; ?&gt; &lt;?php echo $osC_Currencies-&gt;format($cart-&gt;show_total()); ?&gt;&lt;/b&gt;&lt;/p&gt;
+
+&lt;?php
+    if ($any_out_of_stock == 1) {
+      if (STOCK_ALLOW_CHECKOUT == 'true') {
+        echo '&lt;p class="stockWarning" align="center"&gt;' . OUT_OF_STOCK_CAN_CHECKOUT . '&lt;/p&gt;';
+      } else {
+        echo '&lt;p class="stockWarning" align="center"&gt;' . OUT_OF_STOCK_CANT_CHECKOUT . '&lt;/p&gt;';
+      }
+    }
+?&gt;
+
+&lt;/div&gt;
+
+&lt;div class="submitFormButtons"&gt;
+  &lt;span style="float: right;"&gt;&lt;?php echo '&lt;a href="' . tep_href_link(FILENAME_CHECKOUT, 'shipping', 'SSL') . '"&gt;' . tep_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT) . '&lt;/a&gt;'; ?&gt;&lt;/span&gt;
+
+  &lt;?php echo tep_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART); ?&gt;
+&lt;/div&gt;
+
+&lt;/form&gt;
+
+&lt;?php
+  } else {
+?&gt;
+
+&lt;div class="moduleBox"&gt;
+  &lt;div class="content"&gt;
+    &lt;?php echo TEXT_CART_EMPTY; ?&gt;
+  &lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class="submitFormButtons"&gt;
+  &lt;span style="float: right;"&gt;&lt;?php echo '&lt;a href="' . tep_href_link(FILENAME_DEFAULT) . '"&gt;' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '&lt;/a&gt;'; ?&gt;&lt;/span&gt;
+&lt;/div&gt;
+
+&lt;?php
+  }
+?&gt;
+
+&lt;p&gt;&amp;nbsp;&lt;/p&gt;
+
+&lt;div class="moduleBox"&gt;
+  &lt;div class="outsideHeading"&gt;Continue Shopping&lt;/div&gt;
+
+  &lt;div class="content"&gt;
+    [The previously shown categories and products should be listed here ala amazon style. This replaces the need for a continue shopping button.]
+  &lt;/div&gt;
+&lt;/div&gt;
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -&gt; email">CVSspam</a> 0.2.9</small></center>
</body></html>


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click