Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function display_cart() {
- $config = $this->config;
- $errorMessage = null;
- $checkout = $config['checkoutPath'];
- $priceFormat = $config['priceFormat'];
- $id = $config['item']['id'];
- $name = $config['item']['name'];
- $price = $config['item']['price'];
- $qty = $config['item']['qty'];
- $url = $config['item']['url'];
- $add = $config['item']['add'];
- $id = $_POST[$id];
- $name = $_POST[$name];
- $price = $_POST[$price];
- $qty = $_POST[$qty];
- $url = $_POST[$url];
- $cartToken = $_POST['cartToken'];
- if(!$_SESSION['cartToken']){
- $_SESSION['cartToken'] = md5(session_id() . time() . $_SERVER['HTTP_USER_AGENT']);
- }
- if ($config['csrfToken'] === 'true' && $_POST && $cartToken != $_SESSION['cartToken']) {
- $errorMessage = 'Invalid token!' . $cartToken . ' / ' . $_SESSION['cartToken'];
- }
- $id = filter_var($id, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_STRIP_LOW);
- $name = filter_var($name, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_STRIP_LOW);
- $url = filter_var($url, FILTER_SANITIZE_URL);
- if($config['decimalPlaces'] === true) {
- $qty = round($qty, $config['decimalPlaces']);
- }
- if ($_POST[$add]) {
- $itemAdded = $this->add_item($id, $name, $price, $qty, $url);
- if ($itemAdded !== true) {
- $errorType = $itemAdded;
- switch($errorType) {
- case 'qty':
- $errorMessage = $config['text']['quantityError'];
- break;
- case 'price':
- $errorMessage = $config['text']['priceError'];
- break;
- }
- }
- }
- if ($_POST['cartUpdate']) {
- $itemUpdated = $this->update_item($_POST['itemId'], $_POST['itemQty']);
- if ($itemUpdated !== true) {
- $errorMessage = $config['text']['quantityError'];
- }
- }
- if($_POST['cartUpdateCart'] || $_POST['cartCheckout']) {
- $cartUpdated = $this->update_cart();
- if ($cartUpdated !== true) {
- $errorMessage = $config['text']['quantityError'];
- }
- }
- if($_GET['cartRemove'] && !$_POST) {
- $this->remove_item($_GET['cartRemove']);
- }
- if($_POST['cartEmpty']) {
- $this->empty_cart();
- }
- $itemsText = $config['text']['multipleItems'];
- if ($this->itemCount == 1) {
- $itemsText = $config['text']['singleItem'];
- }
- $isCheckout = strpos(request_uri(), $checkout);
- if ($isCheckout !== false || $_REQUEST['cartIsCheckout'] == 'true') {
- $isCheckout = true;
- } else {
- $isCheckout = false;
- }
- if ($isCheckout === true) {
- $path = filter_var($config['cartPath'], FILTER_SANITIZE_URL);
- $path = rtrim($path, '');
- $checkout = 'gateway.php';
- }
- $inputType = 'submit';
- if ($_SESSION['quantityError'] === true) {
- $errorMessage = $config['text']['quantityError'];
- unset($_SESSION['quantityError']);
- }
- $currencyCode = trim(strtoupper($config['currencyCode']));
- switch($currencyCode) {
- case 'EUR':
- $currencySymbol = '€';
- break;
- case 'GBP':
- $currencySymbol = '£';
- break;
- case 'JPY':
- $currencySymbol = '¥';
- break;
- case 'CHF':
- $currencySymbol = 'CHF ';
- break;
- case 'SEK':
- case 'DKK':
- case 'NOK':
- $currencySymbol = 'Kr ';
- break;
- case 'PLN':
- $currencySymbol = 'zł ';
- break;
- case 'HUF':
- $currencySymbol = 'Ft ';
- break;
- case 'CZK':
- $currencySymbol = 'Kč ';
- break;
- case 'ILS':
- $currencySymbol = '₪ ';
- break;
- case 'TWD':
- $currencySymbol = 'NT$';
- break;
- case 'THB':
- $currencySymbol = '฿';
- break;
- case 'MYR':
- $currencySymbol = 'RM';
- break;
- case 'PHP':
- $currencySymbol = 'Php';
- break;
- case 'BRL':
- $currencySymbol = 'R$';
- break;
- case 'USD':
- default:
- $currencySymbol = '$';
- break;
- }
- function tab($n) {
- $tabs = null;
- while ($n > 0) {
- $tabs .= "\t";
- --$n;
- }
- return $tabs;
- }
- if ($errorMessage) {
- $errorMessage = "<p id='cart-error'>$errorMessage</p>";
- }
- echo tab(1) . "$errorMessage\n";
- echo tab(1) . "<form method='post' action='$checkout'>\n";
- echo tab(2) . "<fieldset>\n";
- echo tab(3) . "<input type='hidden' name='cartToken' value='{$_SESSION['cartToken']}' />\n";
- //total items in cart label
- echo tab(7) . "<b><div style='float: right; '>{$config['text']['cartTitle']} ($this->itemCount $itemsText)</div></b>";
- echo tab(3) . "<table class='table table-striped'>\n";
- echo tab(4) . "<thead>\n";
- echo tab(5) . "<tr>\n";
- echo tab(6) . "<th>\n";
- echo tab(6) . "</th>\n";
- echo tab(5) . "</tr>". "\n";
- echo tab(4) . "</thead>\n";
- echo tab(4) . "<tfoot>\n";
- echo tab(5) . "<tr>\n";
- echo tab(6) . "<th colspan='3'>\n";
- if ($isCheckout !== true) {
- if ($config['button']['checkout']) {
- $inputType = "image";
- $src = " src='{$config['button']['checkoutPaypal']}' alt='{$config['text']['checkout']}' title='' ";
- }
- }
- //subtotal
- echo tab(7) . "<div style='float: right;'>{$config['text']['subtotal']}: <strong>$currencySymbol" . number_format($this->subtotal, $priceFormat['decimals'], $priceFormat['dec_point'], $priceFormat['thousands_sep']) . "</strong></span></div>";
- echo tab(6) . "</th>\n";
- echo tab(5) . "</tr>\n";
- echo tab(4) . "</tfoot>\n";
- echo tab(4) . "<tbody>\n";
- if($this->itemCount > 0) {
- foreach($this->get_contents() as $item) {
- echo tab(5) . "<tr>\n";
- echo tab(6) . "<td>\n";
- echo tab(7) . "<input name='cartItemId[]' type='hidden' value='{$item['id']}' />\n";
- echo tab(7) . "<input id='cartItemQty-{$item['id']}' name='cartItemQty[]' size='2' type='text' value='{$item['qty']}' />\n";
- echo tab(6) . "</td>\n";
- echo tab(6) . "<td class='cart-item-name'>\n";
- if ($item['url']) {
- echo tab(7) . "<a href='{$item['url']}'>{$item['name']}</a>\n";
- } else {
- echo tab(7) . $item['name'] . "\n";
- }
- echo tab(7) . "<input name='cartItemName[]' type='hidden' value='{$item['name']}' />\n";
- echo tab(6) . "</td>\n";
- echo tab(6) . "<td class='cart-item-price'>\n";
- echo tab(7) . "<span>$currencySymbol" . number_format($item['subtotal'], $priceFormat['decimals'], $priceFormat['dec_point'], $priceFormat['thousands_sep']) . "</span><input name='cartItemPrice[]' type='hidden' value='{$item['price']}' />\n";
- echo tab(7) . "<a class='cart-remove' href='?cartRemove={$item['id']}'>{$config['text']['removeLink']}</a>\n";
- echo tab(6) . "</td>\n";
- echo tab(5) . "</tr>\n";
- }
- } else {
- //empty button?
- echo tab(5) . "<tr><td id='cart-empty' colspan='3'>{$config['text']['emptyMessage']}</td></tr>\n";
- }
- echo tab(4) . "</tbody>\n";
- echo tab(3) . "</table>\n\n";
- //checkout button
- //echo tab(7) . "<div class='checkout'><input type='$inputType' $src id='cart-checkout' name='cartCheckout' class='btn btn-primary' value='{$config['text']['checkout']}' /></div>";
- echo tab(3) . "<div id='cart-buttons'>\n";
- if ($config['button']['update']) {
- $inputType = "image";
- $src = " src='{$config['button']['update']}' alt='{$config['text']['update']}' title='' ";
- }
- //uncomment to enable update button
- //echo tab(4) . "<input type='$inputType' $src name='cartUpdateCart' value='{$config['text']['update']}' class='cart-button' />\n";
- if ($config['button']['empty']) {
- $inputType = "image";
- $src = " src='{$config['button']['empty']}' alt='{$config['text']['emptyButton']}' title='' ";
- }
- //empty button
- //echo tab(4) . "<input type='$inputType' $src name='cartEmpty' value='{$config['text']['emptyButton']}' class='btn btn-primary' />\n";
- echo tab(3) . "</div>\n";
- if ($isCheckout === true) {
- echo tab(3) . "<input type='hidden' id='cart-is-checkout' name='cartIsCheckout' value='true' />\n";
- if ($config['button']['checkout']) {
- $inputType = "image";
- $src = " src='{$config['button']['checkout']}' alt='{$config['text']['checkoutPaypal']}' title='' ";
- }
- if($this->itemCount <= 0) {
- $disablePaypalCheckout = " disabled='disabled'";
- }
- //checkout with paypal button (disabled version)
- echo tab(3) . "<div style='float: right;'><input type='$inputType' $src id='cart-paypal-checkout' name='cartPaypalCheckout' value='{$config['text']['checkoutPaypal']}' class='btn btn-primary' $disablePaypalCheckout /></div>";
- }
- echo tab(2) . "</fieldset>\n";
- echo tab(1) . "</form>\n\n";
- echo tab(1) . "<div id='cart-tooltip'></div>\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment