function display_cart($jcart) { // JCART ARRAY HOLDS USER CONFIG SETTINGS extract($jcart); // ASSIGN USER CONFIG VALUES AS POST VAR LITERAL INDICES // INDICES ARE THE HTML NAME ATTRIBUTES FROM THE USERS ADD-TO-CART FORM $item_id = $_POST[$item_id]; $item_qty = $_POST[$item_qty]; $item_price = $_POST[$item_price]; $item_name = is_utf8($_POST[$item_name]) ? mb_convert_encoding($_POST[$item_name], 'gb2312', 'utf-8') : $_POST[$item_name]; $item_shop = $_POST[$item_shop]; // ADD AN ITEM if ($_POST[$item_add]) { $item_added = $this->add_item($item_id, $item_qty, $item_price, $item_name, $item_shop); // IF NOT TRUE THE ADD ITEM FUNCTION RETURNS THE ERROR TYPE if ($item_added !== true) { $error_type = $item_added; switch ($error_type) { case 'qty': $error_message = $text['quantity_error']; break; case 'price': $error_message = $text['price_error']; break; } } } // UPDATE A SINGLE ITEM // CHECKING POST VALUE AGAINST $text ARRAY FAILS?? HAVE TO CHECK AGAINST $jcart ARRAY if ($_POST['jcart_update_item'] == $jcart['text']['update_button']) { $item_updated = $this->update_item($_POST['item_id'], $_POST['item_qty']); if ($item_updated !== true) { $error_message = $text['quantity_error']; } } // UPDATE ALL ITEMS IN THE CART if ($_POST['jcart_update_cart'] || $_POST['jcart_checkout']) { $cart_updated = $this->update_cart(); if ($cart_updated !== true) { $error_message = $text['quantity_error']; } } // REMOVE AN ITEM if ($_GET['jcart_remove'] && !$_POST[$item_add] && !$_POST['jcart_update_cart'] && !$_POST['jcart_check_out']) { $this->del_item($_GET['jcart_remove']); } // EMPTY THE CART if ($_POST['jcart_empty']) { $this->empty_cart(); } // DETERMINE WHICH TEXT TO USE FOR THE NUMBER OF ITEMS IN THE CART if ($this->itemcount >= 0) { $text['items_in_cart'] = $text['multiple_items']; } if ($this->itemcount == 1) { $text['items_in_cart'] = $text['single_item']; } // DETERMINE IF THIS IS THE CHECKOUT PAGE // WE FIRST CHECK THE REQUEST URI AGAINST THE USER CONFIG CHECKOUT (SET WHEN THE VISITOR FIRST CLICKS CHECKOUT) // WE ALSO CHECK FOR THE REQUEST VAR SENT FROM HIDDEN INPUT SENT BY AJAX REQUEST (SET WHEN VISITOR HAS JAVASCRIPT ENABLED AND UPDATES AN ITEM QTY) $is_checkout = strpos($_SERVER['REQUEST_URI'], $form_action); if ($is_checkout !== false || $_REQUEST['jcart_is_checkout'] == 'true') { $is_checkout = true; } else { $is_checkout = false; } // OVERWRITE THE CONFIG FORM ACTION TO POST TO jcart-gateway.php INSTEAD OF POSTING BACK TO CHECKOUT PAGE // THIS ALSO ALLOWS US TO VALIDATE PRICES BEFORE SENDING CART CONTENTS TO PAYPAL if ($is_checkout == true) { $form_action = $path . 'jcart-gateway.php'; } // DEFAULT INPUT TYPE // CAN BE OVERRIDDEN IF USER SETS PATHS FOR BUTTON IMAGES $input_type = 'submit'; // IF THIS ERROR IS TRUE THE VISITOR UPDATED THE CART FROM THE CHECKOUT PAGE USING AN INVALID PRICE FORMAT // PASSED AS A SESSION VAR SINCE THE CHECKOUT PAGE USES A HEADER REDIRECT // IF PASSED VIA GET THE QUERY STRING STAYS SET EVEN AFTER SUBSEQUENT POST REQUESTS if ($_SESSION['quantity_error'] == true) { $error_message = $text['quantity_error']; unset($_SESSION['quantity_error']); } // OUTPUT THE CART // IF THERE'S AN ERROR MESSAGE WRAP IT IN SOME HTML if ($error_message) { $error_message = "<p class='jcart-error'>{$error_message}</p>"; } // DISPLAY THE CART HEADER] echo "<div id='sidebar'>"; echo "<!-- BEGIN JCART -->\n<div id='jcart'>\n"; echo "\t{$error_message}\n"; echo "\t<form method='post' action='{$form_action}' onsubmit='return checkForm()' name='mycart'>\n"; echo "\t\t<fieldset>\n"; echo "\t\t\t<table border='1'>\n"; echo "\t\t\t\t<tr>\n"; echo "\t\t\t\t\t<th id='jcart-header' colspan='3'>\n"; echo "\t\t\t\t\t\t<div id='jcart-title'></div> (" . $this->itemcount . $text['items_in_cart'] . ")\n"; echo "\t\t\t\t\t</th>\n"; echo "\t\t\t\t</tr>" . "\n"; // IF ANY ITEMS IN THE CART if ($this->itemcount > 0) { // DISPLAY LINE ITEMS foreach ($data = $this->get_contents() as $i => $item) { $key[$i] = $item['shop']; } array_multisort($key, SORT_ASC, $data); foreach ($data as $i => $item) { $array[] = array($item['shop'] => $item['subtotal']); $k[$item['shop']] = 1; } $a = array_keys($k); foreach ($a as $i) { ${$i} = 0; foreach ($array as $it) { ${$i} += $it[$i]; } } foreach ($a as $i) { $p = get_minprice($i)->min_price; $qsj = ${$i} + $this->shopfee[$i]; echo "<input type='hidden' name='s" . $i . "' value='" . $qsj . " '/>"; $string .= "document.mycart.s" . $i . ".value<{$p}||"; } $len = strlen($string) - 2; $string = substr($string, 0, $len); echo "<script>function checkForm(){if(" . $string . "){alert('您订的东西可能未满某一餐厅的起送价,请再检查一下?:-)');return false;}else{return true;}}</script>"; foreach ($data as $item) { $now = strtotime(date("YmdHis")); $time = strtotime(date("H:i:s")); if ($item['shop'] != $shop) { $minprice = get_minprice($item['shop'])->min_price; echo "<tr>"; echo "<th colspan='1' style='font-weight:bold;text-align:center'>"; echo get_shop($item['shop'])->shopname; echo "</th>"; if ($minprice != 0) { echo "<th style='font-weight:bold;text-align:center'>起送价:" . number_format($minprice, 2) . "</th>"; echo "<th style=\"text-align:right;font-weight:bold; \">"; echo "<span>¥" . number_format(${$item}['shop'] + $this->shopfee[$item['shop']], 2) . "</span>"; echo "</th>"; } else { echo "<th colspan='2' style=\"text-align:right;font-weight:bold; \">"; echo "<span>¥" . number_format(${$item}['shop'] + $this->shopfee[$item['shop']], 2) . "</span>"; echo "</th>"; } echo "</tr>"; if ($this->shopfee[$item['shop']] != 0) { echo "<tr><td colspan='3' style=\"text-align:right; \">送餐费:" . number_format($this->shopfee[$item['shop']], 2) . "</td></tr>"; } //如果$item['shop']==1则是体验店铺,开通在线订餐功能 if (abs($now - get_shop($item['shop'])->linktime < 60) && get_shop($item['shop'])->online == 2 || $item['shop'] == '1' || get_shop($item['shop'])->online == 1 && (strtotime(get_shop($item['shop'])->swstart) < $time && strtotime(get_shop($item['shop'])->swend) > $time || strtotime(get_shop($item['shop'])->xwstart) < $time && strtotime(get_shop($item['shop'])->xwend) > $time)) { } else { echo "<tr class='outline' style='display:none'>"; if (!empty($_SESSION['email'])) { echo "<td colspan='3'><font size='2' color='#F30'>订餐热线:" . get_shop($item['shop'])->shoptel . "</font>"; } else { echo "<td colspan='3'><font size='2' color='#F30'>注册会员即可查看订餐热线</font>"; } echo "</td>"; echo "</tr>"; //有餐店离线 $mark = 1; echo "<input type='hidden' id='mark' value='" . $mark . "' />"; } $shop = $item['shop']; } echo "\t\t\t\t<tr>\n"; echo "<td class='jcart-item-name'>\n"; echo "\t\t\t\t\t\t" . $item['name'] . "<input type='hidden' name='jcart_item_name[ ]' value='" . $item['name'] . "' />\n"; echo "\t\t\t\t\t\t<input type='hidden' name='jcart_item_id[ ]' value='" . $item['id'] . "' />\n"; echo "\t\t\t\t\t</td>\n"; echo "<td class='jcart-item-qty'>"; echo "<img src='./jcart/jian.gif' align='absmiddle' onclick='jiajian(" . $item['id'] . ",2)'/>\n\t\t\t\t<input type='text' size='2' id='jcart-item-id-" . $item['id'] . "' name='jcart_item_qty[ ]' value='" . $item['qty'] . "' />\n\t\t\t\t<img src='./jcart/jia.gif' align='absmiddle' onclick='jiajian(" . $item['id'] . ",1)' />"; echo "</td>"; echo "\t\t\t\t\t<td class='jcart-item-price'>\n"; echo "\t\t\t\t\t\t<span>" . $text['currency_symbol'] . number_format($item['subtotal'], 2) . "</span><input type='hidden' name='jcart_item_price[ ]' value='" . $item['price'] . "' />"; echo "\t\t\t\t\t\t<a class='jcart-remove' href='?jcart_remove=" . $item['id'] . "'>" . $text['remove_link'] . "</a>\n"; echo "\t\t\t\t\t</td>\n"; echo "\t\t\t\t</tr>\n"; } } else { echo "\t\t\t\t<tr><td colspan='3' class='empty'>" . $text['empty_message'] . "</td></tr>\n"; } echo "<tr><td colspan='3' style='text-align:center'>"; echo "<span id='jcart-subtotal'><strong>" . $text['subtotal'] . ":" . $text['currency_symbol'] . number_format($this->total, 2) . "</strong></span>"; echo "</td></tr>"; echo "<tr><th id='jcart-footer' colspan='3'>"; echo "<div style='float:left'><input type='button' value='' onclick='empty()' id='emptyall' /></div>"; if ($is_checkout !== true && $mark != 1) { if ($button['checkout']) { $input_type = 'submit'; $src = ' src="' . $button['checkout'] . '" alt="' . $text['checkout_button'] . '" title="" '; } echo "\t\t\t\t\t\t<input type='" . $input_type . "' " . $src . "id='jcart-checkout' name='jcart_checkout' class='jcart-button' value='' style='background:url(./jcart/order.jpg) no-repeat; width:108px ;height:30px; border:0px'/>\n"; } elseif ($mark == 1) { echo "\t\t\t\t\t\t<div style='float:right'><input type='button' id='jcart-checkout' value='查看订餐热线' onclick='showtelephone()' style='height:32px'/></div>\n"; } if ($is_checkout == true) { // HIDDEN INPUT ALLOWS US TO DETERMINE IF WE'RE ON THE CHECKOUT PAGE // WE NORMALLY CHECK AGAINST REQUEST URI BUT AJAX UPDATE SETS VALUE TO jcart-relay.php echo "\t\t\t<input type='hidden' id='jcart-is-checkout' name='jcart_is_checkout' value='true' />\n"; } echo "\t\t\t\t\t</th>\n"; echo "\t\t\t\t</tr>\n"; echo "\t\t\t</table>\n\n"; echo "\t\t</fieldset>\n"; //echo "<input type='hidden' name='total' value='".$this->total."'/>"; echo "\t</form>\n"; echo "</div>\n<!-- END JCART -->\n"; echo "</div>"; }
function display_cart($jcart) { // JCART ARRAY HOLDS USER CONFIG SETTINGS extract($jcart); // Returns true if $string is valid UTF-8 and false otherwise. function is_utf8($word) { return preg_match("/^([" . chr(228) . "-" . chr(233) . "]{1}[" . chr(128) . "-" . chr(191) . "]{1}[" . chr(128) . "-" . chr(191) . "]{1}){1}/", $word) == true || preg_match("/([" . chr(228) . "-" . chr(233) . "]{1}[" . chr(128) . "-" . chr(191) . "]{1}[" . chr(128) . "-" . chr(191) . "]{1}){1}\$/", $word) == true || preg_match("/([" . chr(228) . "-" . chr(233) . "]{1}[" . chr(128) . "-" . chr(191) . "]{1}[" . chr(128) . "-" . chr(191) . "]{1}){2,}/", $word) == true ? true : false; } // function is_utf8 function get_shop($id) { // query database for the name for a bulid $conn = db_connect(); $query = "select `shopname`,`linktime`,`shoptel` from wm_shopinfo where shopid = '" . $id . "'"; $result = @$conn->query($query); $row = $result->fetch_object(); return $row; } function get_minprice($sid) { $bulid = isset($_COOKIE['bid']) ? $_COOKIE['bid'] : 8; $conn = db_connect(); $query = "select `min_price` from `wm_shoplinkbul` where shopid = '" . $sid . "' and areaid='" . $bulid . "'"; $result = @$conn->query($query); $row = $result->fetch_object(); return $row; } // ASSIGN USER CONFIG VALUES AS POST VAR LITERAL INDICES // INDICES ARE THE HTML NAME ATTRIBUTES FROM THE USERS ADD-TO-CART FORM $item_id = $_POST[$item_id]; $item_qty = $_POST[$item_qty]; $item_price = $_POST[$item_price]; $item_name = is_utf8($_POST[$item_name]) ? mb_convert_encoding($_POST[$item_name], 'gb2312', 'utf-8') : $_POST[$item_name]; $item_shop = $_POST[$item_shop]; // ADD AN ITEM if ($_POST[$item_add]) { $item_added = $this->add_item($item_id, $item_qty, $item_price, $item_name, $item_shop); // IF NOT TRUE THE ADD ITEM FUNCTION RETURNS THE ERROR TYPE if ($item_added !== true) { $error_type = $item_added; switch ($error_type) { case 'qty': $error_message = $text['quantity_error']; break; case 'price': $error_message = $text['price_error']; break; } } } // UPDATE A SINGLE ITEM // CHECKING POST VALUE AGAINST $text ARRAY FAILS?? HAVE TO CHECK AGAINST $jcart ARRAY if ($_POST['jcart_update_item'] == $jcart['text']['update_button']) { $item_updated = $this->update_item($_POST['item_id'], $_POST['item_qty']); if ($item_updated !== true) { $error_message = $text['quantity_error']; } } // UPDATE ALL ITEMS IN THE CART if ($_POST['jcart_update_cart'] || $_POST['jcart_checkout']) { $cart_updated = $this->update_cart(); if ($cart_updated !== true) { $error_message = $text['quantity_error']; } } // REMOVE AN ITEM if ($_GET['jcart_remove'] && !$_POST[$item_add] && !$_POST['jcart_update_cart'] && !$_POST['jcart_check_out']) { $this->del_item($_GET['jcart_remove']); } // EMPTY THE CART if ($_POST['jcart_empty']) { $this->empty_cart(); } // DETERMINE WHICH TEXT TO USE FOR THE NUMBER OF ITEMS IN THE CART if ($this->itemcount >= 0) { $text['items_in_cart'] = $text['multiple_items']; } if ($this->itemcount == 1) { $text['items_in_cart'] = $text['single_item']; } // DETERMINE IF THIS IS THE CHECKOUT PAGE // WE FIRST CHECK THE REQUEST URI AGAINST THE USER CONFIG CHECKOUT (SET WHEN THE VISITOR FIRST CLICKS CHECKOUT) // WE ALSO CHECK FOR THE REQUEST VAR SENT FROM HIDDEN INPUT SENT BY AJAX REQUEST (SET WHEN VISITOR HAS JAVASCRIPT ENABLED AND UPDATES AN ITEM QTY) $is_checkout = strpos($_SERVER['REQUEST_URI'], $form_action); if ($is_checkout !== false || $_REQUEST['jcart_is_checkout'] == 'true') { $is_checkout = true; } else { $is_checkout = false; } // OVERWRITE THE CONFIG FORM ACTION TO POST TO jcart-gateway.php INSTEAD OF POSTING BACK TO CHECKOUT PAGE // THIS ALSO ALLOWS US TO VALIDATE PRICES BEFORE SENDING CART CONTENTS TO PAYPAL if ($is_checkout == true) { $form_action = $path . 'jcart-gateway.php'; } // DEFAULT INPUT TYPE // CAN BE OVERRIDDEN IF USER SETS PATHS FOR BUTTON IMAGES $input_type = 'submit'; // IF THIS ERROR IS TRUE THE VISITOR UPDATED THE CART FROM THE CHECKOUT PAGE USING AN INVALID PRICE FORMAT // PASSED AS A SESSION VAR SINCE THE CHECKOUT PAGE USES A HEADER REDIRECT // IF PASSED VIA GET THE QUERY STRING STAYS SET EVEN AFTER SUBSEQUENT POST REQUESTS if ($_SESSION['quantity_error'] == true) { $error_message = $text['quantity_error']; unset($_SESSION['quantity_error']); } // OUTPUT THE CART // IF THERE'S AN ERROR MESSAGE WRAP IT IN SOME HTML if ($error_message) { $error_message = "<p class='jcart-error'>{$error_message}</p>"; } // DISPLAY THE CART HEADER] echo "<div id='sidebar'>"; echo "<!-- BEGIN JCART -->\n<div id='jcart'>\n"; echo "\t{$error_message}\n"; echo "\t<form method='post' action='{$form_action}' onsubmit='return checkForm()' name='mycart'>\n"; echo "\t\t<fieldset>\n"; echo "\t\t\t<table border='1'>\n"; echo "\t\t\t\t<tr>\n"; echo "\t\t\t\t\t<th id='jcart-header' colspan='3'>\n"; echo "\t\t\t\t\t\t<span id='jcart-title'>" . $text['cart_title'] . "</span> (" . $this->itemcount . " " . $text['items_in_cart'] . ")\n"; echo "\t\t\t\t\t</th>\n"; echo "\t\t\t\t</tr>" . "\n"; // IF ANY ITEMS IN THE CART if ($this->itemcount > 0) { // DISPLAY LINE ITEMS foreach ($data = $this->get_contents() as $i => $item) { $key[$i] = $item['shop']; } array_multisort($key, SORT_ASC, $data); foreach ($data as $i => $item) { $array[] = array($item['shop'] => $item['subtotal']); $k[$item['shop']] = 1; } $a = array_keys($k); foreach ($a as $i) { ${$i} = 0; foreach ($array as $it) { ${$i} += $it[$i]; } } foreach ($a as $i) { $p = get_minprice($item['shop'])->min_price; echo "<input type='hidden' name='s" . $i . "' value='" . ${$i} . "'/>"; $string .= "document.mycart.s" . $i . ".value<{$p}||"; } $len = strlen($string) - 2; $string = substr($string, 0, $len); echo "<script>function checkForm(){if(" . $string . "){alert('您订的东西可能未满某一餐厅的起送价,请再检查一下?:-)');return false;}else{return true;}}</script>"; foreach ($data as $item) { $now = strtotime(date("YmdHis")); if ($item['shop'] != $shop) { echo "<tr>"; echo "<th colspan='1'>"; echo get_shop($item['shop'])->shopname; echo "</th>"; echo "<th>"; echo "起送价格:" . number_format(get_minprice($item['shop'])->min_price, 2); echo "</th>"; echo "<th colspan='1' style=\"text-align:right;font-weight:bold; \">"; echo "<span>¥" . number_format(${$item}['shop'], 2) . "</span>"; echo "</th>"; echo "</tr>"; //如果$item['shop']==1则是体验店铺,开通在线订餐功能 if (abs($now - get_shop($item['shop'])->linktime > 60) && $item['shop'] != '1' && (get_shop($item['shop'])->online == 2 && (strtotime(get_shop($item['shop'])->swstart) < $time && strtotime(get_shop($item['shop'])->swend) > $time || strtotime(get_shop($item['shop'])->xwstart) < $time && strtotime(get_shop($item['shop'])->xwend) > $time))) { echo "<tr class='outline' style='display:none'>"; if (!empty($_SESSION['email'])) { echo "<td colspan='3'><font size='2' color='#F30'>订购热线:" . get_shop($item['shop'])->shoptel . "</font>"; } else { echo "<td colspan='3'><font size='2' color='#F30'>注册会员即可查看订餐热线</font>"; } echo "</td>"; echo "</tr>"; //有餐店离线 $mark = 1; echo "<input type='hidden' id='mark' value='" . $mark . "' />"; } $shop = $item['shop']; } echo "\t\t\t\t<tr>\n"; // ADD THE ITEM ID AS THE INPUT ID ATTRIBUTE // THIS ALLOWS US TO ACCESS THE ITEM ID VIA JAVASCRIPT ON QTY CHANGE, AND THEREFORE UPDATE THE CORRECT ITEM // NOTE THAT THE ITEM ID IS ALSO PASSED AS A SEPARATE FIELD FOR PROCESSING VIA PHP echo "\t\t\t\t\t<td class='jcart-item-qty'>\n"; echo "\t\t\t\t\t\t<input type='text' size='2' id='jcart-item-id-" . $item['id'] . "' name='jcart_item_qty[ ]' value='" . $item['qty'] . "' />\n"; echo "\t\t\t\t\t</td>\n"; echo "\t\t\t\t\t<td class='jcart-item-name'>\n"; //if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0")) //{ echo "\t\t\t\t\t\t" . $item['name'] . "<input type='hidden' name='jcart_item_name[ ]' value='" . $item['name'] . "' />\n"; /*}else { echo "\t\t\t\t\t\t" . mb_convert_encoding($item['name'],'gb2312','utf-8') . "<input type='hidden' name='jcart_item_name[ ]' value='" . mb_convert_encoding($item['name'],'gb2312','utf-8') . "' />\n"; }*/ echo "\t\t\t\t\t\t<input type='hidden' name='jcart_item_id[ ]' value='" . $item['id'] . "' />\n"; echo "\t\t\t\t\t</td>\n"; echo "\t\t\t\t\t<td class='jcart-item-price'>\n"; echo "\t\t\t\t\t\t<span>" . $text['currency_symbol'] . number_format($item['subtotal'], 2) . "</span><input type='hidden' name='jcart_item_price[ ]' value='" . $item['price'] . "' />"; echo "\t\t\t\t\t\t<a class='jcart-remove' href='?jcart_remove=" . $item['id'] . "'>" . $text['remove_link'] . "</a>\n"; echo "\t\t\t\t\t</td>\n"; echo "\t\t\t\t</tr>\n"; } } else { echo "\t\t\t\t<tr><td colspan='3' class='empty'>" . $text['empty_message'] . "</td></tr>\n"; } // DISPLAY THE CART FOOTER echo "\t\t\t\t<tr>\n"; echo "\t\t\t\t\t<th id='jcart-footer' colspan='3'>\n"; // IF THIS IS THE CHECKOUT HIDE THE CART CHECKOUT BUTTON if ($is_checkout !== true && $mark != 1) { if ($button['checkout']) { $input_type = 'submit'; $src = ' src="' . $button['checkout'] . '" alt="' . $text['checkout_button'] . '" title="" '; } echo "\t\t\t\t\t\t<input type='" . $input_type . "' " . $src . "id='jcart-checkout' name='jcart_checkout' class='jcart-button' value='" . $text['checkout_button'] . "' />\n"; } elseif ($mark == 1) { echo "\t\t\t\t\t\t<input type='button' id='jcart-checkout' value='查看订餐热线' onclick='showtelephone()'/>\n"; } echo "\t\t\t\t\t\t<span id='jcart-subtotal'>" . $text['subtotal'] . ": <strong>" . $text['currency_symbol'] . number_format($this->total, 2) . "</strong></span>\n"; echo "\t\t\t\t\t</th>\n"; echo "\t\t\t\t</tr>\n"; echo "\t\t\t</table>\n\n"; echo "\t\t\t<div class='jcart-hide'>\n"; if ($button['update']) { $input_type = 'image'; $src = ' src="' . $button['update'] . '" alt="' . $text['update_button'] . '" title="" '; } echo "\t\t\t\t<input type='" . $input_type . "' " . $src . "name='jcart_update_cart' value='" . $text['update_button'] . "' class='jcart-button' />\n"; if ($button['empty']) { $input_type = 'image'; $src = ' src="' . $button['empty'] . '" alt="' . $text['empty_button'] . '" title="" '; } echo "\t\t\t\t<input type='" . $input_type . "' " . $src . "name='jcart_empty' value='" . $text['empty_button'] . "' class='jcart-button' />\n"; //echo "<font color=red><b>您的浏览器版本太低啦,请按F5键刷新</b></font>"; echo "\t\t\t</div>\n"; // IF THIS IS THE CHECKOUT DISPLAY THE PAYPAL CHECKOUT BUTTON if ($is_checkout == true) { // HIDDEN INPUT ALLOWS US TO DETERMINE IF WE'RE ON THE CHECKOUT PAGE // WE NORMALLY CHECK AGAINST REQUEST URI BUT AJAX UPDATE SETS VALUE TO jcart-relay.php echo "\t\t\t<input type='hidden' id='jcart-is-checkout' name='jcart_is_checkout' value='true' />\n"; // SEND THE URL OF THE CHECKOUT PAGE TO jcart-gateway.php // WHEN JAVASCRIPT IS DISABLED WE USE A HEADER REDIRECT AFTER THE UPDATE OR EMPTY BUTTONS ARE CLICKED $protocol = 'http://'; if (!empty($_SERVER['HTTPS'])) { $protocol = 'https://'; } echo "\t\t\t<input type='hidden' id='jcart-checkout-page' name='jcart_checkout_page' value='" . $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "' />\n"; // PAYPAL CHECKOUT BUTTON } echo "\t\t</fieldset>\n"; //echo "<input type='hidden' name='total' value='".$this->total."'/>"; echo "\t</form>\n"; // IF UPDATING AN ITEM, FOCUS ON ITS QTY INPUT AFTER THE CART IS LOADED (DOESN'T SEEM TO WORK IN IE7) if ($_POST['jcart_update_item']) { echo "\t" . '<script type="text/javascript">$(function(){$("#jcart-item-id-' . $_POST['item_id'] . '").focus()});</script>' . "\n"; } echo "</div>\n<!-- END JCART -->\n"; echo "</div>"; }