magtaf69 Posted April 23, 2003 Share Posted April 23, 2003 :oops: I have a problem, when I add items into the cart I am not able to delete the items I want. I have the code in my /includes/application_top.php below. Can any of you GURUS of PSC help me. I have search the contributions and the forums and unable to find a solution. Here is my site and you see what I mean. shop.alcary.com <?php /* $Id: application_top.php,v 1.256 2002/11/23 02:29:39 thomasamoulton Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License */ // Start the clock for the page parse time log define('PAGE_PARSE_START_TIME', microtime()); // Set the level of error reporting error_reporting(E_ALL & ~E_NOTICE); // Check if register_globals is enabled. // Since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized. if (function_exists('ini_get')) { ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!'); } // Disable use_trans_sid as tep_href_link() does this manually if (function_exists('ini_set')) { ini_set('session.use_trans_sid', 0); } // Set the local configuration parameters - mainly for developers if (file_exists('includes/local/configure.php')) include('includes/local/configure.php'); // include server parameters require('includes/configure.php'); // Define the project version define('PROJECT_VERSION', 'osCommerce 2.2-CVS'); // define the filenames used in the project define('FILENAME_ACCOUNT', 'account.php'); define('FILENAME_ACCOUNT_EDIT', 'account_edit.php'); define('FILENAME_ACCOUNT_EDIT_PROCESS', 'account_edit_process.php'); define('FILENAME_ACCOUNT_HISTORY', 'account_history.php'); define('FILENAME_ACCOUNT_HISTORY_INFO', 'account_history_info.php'); define('FILENAME_ADDRESS_BOOK', 'address_book.php'); define('FILENAME_ADDRESS_BOOK_PROCESS', 'address_book_process.php'); define('FILENAME_ADVANCED_SEARCH', 'advanced_search.php'); define('FILENAME_ADVANCED_SEARCH_RESULT', 'advanced_search_result.php'); define('FILENAME_ALSO_PURCHASED_PRODUCTS', 'also_purchased_products.php'); // This is the bottom of product_info.php (found in modules) define('FILENAME_CHECKOUT_CONFIRMATION', 'checkout_confirmation.php'); define('FILENAME_CHECKOUT_PAYMENT', 'checkout_payment.php'); define('FILENAME_CHECKOUT_PAYMENT_ADDRESS', 'checkout_payment_address.php'); define('FILENAME_CHECKOUT_PROCESS', 'checkout_process.php'); define('FILENAME_CHECKOUT_SHIPPING', 'checkout_shipping.php'); define('FILENAME_CHECKOUT_SHIPPING_ADDRESS', 'checkout_shipping_address.php'); define('FILENAME_CHECKOUT_SUCCESS', 'checkout_success.php'); define('FILENAME_CONTACT_US', 'contact_us.php'); define('FILENAME_CONDITIONS', 'conditions.php'); define('FILENAME_CREATE_ACCOUNT', 'create_account.php'); define('FILENAME_CREATE_ACCOUNT_PROCESS', 'create_account_process.php'); define('FILENAME_CREATE_ACCOUNT_SUCCESS', 'create_account_success.php'); define('FILENAME_DEFAULT', 'default.php'); define('FILENAME_DOWNLOAD', 'download.php'); define('FILENAME_INFO_SHOPPING_CART', 'info_shopping_cart.php'); define('FILENAME_LOGIN', 'login.php'); define('FILENAME_LOGOFF', 'logoff.php'); define('FILENAME_NEW_PRODUCTS', 'new_products.php'); // This is the middle of default.php (found in modules) define('FILENAME_PASSWORD_CRYPT', 'password_funcs.php'); define('FILENAME_PASSWORD_FORGOTTEN', 'password_forgotten.php'); define('FILENAME_POPUP_IMAGE', 'popup_image.php'); define('FILENAME_POPUP_SEARCH_HELP', 'popup_search_help.php'); define('FILENAME_PRIVACY', 'privacy.php'); define('FILENAME_PRODUCT_INFO', 'product_info.php'); define('FILENAME_PRODUCT_LISTING', 'product_listing.php'); define('FILENAME_PRODUCT_NOTIFICATIONS', 'product_notifications.php'); define('FILENAME_PRODUCT_REVIEWS', 'product_reviews.php'); define('FILENAME_PRODUCT_REVIEWS_INFO', 'product_reviews_info.php'); define('FILENAME_PRODUCT_REVIEWS_WRITE', 'product_reviews_write.php'); define('FILENAME_PRODUCTS_NEW', 'products_new.php'); define('FILENAME_REDIRECT', 'redirect.php'); define('FILENAME_REVIEWS', 'reviews.php'); define('FILENAME_SHIPPING', 'shipping.php'); define('FILENAME_SHOPPING_CART', 'shopping_cart.php'); define('FILENAME_SPECIALS', 'specials.php'); define('FILENAME_TELL_A_FRIEND', 'tell_a_friend.php'); define('FILENAME_UPCOMING_PRODUCTS', 'upcoming_products.php'); // This is the bottom of default.php (found in modules) // define the database table names used in the project define('TABLE_ADDRESS_BOOK', 'address_book'); define('TABLE_ADDRESS_FORMAT', 'address_format'); define('TABLE_BANNERS', 'banners'); define('TABLE_BANNERS_HISTORY', 'banners_history'); define('TABLE_CATEGORIES', 'categories'); define('TABLE_CATEGORIES_DESCRIPTION', 'categories_description'); define('TABLE_CONFIGURATION', 'configuration'); define('TABLE_CONFIGURATION_GROUP', 'configuration_group'); define('TABLE_COUNTER', 'counter'); define('TABLE_COUNTER_HISTORY', 'counter_history'); define('TABLE_COUNTRIES', 'countries'); define('TABLE_CURRENCIES', 'currencies'); define('TABLE_CUSTOMERS', 'customers'); define('TABLE_CUSTOMERS_BASKET', 'customers_basket'); define('TABLE_CUSTOMERS_BASKET_ATTRIBUTES', 'customers_basket_attributes'); define('TABLE_CUSTOMERS_INFO', 'customers_info'); define('TABLE_LANGUAGES', 'languages'); define('TABLE_MANUFACTURERS', 'manufacturers'); define('TABLE_MANUFACTURERS_INFO', 'manufacturers_info'); define('TABLE_ORDERS', 'orders'); define('TABLE_ORDERS_PRODUCTS', 'orders_products'); define('TABLE_ORDERS_PRODUCTS_ATTRIBUTES', 'orders_products_attributes'); define('TABLE_ORDERS_PRODUCTS_DOWNLOAD', 'orders_products_download'); define('TABLE_ORDERS_STATUS', 'orders_status'); define('TABLE_ORDERS_STATUS_HISTORY', 'orders_status_history'); define('TABLE_ORDERS_TOTAL', 'orders_total'); define('TABLE_PRODUCTS', 'products'); define('TABLE_PRODUCTS_ATTRIBUTES', 'products_attributes'); define('TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD', 'products_attributes_download'); define('TABLE_PRODUCTS_DESCRIPTION', 'products_description'); define('TABLE_PRODUCTS_NOTIFICATIONS', 'products_notifications'); define('TABLE_PRODUCTS_OPTIONS', 'products_options'); define('TABLE_PRODUCTS_OPTIONS_VALUES', 'products_options_values'); define('TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS', 'products_options_values_to_products_options'); define('TABLE_PRODUCTS_TO_CATEGORIES', 'products_to_categories'); define('TABLE_REVIEWS', 'reviews'); define('TABLE_REVIEWS_DESCRIPTION', 'reviews_description'); define('TABLE_SESSIONS', 'sessions'); define('TABLE_SPECIALS', 'specials'); define('TABLE_TAX_CLASS', 'tax_class'); define('TABLE_TAX_RATES', 'tax_rates'); define('TABLE_GEO_ZONES', 'geo_zones'); define('TABLE_ZONES_TO_GEO_ZONES', 'zones_to_geo_zones'); define('TABLE_WHOS_ONLINE', 'whos_online'); define('TABLE_ZONES', 'zones'); // customization for the design layout define('TAX_DECIMAL_PLACES', 0); // Pad the tax value this amount of decimal places define('DISPLAY_PRICE_WITH_TAX', true); // Display prices with tax (true) or without tax (false) define('BOX_WIDTH', 125); // how wide the boxes should be in pixels (default: 125) // Control what fields of the customer table are used define('ACCOUNT_GENDER', true); define('ACCOUNT_DOB', true); define('ACCOUNT_COMPANY', false); define('ACCOUNT_SUBURB', false); define('ACCOUNT_STATE', true); // Categories Box: recursive products count define('SHOW_COUNTS', 'true'); // show category count: true=Yes False=No define('USE_RECURSIVE_COUNT', 'true'); // recursive count: true=Yes False=No // check to see if php implemented session management functions - if not, include php3/php4 compatible session class if (!function_exists('session_start')) { define('PHP_SESSION_NAME', 'sID'); define('PHP_SESSION_SAVE_PATH', '/tmp'); include(DIR_WS_CLASSES . 'sessions.php'); } // define how the session functions will be used require(DIR_WS_FUNCTIONS . 'sessions.php'); tep_session_name('osCsid'); // include the database functions require(DIR_WS_FUNCTIONS . 'database.php'); // make a connection to the database... now tep_db_connect() or die('Unable to connect to database server!'); // set the application parameters (can be modified through the administration tool) $configuration_query = tep_db_query('select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_CONFIGURATION . ''); while ($configuration = tep_db_fetch_array($configuration_query)) { define($configuration['cfgKey'], $configuration['cfgValue']); } // Get variables from $PATH_INFO if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') { if (strlen($PATH_INFO) > 1) { $PHP_SELF = str_replace($PATH_INFO,'',$PHP_SELF); $vars = explode('/', substr($PATH_INFO, 1)); while (list(, $var) = each($vars)) { list(, $val) = each($vars); $HTTP_GET_VARS[$var] = $val; $GLOBALS[$var] = $val; } } } // include cache functions if enabled if (USE_CACHE == 'true') include(DIR_WS_FUNCTIONS . 'cache.php'); // include shopping cart class require(DIR_WS_CLASSES . 'shopping_cart.php'); // include navigation history class require(DIR_WS_CLASSES . 'navigation_history.php'); // some code to solve compatibility issues require(DIR_WS_FUNCTIONS . 'compatibility.php'); // lets start our session if ($HTTP_POST_VARS[tep_session_name()]) { tep_session_id($HTTP_POST_VARS[tep_session_name()]); } if ( (getenv('HTTPS') == 'on') && ($HTTP_GET_VARS[tep_session_name()]) ) { tep_session_id($HTTP_GET_VARS[tep_session_name()]); } if (function_exists('session_set_cookie_params')) { session_set_cookie_params(0, substr(DIR_WS_CATALOG, 0, -1)); } tep_session_start(); // Create the cart & Fix the cart if necesary if (is_object($cart)) { if (PHP_VERSION < 4) { $broken_cart = $cart; $cart = new shoppingCart; $cart->unserialize($broken_cart); } } else { tep_session_register('cart'); $cart = new shoppingCart; } // include currencies class and create an instance require(DIR_WS_CLASSES . 'currencies.php'); $currencies = new currencies(); // include the mail classes require(DIR_WS_CLASSES . 'mime.php'); require(DIR_WS_CLASSES . 'email.php'); // language if ( (!$language) || ($HTTP_GET_VARS['language']) ) { if (!$language) { tep_session_register('language'); tep_session_register('languages_id'); } include(DIR_WS_CLASSES . 'language.php'); $lng = new language($HTTP_GET_VARS['language']); if (!$HTTP_GET_VARS['language']) $lng->get_browser_language(); $language = $lng->language['directory']; $languages_id = $lng->language['id']; } // include the language translations require(DIR_WS_LANGUAGES . $language . '.php'); // define our general functions used application-wide require(DIR_WS_FUNCTIONS . 'general.php'); require(DIR_WS_FUNCTIONS . 'html_output.php'); // currency if ( (!$currency) || ($HTTP_GET_VARS['currency']) || ( (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') && (LANGUAGE_CURRENCY != $currency) ) ) { if (!$currency) tep_session_register('currency'); if ($HTTP_GET_VARS['currency']) { $currency = tep_currency_exists($HTTP_GET_VARS['currency']); if (!$currency) $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY; } else { $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY; } } // navigation history if (tep_session_is_registered('navigation')) { if (PHP_VERSION < 4) { $broken_navigation = $navigation; $navigation = new navigationHistory; $navigation->unserialize($broken_navigation); } } else { tep_session_register('navigation'); $navigation = new navigationHistory; } $navigation->add_current_page(); // Shopping cart actions if ($HTTP_GET_VARS['action']) { if (DISPLAY_CART == 'true') { $goto = FILENAME_SHOPPING_CART; $parameters = array('action', 'cPath', 'products_id', 'pid'); } else { $goto = basename($PHP_SELF); if ($HTTP_GET_VARS['action'] == 'buy_now') { $parameters = array('action', 'pid', 'products_id'); } else { $parameters = array('action', 'pid'); } } switch ($HTTP_GET_VARS['action']) { // customer wants to update the product quantity in their shopping cart case 'update_product' : $size = sizeof($HTTP_POST_VARS['products_id']); for ($i=0; $i<$size;$i++) { if (in_array($HTTP_POST_VARS['products_id'][$i], (is_array($HTTP_POST_VARS['cart_delete']) ? $HTTP_POST_VARS['cart_delete'] : array()))) { $cart->remove($HTTP_POST_VARS['products_id'][$i]); } else { if (PHP_VERSION < 4) { // if PHP3, make correction for lack of multidimensional array. reset($HTTP_POST_VARS); while (list($key, $value) = each($HTTP_POST_VARS)) { if (is_array($value)) { while (list($key2, $value2) = each($value)) { if (ereg ("(.*)][(.*)", $key2, $var)) { $id2[$var[1]][$var[2]] = $value2; } } } } $attributes = ($id2[$HTTP_POST_VARS['products_id'][$i]]) ? $id2[$HTTP_POST_VARS['products_id'][$i]] : ''; } else { $attributes = ($HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]]) ? $HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]] : ''; } $cart->add_cart($HTTP_POST_VARS['products_id'][$i], $HTTP_POST_VARS['cart_quantity'][$i], $attributes, false); } } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters), 'NONSSL')); break; // customer adds a product from the products page case 'add_product' : if (ereg('^[0-9]+$', $HTTP_POST_VARS['products_id'])) { $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['id']); } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters), 'NONSSL')); break; // performed by the 'buy now' button in product listings and review page case 'buy_now' : if (tep_has_product_attributes($HTTP_GET_VARS['products_id'])) { tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id'], 'NONSSL')); } else { $cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+1); tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters), 'NONSSL')); } break; case 'notify' : if (tep_session_is_registered('customer_id')) { if ($HTTP_GET_VARS['products_id']) { $notify = $HTTP_GET_VARS['products_id']; } elseif ($HTTP_GET_VARS['notify']) { $notify = $HTTP_GET_VARS['notify']; } elseif ($HTTP_POST_VARS['notify']) { $notify = $HTTP_POST_VARS['notify']; } else { tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'notify')), 'NONSSL')); } if (!is_array($notify)) $notify = array($notify); $size = sizeof($notify); for ($i=0; $i<$size; $i++) { $check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $notify[$i] . "' and customers_id = '" . $customer_id . "'"); $check = tep_db_fetch_array($check_query); if ($check['count'] < 1) { tep_db_query("insert into " . TABLE_PRODUCTS_NOTIFICATIONS . " (products_id, customers_id, date_added) values ('" . $notify[$i] . "', '" . $customer_id . "', now())"); } } tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'notify')), 'NONSSL')); } else { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } break; case 'notify_remove' : if (tep_session_is_registered('customer_id')) { $check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'"); $check = tep_db_fetch_array($check_query); if ($check['count'] > 0) { tep_db_query("delete from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'"); } tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')), 'NONSSL')); } else { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } break; case 'cust_order' : if (tep_session_is_registered('customer_id')) { if (tep_has_product_attributes($HTTP_GET_VARS['pid'])) { tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['pid'], 'NONSSL')); } else { $cart->add_cart($HTTP_GET_VARS['pid'],$cart->get_quantity($HTTP_GET_VARS['pid'])+1); } } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters), 'NONSSL')); break; } } // include the who's online functions require(DIR_WS_FUNCTIONS . 'whos_online.php'); tep_update_whos_online(); // Include the password crypto functions require(DIR_WS_FUNCTIONS . FILENAME_PASSWORD_CRYPT); // Include validation functions (right now only email address) require(DIR_WS_FUNCTIONS . 'validations.php'); // split-page-results require(DIR_WS_CLASSES . 'split_page_results.php'); // infobox require(DIR_WS_CLASSES . 'boxes.php'); // auto activate and expire banners require(DIR_WS_FUNCTIONS . 'banner.php'); tep_activate_banners(); tep_expire_banners(); // auto expire special products require(DIR_WS_FUNCTIONS . 'specials.php'); tep_expire_specials(); // calculate category path if ($HTTP_GET_VARS['cPath']) { $cPath = $HTTP_GET_VARS['cPath']; } elseif ($HTTP_GET_VARS['products_id'] && !$HTTP_GET_VARS['manufacturers_id']) { $cPath = tep_get_product_path($HTTP_GET_VARS['products_id']); } else { $cPath = ''; } if (strlen($cPath) > 0) { $cPath_array = tep_parse_category_path($cPath); $cPath = implode('_', $cPath_array); $current_category_id = $cPath_array[(sizeof($cPath_array)-1)]; } else { $current_category_id = 0; } require(DIR_WS_CLASSES . 'breadcrumb.php'); $breadcrumb = new breadcrumb; $breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER); $breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT)); if (isset($cPath_array)) { $n = sizeof($cPath_array); for ($i = 0; $i < $n; $i++) { $categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . $cPath_array[$i] . "' and language_id='" . $languages_id . "'"); if (tep_db_num_rows($categories_query) > 0) { $categories = tep_db_fetch_array($categories_query); $breadcrumb->add($categories['categories_name'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1))))); } else { break; } } } elseif ($HTTP_GET_VARS['manufacturers_id']) { $manufacturers_query = tep_db_query("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . $HTTP_GET_VARS['manufacturers_id'] . "'"); $manufacturers = tep_db_fetch_array($manufacturers_query); $breadcrumb->add($manufacturers['manufacturers_name'], tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'])); } if ($HTTP_GET_VARS['products_id']) { $model_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "'"); $model = tep_db_fetch_array($model_query); $breadcrumb->add($model['products_model'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $HTTP_GET_VARS['products_id'])); } // set which precautions should be checked define('WARN_INSTALL_EXISTENCE', 'true'); define('WARN_CONFIG_WRITEABLE', 'true'); define('WARN_SESSION_DIRECTORY_NOT_WRITEABLE', 'true'); define('WARN_SESSION_AUTO_START', 'true'); define('WARN_DOWNLOAD_DIRECTORY_NOT_READABLE', 'true'); ?> Link to comment Share on other sites More sharing options...
Guest Posted April 23, 2003 Share Posted April 23, 2003 It works OK for me ....add a few items and after i checked remove and then click Update !! Link to comment Share on other sites More sharing options...
magtaf69 Posted April 23, 2003 Author Share Posted April 23, 2003 I got a hold of a backed up /includes/application_top.php and replaced it. Thanks THE_BEAR for you quick concern with my problem. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.