public function are_shipping_details_confirmed()
 {
     $log_in_manager = Shop_LogInManager::get_instance();
     $customer = $log_in_manager->get_user();
     $confirmation_of_shipping_details = $this->get_shipping_details_confirmation_answer();
     if ($confirmation_of_shipping_details == TRUE && $customer->get_address_id() != 0 && $customer->get_telephone_number_id() != 0 && $customer->get_customer_region_id() != 0) {
         return TRUE;
     }
     return FALSE;
 }
<?php

/**
 * The content of a page that shows a product.
 *
 * @copyright Clear Line Web Design, 2007-07-26
 */
/*
 * Get instances of the singleton objects.
 */
$mysql_user_factory = Database_MySQLUserFactory::get_instance();
$gvm = Caching_GlobalVarManager::get_instance();
$page_manager = PublicHTML_PageManager::get_instance();
$log_in_manager = Shop_LogInManager::get_instance();
$current_page_url = $page_manager->get_script_uri();
$redirect_script_url = clone $current_page_url;
$redirect_script_url->set_get_variable('type', 'redirect-script');
$cancel_href = $current_page_url;
/*
 * Create other objects.
 */
$mysql_user = $mysql_user_factory->get_for_this_project();
$database = $mysql_user->get_database();
$comments_table = $database->get_table('hpi_shop_comments');
$product_row = $gvm->get('product');
$product_row_renderer = $product_row->get_renderer();
/*
 * Start assembling the display.
 */
$content_div = new HTMLTags_Div();
$content_div->set_attribute_str('id', 'content');
 /**
  * Changes the quantity of a product in the shopping basket.
  *
  * Checks that there is enough of the product first.
  */
 public function edit_shopping_basket($edit_id, $quantity)
 {
     $log_in_manager = Shop_LogInManager::get_instance();
     if ($log_in_manager->is_logged_in()) {
         $customer = $log_in_manager->get_user();
         $customer_id = $customer->get_id();
     } else {
         $customer_id = 0;
     }
     $shopping_basket_item = $this->get_row_by_id($edit_id);
     $variation = array();
     $variation['size'] = $shopping_basket_item->get('size');
     $variation['colour'] = $shopping_basket_item->get('colour');
     $available_stock_level = Shop_StockLevelsHelper::get_available_stock_level($shopping_basket_item->get_product_id(), $variation);
     if ($available_stock_level >= $quantity) {
         $values = array();
         $values['quantity'] = $quantity;
         $values['customer_region_id'] = $_SESSION['customer_region_id'];
         $values['customer_id'] = $customer_id;
         return $this->update_by_id($edit_id, $values);
     } else {
         throw new Shop_StockNotAvailableException($edit_id, $quantity, $available_stock_level);
     }
 }