Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- include_once("config.php");
- //empty cart by distroying current session
- if(isset($_GET["emptycart"]) && $_GET["emptycart"]==1)
- {
- $return_url = base64_decode($_GET["return_url"]); //return url
- session_destroy();
- header('Location:'.$return_url);
- }
- //add item in shopping cart
- if(isset($_POST["type"]) && $_POST["type"]=='add')
- {
- $product_code = filter_var($_POST["product_code"], FILTER_SANITIZE_STRING); // product code
- $product_qty = filter_var($_POST["product_qty"], FILTER_SANITIZE_NUMBER_INT); // product code
- $product_unit = filter_var($_POST["product_unit"], FILTER_SANITIZE_STRING); // product code
- $qty1st = filter_var($_POST["qty1st"], FILTER_SANITIZE_NUMBER_INT); // product code
- $qty2nd = filter_var($_POST["qty2nd"], FILTER_SANITIZE_NUMBER_INT); // product code
- $qty3rd = filter_var($_POST["qty3rd"], FILTER_SANITIZE_NUMBER_INT); // product code
- $qty4th = filter_var($_POST["qty4th"], FILTER_SANITIZE_NUMBER_INT); // product code
- $return_url = base64_decode($_POST["return_url"]); //return url
- //limit quantity for single product
- //if($product_qty > 10){
- // die('<div align="center">This demo does not allowed more than 10 quantity!<br /><a href="http://sanwebe.com/assets/paypal-shopping-cart-integration/">Back To Products</a>.</div>');
- //}
- //MySqli query - get details of item from db using product code
- $results = $mysqli->query("SELECT * FROM app WHERE counter='$product_code' LIMIT 1");
- $obj = $results->fetch_object();
- if ($results) { //we have the product info
- //prepare array for the session variable
- $new_product = array(array('name'=>$obj->item_name, 'code'=>$product_code, 'qty'=>$product_qty, 'price'=>$obj->price, 'unit'=>$product_unit, 'qty1st'=>$qty1st
- , 'qty2nd'=>$qty2nd, 'qty3rd'=>$qty3rd, 'qty4th'=>$qty4th));
- if(isset($_SESSION["wala"])) //if we have the session
- {
- $found = false; //set found item to false
- foreach ($_SESSION["wala"] as $cart_itm) //loop through session array
- {
- if($cart_itm["code"] == $product_code){ //the item exist in array
- $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$product_qty, 'price'=>$cart_itm["price"], 'unit'=>$cart_itm["unit"], 'qty1st'=>$qty1st, 'qty2nd'=>$qty2nd, 'qty3rd'=>$qty3rd, 'qty4th'=>$qty4th);
- $found = true;
- }else{
- //item doesn't exist in the list, just retrive old info and prepare array for session var
- $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$cart_itm["qty"], 'price'=>$cart_itm["price"], 'unit'=>$cart_itm["unit"], 'qty1st'=>$cart_itm["qty1st"]
- , 'qty2nd'=>$cart_itm["qty2nd"], 'qty3rd'=>$cart_itm["qty3rd"], 'qty4th'=>$cart_itm["qty4th"]);
- }
- }
- if($found == false) //we didn't find item in array
- {
- //add new user item in array
- $_SESSION["wala"] = array_merge($product, $new_product);
- }else{
- //found user item in array list, and increased the quantity
- $_SESSION["wala"] = $product;
- }
- }else{
- //create a new session var if does not exist
- $_SESSION["wala"] = $new_product;
- }
- }
- //redirect back to original page
- header('Location:'.$return_url);
- }
- //remove item from shopping cart
- if(isset($_GET["removep"]) && isset($_GET["return_url"]) && isset($_SESSION["wala"]))
- {
- $product_code = $_GET["removep"]; //get the product code to remove
- $return_url = base64_decode($_GET["return_url"]); //get return url
- foreach ($_SESSION["wala"] as $cart_itm) //loop through session array var
- {
- if($cart_itm["code"]!=$product_code){ //item does,t exist in the list
- $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$cart_itm["qty"], 'price'=>$cart_itm["price"], 'unit'=>$cart_itm["unit"], 'qty1st'=>$cart_itm["qty1st"]
- , 'qty2nd'=>$cart_itm["qty2nd"], 'qty3rd'=>$cart_itm["qty3rd"], 'qty4th'=>$cart_itm["qty4th"]);
- }
- //create a new product list for cart
- $_SESSION["wala"] = $product;
- }
- //redirect back to original page
- header('Location:'.$return_url);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment