} else { $shopping_cart = new ShoppingCart($_SESSION["username"]); } /* if there are any shopping_cart actions, do it now */ $form_action = var_get_post("action", ""); if ($form_action == "add_product_to_cart") { $form_product_id = var_get_post("product_id", ""); $form_product_amount = var_get_post("amount", ""); $form_product_amount = str_replace(',', '.', $form_product_amount); if ($form_product_id != "" && $form_product_amount != "") { $shopping_cart->addProduct($form_product_id, $form_product_amount, ""); } } elseif ($form_action == "remove_product_from_cart") { $form_product_id = var_get_post("product_id", ""); if ($form_product_id != "") { $shopping_cart->removeProduct($form_product_id); } } elseif ($form_action == "edit_product_amount") { $form_product_id = var_get_post("product_id", ""); $form_product_amount = var_get_post("product_amount", ""); $form_product_amount = str_replace(',', '.', $form_product_amount); $form_product_hint = var_get_post("product_hint", ""); if ($form_product_id != "" && $form_product_amount != "") { $shopping_cart->editProduct($form_product_id, $form_product_amount, $form_product_hint); } } elseif ($form_action == "create_bill") { if ($shopping_cart->createBill() == 0) { $shopping_cart->clearShoppingCart(); } } elseif ($form_action == "set_template") { $shopping_cart->saveTemplate();
echo "Adding " . $product_id . " x " . $qt . "<br>"; $old_qt = 0; if (array_key_exists($product_id, $_SESSION['products'])) { $old_qt = $_SESSION['products'][$product_id]; } $_SESSION['products'][$product_id] = $old_qt + $qt; } function removeProduct($product_id) { echo "Removing " . $product_id . "<br>"; if (array_key_exists($product_id, $_SESSION['products'])) { unset($_SESSION['products'][$product_id]); } } function listProducts() { echo "Listing products" . "<br>"; foreach ($_SESSION['products'] as $product_id => $qt) { echo $product_id . " x " . $qt . "<br>"; } } } // init session session_start(); // Testing $sh = new ShoppingCart(); $sh->addProduct("123", 2); $sh->addProduct("345", 1); $sh->addProduct("678", 1); $sh->removeProduct("345"); $sh->listProducts();
throw new Exception("No size entered"); } else { return $this->size; } } public function provideDescriptionForProductType() { return 'This is a ' . $this->getSize() . ' ' . $this->getBrand() . ' ' . $this->getname() . ' ' . $this->getDisplayType() . ' Television <br />'; } } $itemDescriber = new ItemDescriber(); $cart = new ShoppingCart(); $hoodie = new Clothing("Hoodie", "Nike", 19.99, "large", "red", "shirt", "male"); $plasma = new Television("Plasma", "Sony", 1000.0, plasma, "50in"); $cart->addProduct($hoodie); $cart->addProduct($plasma); echo implode('<br />', $cart->provideDescription()); echo "<br />"; echo $cart->getTotalPrice(); echo "<br />"; $cart->removeProduct($hoodie); foreach ($cart->provideDescription() as $productDescription) { echo $productDescription; echo '<br />'; } var_dump($cart->findProductByName("Plasma")); var_dump($itemDescriber->outputDescription($cart)); ?> </p> </body> </html>