emailanj Posted August 9, 2005 Posted August 9, 2005 :'( I am a newbie for starters and am learning from trial and error. But this Error I can't fix. After clicking on the buy now button this error dpops up: Warning: Cannot modify header information - headers already sent by (output started at /home/proshowe/public_html/store/includes/languages/english.php:336) in /home/proshowe/public_html/store/includes/functions/general.php on line 29 The only contributions I have installed are viaklix gateway, box shadow, and a orange box template Here is the code from english.php: <?php /* $Id: english.php,v 1.114 2003/07/09 18:13:39 dgw_ Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ // look in your $PATH_LOCALE/locale directory for available locales // or type locale -a on the server. // Examples: // on RedHat try 'en_US' // on FreeBSD try 'en_US.ISO_8859-1' // on Windows try 'en', or 'English' @setlocale(LC_TIME, 'en_US.ISO_8859-1'); define('DATE_FORMAT_SHORT', '%m/%d/%Y'); // this is used for strftime() define('DATE_FORMAT_LONG', '%A %d %B, %Y'); // this is used for strftime() define('DATE_FORMAT', 'm/d/Y'); // this is used for date() define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S'); //// // Return date in raw format // $date should be in format mm/dd/yyyy // raw date is in format YYYYMMDD, or DDMMYYYY function tep_date_raw($date, $reverse = false) { if ($reverse) { return substr($date, 3, 2) . substr($date, 0, 2) . substr($date, 6, 4); } else { return substr($date, 6, 4) . substr($date, 0, 2) . substr($date, 3, 2); } } // if USE_DEFAULT_LANGUAGE_CURRENCY is true, use the following currency, instead of the applications default currency (used when changing language) define('LANGUAGE_CURRENCY', 'USD'); // Global entries for the <html> tag define('HTML_PARAMS','dir="LTR" lang="en"'); // charset for web pages and emails define('CHARSET', 'iso-8859-1'); // page title define('TITLE', 'Pro Show Equipment'); // header text in includes/header.php define('HEADER_TITLE_CREATE_ACCOUNT', 'Create an Account'); define('HEADER_TITLE_MY_ACCOUNT', 'My Account'); define('HEADER_TITLE_CART_CONTENTS', 'Cart Contents'); define('HEADER_TITLE_CHECKOUT', 'Checkout'); define('HEADER_TITLE_TOP', 'Top'); define('HEADER_TITLE_CATALOG', 'Catalog'); define('HEADER_TITLE_LOGOFF', 'Log Off'); define('HEADER_TITLE_LOGIN', 'Log In'); // footer text in includes/footer.php define('FOOTER_TEXT_REQUESTS_SINCE', 'requests since'); // text for gender define('MALE', 'Male'); define('FEMALE', 'Female'); define('MALE_ADDRESS', 'Mr.'); define('FEMALE_ADDRESS', 'Ms.'); // text for date of birth example define('DOB_FORMAT_STRING', 'mm/dd/yyyy'); // categories box text in includes/boxes/categories.php define('BOX_HEADING_CATEGORIES', 'Categories'); // manufacturers box text in includes/boxes/manufacturers.php define('BOX_HEADING_MANUFACTURERS', 'Manufacturers'); // whats_new box text in includes/boxes/whats_new.php define('BOX_HEADING_WHATS_NEW', 'Feature Products'); // quick_find box text in includes/boxes/quick_find.php define('BOX_HEADING_SEARCH', 'Quick Find'); define('BOX_SEARCH_TEXT', 'Use keywords to find the product you are looking for.'); define('BOX_SEARCH_ADVANCED_SEARCH', 'Advanced Search'); // specials box text in includes/boxes/specials.php define('BOX_HEADING_SPECIALS', 'Specials'); // reviews box text in includes/boxes/reviews.php define('BOX_HEADING_REVIEWS', 'Reviews'); define('BOX_REVIEWS_WRITE_REVIEW', 'Write a review on this product!'); define('BOX_REVIEWS_NO_REVIEWS', 'There are currently no product reviews'); define('BOX_REVIEWS_TEXT_OF_5_STARS', '%s of 5 Stars!'); // shopping_cart box text in includes/boxes/shopping_cart.php define('BOX_HEADING_SHOPPING_CART', 'Shopping Cart'); define('BOX_SHOPPING_CART_EMPTY', '0 items'); // order_history box text in includes/boxes/order_history.php define('BOX_HEADING_CUSTOMER_ORDERS', 'Order History'); // best_sellers box text in includes/boxes/best_sellers.php define('BOX_HEADING_BESTSELLERS', 'Bestsellers'); define('BOX_HEADING_BESTSELLERS_IN', 'Bestsellers in<br> '); // notifications box text in includes/boxes/products_notifications.php define('BOX_HEADING_NOTIFICATIONS', 'Notifications'); define('BOX_NOTIFICATIONS_NOTIFY', 'Notify me of updates to <b>%s</b>'); define('BOX_NOTIFICATIONS_NOTIFY_REMOVE', 'Do not notify me of updates to <b>%s</b>'); // manufacturer box text define('BOX_HEADING_MANUFACTURER_INFO', 'Manufacturer Info'); define('BOX_MANUFACTURER_INFO_HOMEPAGE', '%s Homepage'); define('BOX_MANUFACTURER_INFO_OTHER_PRODUCTS', 'Other products'); // languages box text in includes/boxes/languages.php define('BOX_HEADING_LANGUAGES', 'Languages'); // currencies box text in includes/boxes/currencies.php define('BOX_HEADING_CURRENCIES', 'Currencies'); // information box text in includes/boxes/information.php define('BOX_HEADING_INFORMATION', 'Information'); define('BOX_INFORMATION_PRIVACY', 'Privacy Notice'); define('BOX_INFORMATION_CONDITIONS', 'Conditions of Use'); define('BOX_INFORMATION_SHIPPING', 'Shipping & Returns'); define('BOX_INFORMATION_CONTACT', 'Contact Us'); // tell a friend box text in includes/boxes/tell_a_friend.php define('BOX_HEADING_TELL_A_FRIEND', 'Tell A Friend'); define('BOX_TELL_A_FRIEND_TEXT', 'Tell someone you know about this product.'); // checkout procedure text define('CHECKOUT_BAR_DELIVERY', 'Delivery Information'); define('CHECKOUT_BAR_PAYMENT', 'Payment Information'); define('CHECKOUT_BAR_CONFIRMATION', 'Confirmation'); define('CHECKOUT_BAR_FINISHED', 'Finished!'); // pull down default text define('PULL_DOWN_DEFAULT', 'Please Select'); define('TYPE_BELOW', 'Type Below'); // javascript messages define('JS_ERROR', 'Errors have occured during the process of your form.\n\nPlease make the following corrections:\n\n'); define('JS_REVIEW_TEXT', '* The \'Review Text\' must have at least ' . REVIEW_TEXT_MIN_LENGTH . ' characters.\n'); define('JS_REVIEW_RATING', '* You must rate the product for your review.\n'); define('JS_ERROR_NO_PAYMENT_MODULE_SELECTED', '* Please select a payment method for your order.\n'); define('JS_ERROR_SUBMITTED', 'This form has already been submitted. Please press Ok and wait for this process to be completed.'); define('ERROR_NO_PAYMENT_MODULE_SELECTED', 'Please select a payment method for your order.'); define('CATEGORY_COMPANY', 'Company Details'); define('CATEGORY_PERSONAL', 'Your Personal Details'); define('CATEGORY_ADDRESS', 'Your Address'); define('CATEGORY_CONTACT', 'Your Contact Information'); define('CATEGORY_OPTIONS', 'Options'); define('CATEGORY_PASSWORD', 'Your Password'); define('ENTRY_COMPANY', 'Company Name:'); define('ENTRY_COMPANY_ERROR', ''); define('ENTRY_COMPANY_TEXT', ''); define('ENTRY_GENDER', 'Gender:'); define('ENTRY_GENDER_ERROR', 'Please select your Gender.'); define('ENTRY_GENDER_TEXT', '*'); define('ENTRY_FIRST_NAME', 'First Name:'); define('ENTRY_FIRST_NAME_ERROR', 'Your First Name must contain a minimum of ' . ENTRY_FIRST_NAME_MIN_LENGTH . ' characters.'); define('ENTRY_FIRST_NAME_TEXT', '*'); define('ENTRY_LAST_NAME', 'Last Name:'); define('ENTRY_LAST_NAME_ERROR', 'Your Last Name must contain a minimum of ' . ENTRY_LAST_NAME_MIN_LENGTH . ' characters.'); define('ENTRY_LAST_NAME_TEXT', '*'); define('ENTRY_DATE_OF_BIRTH', 'Date of Birth:'); define('ENTRY_DATE_OF_BIRTH_ERROR', 'Your Date of Birth must be in this format: MM/DD/YYYY (eg 05/21/1970)'); define('ENTRY_DATE_OF_BIRTH_TEXT', '* (eg. 05/21/1970)'); define('ENTRY_EMAIL_ADDRESS', 'E-Mail Address:'); define('ENTRY_EMAIL_ADDRESS_ERROR', 'Your E-Mail Address must contain a minimum of ' . ENTRY_EMAIL_ADDRESS_MIN_LENGTH . ' characters.'); define('ENTRY_EMAIL_ADDRESS_CHECK_ERROR', 'Your E-Mail Address does not appear to be valid - please make any necessary corrections.'); define('ENTRY_EMAIL_ADDRESS_ERROR_EXISTS', 'Your E-Mail Address already exists in our records - please log in with the e-mail address or create an account with a different address.'); define('ENTRY_EMAIL_ADDRESS_TEXT', '*'); define('ENTRY_STREET_ADDRESS', 'Street Address:'); define('ENTRY_STREET_ADDRESS_ERROR', 'Your Street Address must contain a minimum of ' . ENTRY_STREET_ADDRESS_MIN_LENGTH . ' characters.'); define('ENTRY_STREET_ADDRESS_TEXT', '*'); define('ENTRY_SUBURB', 'Suburb:'); define('ENTRY_SUBURB_ERROR', ''); define('ENTRY_SUBURB_TEXT', ''); define('ENTRY_POST_CODE', 'Post Code:'); define('ENTRY_POST_CODE_ERROR', 'Your Post Code must contain a minimum of ' . ENTRY_POSTCODE_MIN_LENGTH . ' characters.'); define('ENTRY_POST_CODE_TEXT', '*'); define('ENTRY_CITY', 'City:'); define('ENTRY_CITY_ERROR', 'Your City must contain a minimum of ' . ENTRY_CITY_MIN_LENGTH . ' characters.'); define('ENTRY_CITY_TEXT', '*'); define('ENTRY_STATE', 'State/Province:'); define('ENTRY_STATE_ERROR', 'Your State must contain a minimum of ' . ENTRY_STATE_MIN_LENGTH . ' characters.'); define('ENTRY_STATE_ERROR_SELECT', 'Please select a state from the States pull down menu.'); define('ENTRY_STATE_TEXT', '*'); define('ENTRY_COUNTRY', 'Country:'); define('ENTRY_COUNTRY_ERROR', 'You must select a country from the Countries pull down menu.'); define('ENTRY_COUNTRY_TEXT', '*'); define('ENTRY_TELEPHONE_NUMBER', 'Telephone Number:'); define('ENTRY_TELEPHONE_NUMBER_ERROR', 'Your Telephone Number must contain a minimum of ' . ENTRY_TELEPHONE_MIN_LENGTH . ' characters.'); define('ENTRY_TELEPHONE_NUMBER_TEXT', '*'); define('ENTRY_FAX_NUMBER', 'Fax Number:'); define('ENTRY_FAX_NUMBER_ERROR', ''); define('ENTRY_FAX_NUMBER_TEXT', ''); define('ENTRY_NEWSLETTER', 'Newsletter:'); define('ENTRY_NEWSLETTER_TEXT', ''); define('ENTRY_NEWSLETTER_YES', 'Subscribed'); define('ENTRY_NEWSLETTER_NO', 'Unsubscribed'); define('ENTRY_NEWSLETTER_ERROR', ''); define('ENTRY_PASSWORD', 'Password:'); define('ENTRY_PASSWORD_ERROR', 'Your Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.'); define('ENTRY_PASSWORD_ERROR_NOT_MATCHING', 'The Password Confirmation must match your Password.'); define('ENTRY_PASSWORD_TEXT', '*'); define('ENTRY_PASSWORD_CONFIRMATION', 'Password Confirmation:'); define('ENTRY_PASSWORD_CONFIRMATION_TEXT', '*'); define('ENTRY_PASSWORD_CURRENT', 'Current Password:'); define('ENTRY_PASSWORD_CURRENT_TEXT', '*'); define('ENTRY_PASSWORD_CURRENT_ERROR', 'Your Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.'); define('ENTRY_PASSWORD_NEW', 'New Password:'); define('ENTRY_PASSWORD_NEW_TEXT', '*'); define('ENTRY_PASSWORD_NEW_ERROR', 'Your new Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.'); define('ENTRY_PASSWORD_NEW_ERROR_NOT_MATCHING', 'The Password Confirmation must match your new Password.'); define('PASSWORD_HIDDEN', '--HIDDEN--'); define('FORM_REQUIRED_INFORMATION', '* Required information'); // constants for use in tep_prev_next_display function define('TEXT_RESULT_PAGE', 'Result Pages:'); define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> products)'); define('TEXT_DISPLAY_NUMBER_OF_ORDERS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> orders)'); define('TEXT_DISPLAY_NUMBER_OF_REVIEWS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> reviews)'); define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS_NEW', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> new products)'); define('TEXT_DISPLAY_NUMBER_OF_SPECIALS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> specials)'); define('PREVNEXT_TITLE_FIRST_PAGE', 'First Page'); define('PREVNEXT_TITLE_PREVIOUS_PAGE', 'Previous Page'); define('PREVNEXT_TITLE_NEXT_PAGE', 'Next Page'); define('PREVNEXT_TITLE_LAST_PAGE', 'Last Page'); define('PREVNEXT_TITLE_PAGE_NO', 'Page %d'); define('PREVNEXT_TITLE_PREV_SET_OF_NO_PAGE', 'Previous Set of %d Pages'); define('PREVNEXT_TITLE_NEXT_SET_OF_NO_PAGE', 'Next Set of %d Pages'); define('PREVNEXT_BUTTON_FIRST', '<<FIRST'); define('PREVNEXT_BUTTON_PREV', '[<< Prev]'); define('PREVNEXT_BUTTON_NEXT', '[Next >>]'); define('PREVNEXT_BUTTON_LAST', 'LAST>>'); define('IMAGE_BUTTON_ADD_ADDRESS', 'Add Address'); define('IMAGE_BUTTON_ADDRESS_BOOK', 'Address Book'); define('IMAGE_BUTTON_BACK', 'Back'); define('IMAGE_BUTTON_BUY_NOW', 'Buy Now'); define('IMAGE_BUTTON_CHANGE_ADDRESS', 'Change Address'); define('IMAGE_BUTTON_CHECKOUT', 'Checkout'); define('IMAGE_BUTTON_CONFIRM_ORDER', 'Confirm Order'); define('IMAGE_BUTTON_CONTINUE', 'Continue'); define('IMAGE_BUTTON_CONTINUE_SHOPPING', 'Continue Shopping'); define('IMAGE_BUTTON_DELETE', 'Delete'); define('IMAGE_BUTTON_EDIT_ACCOUNT', 'Edit Account'); define('IMAGE_BUTTON_HISTORY', 'Order History'); define('IMAGE_BUTTON_LOGIN', 'Sign In'); define('IMAGE_BUTTON_IN_CART', 'Add to Cart'); define('IMAGE_BUTTON_NOTIFICATIONS', 'Notifications'); define('IMAGE_BUTTON_QUICK_FIND', 'Quick Find'); define('IMAGE_BUTTON_REMOVE_NOTIFICATIONS', 'Remove Notifications'); define('IMAGE_BUTTON_REVIEWS', 'Reviews'); define('IMAGE_BUTTON_SEARCH', 'Search'); define('IMAGE_BUTTON_SHIPPING_OPTIONS', 'Shipping Options'); define('IMAGE_BUTTON_TELL_A_FRIEND', 'Tell a Friend'); define('IMAGE_BUTTON_UPDATE', 'Update'); define('IMAGE_BUTTON_UPDATE_CART', 'Update Cart'); define('IMAGE_BUTTON_WRITE_REVIEW', 'Write Review'); define('SMALL_IMAGE_BUTTON_DELETE', 'Delete'); define('SMALL_IMAGE_BUTTON_EDIT', 'Edit'); define('SMALL_IMAGE_BUTTON_VIEW', 'View'); define('ICON_ARROW_RIGHT', 'more'); define('ICON_CART', 'In Cart'); define('ICON_ERROR', 'Error'); define('ICON_SUCCESS', 'Success'); define('ICON_WARNING', 'Warning'); define('TEXT_GREETING_PERSONAL', 'Welcome back <span class="greetUser">%s!</span> Would you like to see which <a href="%s"><u>featured products</u></a> are available to purchase?'); define('TEXT_GREETING_PERSONAL_RELOGON', '<small>If you are not %s, please <a href="%s"><u>log yourself in</u></a> with your account information.</small>'); define('TEXT_GREETING_GUEST', 'Welcome <span class="greetUser">Guest!</span> Would you like to <a href="%s"><u>log yourself in</u></a>? Or would you prefer to <a href="%s"><u>create an account</u></a>?'); define('TEXT_SORT_PRODUCTS', 'Sort products '); define('TEXT_DESCENDINGLY', 'descendingly'); define('TEXT_ASCENDINGLY', 'ascendingly'); define('TEXT_BY', ' by '); define('TEXT_REVIEW_BY', 'by %s'); define('TEXT_REVIEW_WORD_COUNT', '%s words'); define('TEXT_REVIEW_RATING', 'Rating: %s [%s]'); define('TEXT_REVIEW_DATE_ADDED', 'Date Added: %s'); define('TEXT_NO_REVIEWS', 'There are currently no product reviews.'); define('TEXT_NO_NEW_PRODUCTS', 'There are currently no products.'); define('TEXT_UNKNOWN_TAX_RATE', 'Unknown tax rate'); define('TEXT_REQUIRED', '<span class="errorText">Required</span>'); define('ERROR_TEP_MAIL', '<font face="Verdana, Arial" size="2" color="#ff0000"><b><small>TEP ERROR:</small> Cannot send the email through the specified SMTP server. Please check your php.ini setting and correct the SMTP server if necessary.</b></font>'); define('WARNING_INSTALL_DIRECTORY_EXISTS', 'Warning: Installation directory exists at: ' . dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/install. Please remove this directory for security reasons.'); define('WARNING_CONFIG_FILE_WRITEABLE', 'Warning: I am able to write to the configuration file: ' . dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php. This is a potential security risk - please set the right user permissions on this file.'); define('WARNING_SESSION_DIRECTORY_NON_EXISTENT', 'Warning: The sessions directory does not exist: ' . tep_session_save_path() . '. Sessions will not work until this directory is created.'); define('WARNING_SESSION_DIRECTORY_NOT_WRITEABLE', 'Warning: I am not able to write to the sessions directory: ' . tep_session_save_path() . '. Sessions will not work until the right user permissions are set.'); define('WARNING_SESSION_AUTO_START', 'Warning: session.auto_start is enabled - please disable this php feature in php.ini and restart the web server.'); define('WARNING_DOWNLOAD_DIRECTORY_NON_EXISTENT', 'Warning: The downloadable products directory does not exist: ' . DIR_FS_DOWNLOAD . '. Downloadable products will not work until this directory is valid.'); define('TEXT_CCVAL_ERROR_INVALID_DATE', 'The expiry date entered for the credit card is invalid.<br>Please check the date and try again.'); define('TEXT_CCVAL_ERROR_INVALID_NUMBER', 'The credit card number entered is invalid.<br>Please check the number and try again.'); define('TEXT_CCVAL_ERROR_UNKNOWN_CARD', 'The first four digits of the number entered are: %s<br>If that number is correct, we do not accept that type of credit card.<br>If it is wrong, please try again.'); /* The following copyright announcement can only be appropriately modified or removed if the layout of the site theme has been modified to distinguish itself from the default osCommerce-copyrighted theme. For more information please read the following Frequently Asked Questions entry on the osCommerce support site: http://www.oscommerce.com/community.php/faq,26/q,50 Please leave this comment intact together with the following copyright announcement. */ define('FOOTER_TEXT_BODY', 'Copyright © 2003 <a href="http://www.ProShowEquipment.com" target="_blank">ProShowEquioment</a><br>Powered by <a href="http://www.oscommerce.com" target="_blank">osCommerce</a>'); ?> Here is the code from: general.php: <?php/* $Id: general.php,v 1.231 2003/07/09 01:15:48 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License*/ ////// Stop from parsing any further PHP code function tep_exit() { tep_session_close(); exit(); } ////// Redirect to another page or site function tep_redirect($url) { if ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) { // We are loading an SSL page if (substr($url, 0, strlen(HTTP_SERVER)) == HTTP_SERVER) { // NONSSL url $url = HTTPS_SERVER . substr($url, strlen(HTTP_SERVER)); // Change it to SSL } } header('Location: ' . $url); tep_exit(); } ////// Parse the data used in the html tags to ensure the tags will not break function tep_parse_input_field_data($data, $parse) { return strtr(trim($data), $parse); } function tep_output_string($string, $translate = false, $protected = false) { if ($protected == true) { return htmlspecialchars($string); } else { if ($translate == false) { return tep_parse_input_field_data($string, array('"' => '"')); } else { return tep_parse_input_field_data($string, $translate); } } } function tep_output_string_protected($string) { return tep_output_string($string, false, true); } function tep_sanitize_string($string) { $string = ereg_replace(' +', ' ', trim($string)); return preg_replace("/[<>]/", '_', $string); } ////// Return a random row from a database query function tep_random_select($query) { $random_product = ''; $random_query = tep_db_query($query); $num_rows = tep_db_num_rows($random_query); if ($num_rows > 0) { $random_row = tep_rand(0, ($num_rows - 1)); tep_db_data_seek($random_query, $random_row); $random_product = tep_db_fetch_array($random_query); } return $random_product; } ////// Return a product's name// TABLES: products function tep_get_products_name($product_id, $language = '') { global $languages_id; if (empty($language)) $language = $languages_id; $product_query = tep_db_query("select products_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language . "'"); $product = tep_db_fetch_array($product_query); return $product['products_name']; } ////// Return a product's special price (returns nothing if there is no offer)// TABLES: products function tep_get_products_special_price($product_id) { $product_query = tep_db_query("select specials_new_products_price from " . TABLE_SPECIALS . " where products_id = '" . (int)$product_id . "' and status"); $product = tep_db_fetch_array($product_query); return $product['specials_new_products_price']; } ////// Return a product's stock// TABLES: products function tep_get_products_stock($products_id) { $products_id = tep_get_prid($products_id); $stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); $stock_values = tep_db_fetch_array($stock_query); return $stock_values['products_quantity']; } ////// Check if the required stock is available// If insufficent stock is available return an out of stock message function tep_check_stock($products_id, $products_quantity) { $stock_left = tep_get_products_stock($products_id) - $products_quantity; $out_of_stock = ''; if ($stock_left < 0) { $out_of_stock = '<span class="markProductOutOfStock">' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . '</span>'; } return $out_of_stock; } ////// Break a word in a string if it is longer than a specified length ($len) function tep_break_string($string, $len, $break_char = '-') { $l = 0; $output = ''; for ($i=0, $n=strlen($string); $i<$n; $i++) { $char = substr($string, $i, 1); if ($char != ' ') { $l++; } else { $l = 0; } if ($l > $len) { $l = 1; $output .= $break_char; } $output .= $char; } return $output; } ////// Return all HTTP GET variables, except those passed as a parameter function tep_get_all_get_params($exclude_array = '') { global $HTTP_GET_VARS; if (!is_array($exclude_array)) $exclude_array = array(); $get_url = ''; if (is_array($HTTP_GET_VARS) && (sizeof($HTTP_GET_VARS) > 0)) { reset($HTTP_GET_VARS); while (list($key, $value) = each($HTTP_GET_VARS)) { if ( (strlen($value) > 0) && ($key != tep_session_name()) && ($key != 'error') && (!in_array($key, $exclude_array)) && ($key != 'x') && ($key != 'y') ) { $get_url .= $key . '=' . rawurlencode(stripslashes($value)) . '&'; } } } return $get_url; } ////// Returns an array with countries// TABLES: countries function tep_get_countries($countries_id = '', $with_iso_codes = false) { $countries_array = array(); if (tep_not_null($countries_id)) { if ($with_iso_codes == true) { $countries = tep_db_query("select countries_name, countries_iso_code_2, countries_iso_code_3 from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$countries_id . "' order by countries_name"); $countries_values = tep_db_fetch_array($countries); $countries_array = array('countries_name' => $countries_values['countries_name'], 'countries_iso_code_2' => $countries_values['countries_iso_code_2'], 'countries_iso_code_3' => $countries_values['countries_iso_code_3']); } else { $countries = tep_db_query("select countries_name from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$countries_id . "'"); $countries_values = tep_db_fetch_array($countries); $countries_array = array('countries_name' => $countries_values['countries_name']); } } else { $countries = tep_db_query("select countries_id, countries_name from " . TABLE_COUNTRIES . " order by countries_name"); while ($countries_values = tep_db_fetch_array($countries)) { $countries_array[] = array('countries_id' => $countries_values['countries_id'], 'countries_name' => $countries_values['countries_name']); } } return $countries_array; } ////// Alias function to tep_get_countries, which also returns the countries iso codes function tep_get_countries_with_iso_codes($countries_id) { return tep_get_countries($countries_id, true); } ////// Generate a path to categories function tep_get_path($current_category_id = '') { global $cPath_array; if (tep_not_null($current_category_id)) { $cp_size = sizeof($cPath_array); if ($cp_size == 0) { $cPath_new = $current_category_id; } else { $cPath_new = ''; $last_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$cPath_array[($cp_size-1)] . "'"); $last_category = tep_db_fetch_array($last_category_query); $current_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'"); $current_category = tep_db_fetch_array($current_category_query); if ($last_category['parent_id'] == $current_category['parent_id']) { for ($i=0; $i<($cp_size-1); $i++) { $cPath_new .= '_' . $cPath_array[$i]; } } else { for ($i=0; $i<$cp_size; $i++) { $cPath_new .= '_' . $cPath_array[$i]; } } $cPath_new .= '_' . $current_category_id; if (substr($cPath_new, 0, 1) == '_') { $cPath_new = substr($cPath_new, 1); } } } else { $cPath_new = implode('_', $cPath_array); } return 'cPath=' . $cPath_new; } ////// Returns the clients browser function tep_browser_detect($component) { global $HTTP_USER_AGENT; return stristr($HTTP_USER_AGENT, $component); } ////// Alias function to tep_get_countries() function tep_get_country_name($country_id) { $country_array = tep_get_countries($country_id); return $country_array['countries_name']; } ////// Returns the zone (State/Province) name// TABLES: zones function tep_get_zone_name($country_id, $zone_id, $default_zone) { $zone_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country_id . "' and zone_id = '" . (int)$zone_id . "'"); if (tep_db_num_rows($zone_query)) { $zone = tep_db_fetch_array($zone_query); return $zone['zone_name']; } else { return $default_zone; } } ////// Returns the zone (State/Province) code// TABLES: zones function tep_get_zone_code($country_id, $zone_id, $default_zone) { $zone_query = tep_db_query("select zone_code from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country_id . "' and zone_id = '" . (int)$zone_id . "'"); if (tep_db_num_rows($zone_query)) { $zone = tep_db_fetch_array($zone_query); return $zone['zone_code']; } else { return $default_zone; } } ////// Wrapper function for round() function tep_round($number, $precision) { if (strpos($number, '.') && (strlen(substr($number, strpos($number, '.')+1)) > $precision)) { $number = substr($number, 0, strpos($number, '.') + 1 + $precision + 1); if (substr($number, -1) >= 5) { if ($precision > 1) { $number = substr($number, 0, -1) + ('0.' . str_repeat(0, $precision-1) . '1'); } elseif ($precision == 1) { $number = substr($number, 0, -1) + 0.1; } else { $number = substr($number, 0, -1) + 1; } } else { $number = substr($number, 0, -1); } } return $number; } ////// Returns the tax rate for a zone / class// TABLES: tax_rates, zones_to_geo_zones function tep_get_tax_rate($class_id, $country_id = -1, $zone_id = -1) { global $customer_zone_id, $customer_country_id; if ( ($country_id == -1) && ($zone_id == -1) ) { if (!tep_session_is_registered('customer_id')) { $country_id = STORE_COUNTRY; $zone_id = STORE_ZONE; } else { $country_id = $customer_country_id; $zone_id = $customer_zone_id; } } $tax_query = tep_db_query("select sum(tax_rate) as tax_rate from " . TABLE_TAX_RATES . " tr left join " . TABLE_ZONES_TO_GEO_ZONES . " za on (tr.tax_zone_id = za.geo_zone_id) left join " . TABLE_GEO_ZONES . " tz on (tz.geo_zone_id = tr.tax_zone_id) where (za.zone_country_id is null or za.zone_country_id = '0' or za.zone_country_id = '" . (int)$country_id . "') and (za.zone_id is null or za.zone_id = '0' or za.zone_id = '" . (int)$zone_id . "') and tr.tax_class_id = '" . (int)$class_id . "' group by tr.tax_priority"); if (tep_db_num_rows($tax_query)) { $tax_multiplier = 1.0; while ($tax = tep_db_fetch_array($tax_query)) { $tax_multiplier *= 1.0 + ($tax['tax_rate'] / 100); } return ($tax_multiplier - 1.0) * 100; } else { return 0; } } ////// Return the tax description for a zone / class// TABLES: tax_rates; function tep_get_tax_description($class_id, $country_id, $zone_id) { $tax_query = tep_db_query("select tax_description from " . TABLE_TAX_RATES . " tr left join " . TABLE_ZONES_TO_GEO_ZONES . " za on (tr.tax_zone_id = za.geo_zone_id) left join " . TABLE_GEO_ZONES . " tz on (tz.geo_zone_id = tr.tax_zone_id) where (za.zone_country_id is null or za.zone_country_id = '0' or za.zone_country_id = '" . (int)$country_id . "') and (za.zone_id is null or za.zone_id = '0' or za.zone_id = '" . (int)$zone_id . "') and tr.tax_class_id = '" . (int)$class_id . "' order by tr.tax_priority"); if (tep_db_num_rows($tax_query)) { $tax_description = ''; while ($tax = tep_db_fetch_array($tax_query)) { $tax_description .= $tax['tax_description'] . ' + '; } $tax_description = substr($tax_description, 0, -3); return $tax_description; } else { return TEXT_UNKNOWN_TAX_RATE; } } ////// Add tax to a products price function tep_add_tax($price, $tax) { global $currencies; if ( (DISPLAY_PRICE_WITH_TAX == 'true') && ($tax > 0) ) { return tep_round($price, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']) + tep_calculate_tax($price, $tax); } else { return tep_round($price, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']); } } // Calculates Tax rounding the result function tep_calculate_tax($price, $tax) { global $currencies; return tep_round($price * $tax / 100, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']); } ////// Return the number of products in a category// TABLES: products, products_to_categories, categories function tep_count_products_in_category($category_id, $include_inactive = false) { $products_count = 0; if ($include_inactive == true) { $products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$category_id . "'"); } else { $products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = p2c.products_id and p.products_status = '1' and p2c.categories_id = '" . (int)$category_id . "'"); } $products = tep_db_fetch_array($products_query); $products_count += $products['total']; $child_categories_query = tep_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$category_id . "'"); if (tep_db_num_rows($child_categories_query)) { while ($child_categories = tep_db_fetch_array($child_categories_query)) { $products_count += tep_count_products_in_category($child_categories['categories_id'], $include_inactive); } } return $products_count; } ////// Return true if the category has subcategories// TABLES: categories function tep_has_category_subcategories($category_id) { $child_category_query = tep_db_query("select count(*) as count from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$category_id . "'"); $child_category = tep_db_fetch_array($child_category_query); if ($child_category['count'] > 0) { return true; } else { return false; } } ////// Returns the address_format_id for the given country// TABLES: countries; function tep_get_address_format_id($country_id) { $address_format_query = tep_db_query("select address_format_id as format_id from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$country_id . "'"); if (tep_db_num_rows($address_format_query)) { $address_format = tep_db_fetch_array($address_format_query); return $address_format['format_id']; } else { return '1'; } } ////// Return a formatted address// TABLES: address_format function tep_address_format($address_format_id, $address, $html, $boln, $eoln) { $address_format_query = tep_db_query("select address_format as format from " . TABLE_ADDRESS_FORMAT . " where address_format_id = '" . (int)$address_format_id . "'"); $address_format = tep_db_fetch_array($address_format_query); $company = tep_output_string_protected($address['company']); if (isset($address['firstname']) && tep_not_null($address['firstname'])) { $firstname = tep_output_string_protected($address['firstname']); $lastname = tep_output_string_protected($address['lastname']); } elseif (isset($address['name']) && tep_not_null($address['name'])) { $firstname = tep_output_string_protected($address['name']); $lastname = ''; } else { $firstname = ''; $lastname = ''; } $street = tep_output_string_protected($address['street_address']); $suburb = tep_output_string_protected($address['suburb']); $city = tep_output_string_protected($address['city']); $state = tep_output_string_protected($address['state']); if (isset($address['country_id']) && tep_not_null($address['country_id'])) { $country = tep_get_country_name($address['country_id']); if (isset($address['zone_id']) && tep_not_null($address['zone_id'])) { $state = tep_get_zone_code($address['country_id'], $address['zone_id'], $state); } } elseif (isset($address['country']) && tep_not_null($address['country'])) { $country = tep_output_string_protected($address['country']); } else { $country = ''; } $postcode = tep_output_string_protected($address['postcode']); $zip = $postcode; if ($html) {// HTML Mode $HR = '<hr>'; $hr = '<hr>'; if ( ($boln == '') && ($eoln == "\n") ) { // Values not specified, use rational defaults $CR = '<br>'; $cr = '<br>'; $eoln = $cr; } else { // Use values supplied $CR = $eoln . $boln; $cr = $CR; } } else {// Text Mode $CR = $eoln; $cr = $CR; $HR = '----------------------------------------'; $hr = '----------------------------------------'; } $statecomma = ''; $streets = $street; if ($suburb != '') $streets = $street . $cr . $suburb; if ($country == '') $country = tep_output_string_protected($address['country']); if ($state != '') $statecomma = $state . ', '; $fmt = $address_format['format']; eval("\$address = \"$fmt\";"); if ( (ACCOUNT_COMPANY == 'true') && (tep_not_null($company)) ) { $address = $company . $cr . $address; } return $address; } ////// Return a formatted address// TABLES: customers, address_book function tep_address_label($customers_id, $address_id = 1, $html = false, $boln = '', $eoln = "\n") { $address_query = tep_db_query("select entry_firstname as firstname, entry_lastname as lastname, entry_company as company, entry_street_address as street_address, entry_suburb as suburb, entry_city as city, entry_postcode as postcode, entry_state as state, entry_zone_id as zone_id, entry_country_id as country_id from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customers_id . "' and address_book_id = '" . (int)$address_id . "'"); $address = tep_db_fetch_array($address_query); $format_id = tep_get_address_format_id($address['country_id']); return tep_address_format($format_id, $address, $html, $boln, $eoln); } function tep_row_number_format($number) { if ( ($number < 10) && (substr($number, 0, 1) != '0') ) $number = '0' . $number; return $number; } function tep_get_categories($categories_array = '', $parent_id = '0', $indent = '') { global $languages_id; if (!is_array($categories_array)) $categories_array = array(); $categories_query = tep_db_query("select c.categories_id, cd.categories_name from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where parent_id = '" . (int)$parent_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name"); while ($categories = tep_db_fetch_array($categories_query)) { $categories_array[] = array('id' => $categories['categories_id'], 'text' => $indent . $categories['categories_name']); if ($categories['categories_id'] != $parent_id) { $categories_array = tep_get_categories($categories_array, $categories['categories_id'], $indent . ' '); } } return $categories_array; } function tep_get_manufacturers($manufacturers_array = '') { if (!is_array($manufacturers_array)) $manufacturers_array = array(); $manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name"); while ($manufacturers = tep_db_fetch_array($manufacturers_query)) { $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'], 'text' => $manufacturers['manufacturers_name']); } return $manufacturers_array; } ////// Return all subcategory IDs// TABLES: categories function tep_get_subcategories(&$subcategories_array, $parent_id = 0) { $subcategories_query = tep_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$parent_id . "'"); while ($subcategories = tep_db_fetch_array($subcategories_query)) { $subcategories_array[sizeof($subcategories_array)] = $subcategories['categories_id']; if ($subcategories['categories_id'] != $parent_id) { tep_get_subcategories($subcategories_array, $subcategories['categories_id']); } } } // Output a raw date string in the selected locale date format// $raw_date needs to be in this format: YYYY-MM-DD HH:MM:SS function tep_date_long($raw_date) { if ( ($raw_date == '0000-00-00 00:00:00') || ($raw_date == '') ) return false; $year = (int)substr($raw_date, 0, 4); $month = (int)substr($raw_date, 5, 2); $day = (int)substr($raw_date, 8, 2); $hour = (int)substr($raw_date, 11, 2); $minute = (int)substr($raw_date, 14, 2); $second = (int)substr($raw_date, 17, 2); return strftime(DATE_FORMAT_LONG, mktime($hour,$minute,$second,$month,$day,$year)); } ////// Output a raw date string in the selected locale date format// $raw_date needs to be in this format: YYYY-MM-DD HH:MM:SS// NOTE: Includes a workaround for dates before 01/01/1970 that fail on windows servers function tep_date_short($raw_date) { if ( ($raw_date == '0000-00-00 00:00:00') || empty($raw_date) ) return false; $year = substr($raw_date, 0, 4); $month = (int)substr($raw_date, 5, 2); $day = (int)substr($raw_date, 8, 2); $hour = (int)substr($raw_date, 11, 2); $minute = (int)substr($raw_date, 14, 2); $second = (int)substr($raw_date, 17, 2); if (@date('Y', mktime($hour, $minute, $second, $month, $day, $year)) == $year) { return date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, $year)); } else { &nb
emailanj Posted August 9, 2005 Author Posted August 9, 2005 Please, can someone take pity on me :'( I am hesitant in trying to fix it my self, I am afraid of making it worse. Please won't some one give me guidance? Thank you anj :'( I am a newbie for starters and am learning from trial and error. But this Error I can't fix. After clicking on the buy now button this error dpops up: Warning: Cannot modify header information - headers already sent by (output started at /home/proshowe/public_html/store/includes/languages/english.php:336) in /home/proshowe/public_html/store/includes/functions/general.php on line 29 The only contributions I have installed are viaklix gateway, box shadow, and a orange box template Here is the code from english.php: <?php /* ?$Id: english.php,v 1.114 2003/07/09 18:13:39 dgw_ Exp $ ?osCommerce, Open Source E-Commerce Solutions ?http://www.oscommerce.com ?Copyright (c) 2003 osCommerce ?Released under the GNU General Public License */ // look in your $PATH_LOCALE/locale directory for available locales // or type locale -a on the server. // Examples: // on RedHat try 'en_US' // on FreeBSD try 'en_US.ISO_8859-1' // on Windows try 'en', or 'English' @setlocale(LC_TIME, 'en_US.ISO_8859-1'); define('DATE_FORMAT_SHORT', '%m/%d/%Y'); ?// this is used for strftime() define('DATE_FORMAT_LONG', '%A %d %B, %Y'); // this is used for strftime() define('DATE_FORMAT', 'm/d/Y'); // this is used for date() define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S'); //// // Return date in raw format // $date should be in format mm/dd/yyyy // raw date is in format YYYYMMDD, or DDMMYYYY function tep_date_raw($date, $reverse = false) { ?if ($reverse) { ? ?return substr($date, 3, 2) . substr($date, 0, 2) . substr($date, 6, 4); ?} else { ? ?return substr($date, 6, 4) . substr($date, 0, 2) . substr($date, 3, 2); ?} } // if USE_DEFAULT_LANGUAGE_CURRENCY is true, use the following currency, instead of the applications default currency (used when changing language) define('LANGUAGE_CURRENCY', 'USD'); // Global entries for the <html> tag define('HTML_PARAMS','dir="LTR" lang="en"'); // charset for web pages and emails define('CHARSET', 'iso-8859-1'); // page title define('TITLE', 'Pro Show Equipment'); // header text in includes/header.php define('HEADER_TITLE_CREATE_ACCOUNT', 'Create an Account'); define('HEADER_TITLE_MY_ACCOUNT', 'My Account'); define('HEADER_TITLE_CART_CONTENTS', 'Cart Contents'); define('HEADER_TITLE_CHECKOUT', 'Checkout'); define('HEADER_TITLE_TOP', 'Top'); define('HEADER_TITLE_CATALOG', 'Catalog'); define('HEADER_TITLE_LOGOFF', 'Log Off'); define('HEADER_TITLE_LOGIN', 'Log In'); // footer text in includes/footer.php define('FOOTER_TEXT_REQUESTS_SINCE', 'requests since'); // text for gender define('MALE', 'Male'); define('FEMALE', 'Female'); define('MALE_ADDRESS', 'Mr.'); define('FEMALE_ADDRESS', 'Ms.'); // text for date of birth example define('DOB_FORMAT_STRING', 'mm/dd/yyyy'); // categories box text in includes/boxes/categories.php define('BOX_HEADING_CATEGORIES', 'Categories'); // manufacturers box text in includes/boxes/manufacturers.php define('BOX_HEADING_MANUFACTURERS', 'Manufacturers'); // whats_new box text in includes/boxes/whats_new.php define('BOX_HEADING_WHATS_NEW', 'Feature Products'); // quick_find box text in includes/boxes/quick_find.php define('BOX_HEADING_SEARCH', 'Quick Find'); define('BOX_SEARCH_TEXT', 'Use keywords to find the product you are looking for.'); define('BOX_SEARCH_ADVANCED_SEARCH', 'Advanced Search'); // specials box text in includes/boxes/specials.php define('BOX_HEADING_SPECIALS', 'Specials'); // reviews box text in includes/boxes/reviews.php define('BOX_HEADING_REVIEWS', 'Reviews'); define('BOX_REVIEWS_WRITE_REVIEW', 'Write a review on this product!'); define('BOX_REVIEWS_NO_REVIEWS', 'There are currently no product reviews'); define('BOX_REVIEWS_TEXT_OF_5_STARS', '%s of 5 Stars!'); // shopping_cart box text in includes/boxes/shopping_cart.php define('BOX_HEADING_SHOPPING_CART', 'Shopping Cart'); define('BOX_SHOPPING_CART_EMPTY', '0 items'); // order_history box text in includes/boxes/order_history.php define('BOX_HEADING_CUSTOMER_ORDERS', 'Order History'); // best_sellers box text in includes/boxes/best_sellers.php define('BOX_HEADING_BESTSELLERS', 'Bestsellers'); define('BOX_HEADING_BESTSELLERS_IN', 'Bestsellers in<br> '); // notifications box text in includes/boxes/products_notifications.php define('BOX_HEADING_NOTIFICATIONS', 'Notifications'); define('BOX_NOTIFICATIONS_NOTIFY', 'Notify me of updates to <b>%s</b>'); define('BOX_NOTIFICATIONS_NOTIFY_REMOVE', 'Do not notify me of updates to <b>%s</b>'); // manufacturer box text define('BOX_HEADING_MANUFACTURER_INFO', 'Manufacturer Info'); define('BOX_MANUFACTURER_INFO_HOMEPAGE', '%s Homepage'); define('BOX_MANUFACTURER_INFO_OTHER_PRODUCTS', 'Other products'); // languages box text in includes/boxes/languages.php define('BOX_HEADING_LANGUAGES', 'Languages'); // currencies box text in includes/boxes/currencies.php define('BOX_HEADING_CURRENCIES', 'Currencies'); // information box text in includes/boxes/information.php define('BOX_HEADING_INFORMATION', 'Information'); define('BOX_INFORMATION_PRIVACY', 'Privacy Notice'); define('BOX_INFORMATION_CONDITIONS', 'Conditions of Use'); define('BOX_INFORMATION_SHIPPING', 'Shipping & Returns'); define('BOX_INFORMATION_CONTACT', 'Contact Us'); // tell a friend box text in includes/boxes/tell_a_friend.php define('BOX_HEADING_TELL_A_FRIEND', 'Tell A Friend'); define('BOX_TELL_A_FRIEND_TEXT', 'Tell someone you know about this product.'); // checkout procedure text define('CHECKOUT_BAR_DELIVERY', 'Delivery Information'); define('CHECKOUT_BAR_PAYMENT', 'Payment Information'); define('CHECKOUT_BAR_CONFIRMATION', 'Confirmation'); define('CHECKOUT_BAR_FINISHED', 'Finished!'); // pull down default text define('PULL_DOWN_DEFAULT', 'Please Select'); define('TYPE_BELOW', 'Type Below'); // javascript messages define('JS_ERROR', 'Errors have occured during the process of your form.\n\nPlease make the following corrections:\n\n'); define('JS_REVIEW_TEXT', '* The \'Review Text\' must have at least ' . REVIEW_TEXT_MIN_LENGTH . ' characters.\n'); define('JS_REVIEW_RATING', '* You must rate the product for your review.\n'); define('JS_ERROR_NO_PAYMENT_MODULE_SELECTED', '* Please select a payment method for your order.\n'); define('JS_ERROR_SUBMITTED', 'This form has already been submitted. Please press Ok and wait for this process to be completed.'); define('ERROR_NO_PAYMENT_MODULE_SELECTED', 'Please select a payment method for your order.'); define('CATEGORY_COMPANY', 'Company Details'); define('CATEGORY_PERSONAL', 'Your Personal Details'); define('CATEGORY_ADDRESS', 'Your Address'); define('CATEGORY_CONTACT', 'Your Contact Information'); define('CATEGORY_OPTIONS', 'Options'); define('CATEGORY_PASSWORD', 'Your Password'); define('ENTRY_COMPANY', 'Company Name:'); define('ENTRY_COMPANY_ERROR', ''); define('ENTRY_COMPANY_TEXT', ''); define('ENTRY_GENDER', 'Gender:'); define('ENTRY_GENDER_ERROR', 'Please select your Gender.'); define('ENTRY_GENDER_TEXT', '*'); define('ENTRY_FIRST_NAME', 'First Name:'); define('ENTRY_FIRST_NAME_ERROR', 'Your First Name must contain a minimum of ' . ENTRY_FIRST_NAME_MIN_LENGTH . ' characters.'); define('ENTRY_FIRST_NAME_TEXT', '*'); define('ENTRY_LAST_NAME', 'Last Name:'); define('ENTRY_LAST_NAME_ERROR', 'Your Last Name must contain a minimum of ' . ENTRY_LAST_NAME_MIN_LENGTH . ' characters.'); define('ENTRY_LAST_NAME_TEXT', '*'); define('ENTRY_DATE_OF_BIRTH', 'Date of Birth:'); define('ENTRY_DATE_OF_BIRTH_ERROR', 'Your Date of Birth must be in this format: MM/DD/YYYY (eg 05/21/1970)'); define('ENTRY_DATE_OF_BIRTH_TEXT', '* (eg. 05/21/1970)'); define('ENTRY_EMAIL_ADDRESS', 'E-Mail Address:'); define('ENTRY_EMAIL_ADDRESS_ERROR', 'Your E-Mail Address must contain a minimum of ' . ENTRY_EMAIL_ADDRESS_MIN_LENGTH . ' characters.'); define('ENTRY_EMAIL_ADDRESS_CHECK_ERROR', 'Your E-Mail Address does not appear to be valid - please make any necessary corrections.'); define('ENTRY_EMAIL_ADDRESS_ERROR_EXISTS', 'Your E-Mail Address already exists in our records - please log in with the e-mail address or create an account with a different address.'); define('ENTRY_EMAIL_ADDRESS_TEXT', '*'); define('ENTRY_STREET_ADDRESS', 'Street Address:'); define('ENTRY_STREET_ADDRESS_ERROR', 'Your Street Address must contain a minimum of ' . ENTRY_STREET_ADDRESS_MIN_LENGTH . ' characters.'); define('ENTRY_STREET_ADDRESS_TEXT', '*'); define('ENTRY_SUBURB', 'Suburb:'); define('ENTRY_SUBURB_ERROR', ''); define('ENTRY_SUBURB_TEXT', ''); define('ENTRY_POST_CODE', 'Post Code:'); define('ENTRY_POST_CODE_ERROR', 'Your Post Code must contain a minimum of ' . ENTRY_POSTCODE_MIN_LENGTH . ' characters.'); define('ENTRY_POST_CODE_TEXT', '*'); define('ENTRY_CITY', 'City:'); define('ENTRY_CITY_ERROR', 'Your City must contain a minimum of ' . ENTRY_CITY_MIN_LENGTH . ' characters.'); define('ENTRY_CITY_TEXT', '*'); define('ENTRY_STATE', 'State/Province:'); define('ENTRY_STATE_ERROR', 'Your State must contain a minimum of ' . ENTRY_STATE_MIN_LENGTH . ' characters.'); define('ENTRY_STATE_ERROR_SELECT', 'Please select a state from the States pull down menu.'); define('ENTRY_STATE_TEXT', '*'); define('ENTRY_COUNTRY', 'Country:'); define('ENTRY_COUNTRY_ERROR', 'You must select a country from the Countries pull down menu.'); define('ENTRY_COUNTRY_TEXT', '*'); define('ENTRY_TELEPHONE_NUMBER', 'Telephone Number:'); define('ENTRY_TELEPHONE_NUMBER_ERROR', 'Your Telephone Number must contain a minimum of ' . ENTRY_TELEPHONE_MIN_LENGTH . ' characters.'); define('ENTRY_TELEPHONE_NUMBER_TEXT', '*'); define('ENTRY_FAX_NUMBER', 'Fax Number:'); define('ENTRY_FAX_NUMBER_ERROR', ''); define('ENTRY_FAX_NUMBER_TEXT', ''); define('ENTRY_NEWSLETTER', 'Newsletter:'); define('ENTRY_NEWSLETTER_TEXT', ''); define('ENTRY_NEWSLETTER_YES', 'Subscribed'); define('ENTRY_NEWSLETTER_NO', 'Unsubscribed'); define('ENTRY_NEWSLETTER_ERROR', ''); define('ENTRY_PASSWORD', 'Password:'); define('ENTRY_PASSWORD_ERROR', 'Your Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.'); define('ENTRY_PASSWORD_ERROR_NOT_MATCHING', 'The Password Confirmation must match your Password.'); define('ENTRY_PASSWORD_TEXT', '*'); define('ENTRY_PASSWORD_CONFIRMATION', 'Password Confirmation:'); define('ENTRY_PASSWORD_CONFIRMATION_TEXT', '*'); define('ENTRY_PASSWORD_CURRENT', 'Current Password:'); define('ENTRY_PASSWORD_CURRENT_TEXT', '*'); define('ENTRY_PASSWORD_CURRENT_ERROR', 'Your Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.'); define('ENTRY_PASSWORD_NEW', 'New Password:'); define('ENTRY_PASSWORD_NEW_TEXT', '*'); define('ENTRY_PASSWORD_NEW_ERROR', 'Your new Password must contain a minimum of ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.'); define('ENTRY_PASSWORD_NEW_ERROR_NOT_MATCHING', 'The Password Confirmation must match your new Password.'); define('PASSWORD_HIDDEN', '--HIDDEN--'); define('FORM_REQUIRED_INFORMATION', '* Required information'); // constants for use in tep_prev_next_display function define('TEXT_RESULT_PAGE', 'Result Pages:'); define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> products)'); define('TEXT_DISPLAY_NUMBER_OF_ORDERS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> orders)'); define('TEXT_DISPLAY_NUMBER_OF_REVIEWS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> reviews)'); define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS_NEW', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> new products)'); define('TEXT_DISPLAY_NUMBER_OF_SPECIALS', 'Displaying <b>%d</b> to <b>%d</b> (of <b>%d</b> specials)'); define('PREVNEXT_TITLE_FIRST_PAGE', 'First Page'); define('PREVNEXT_TITLE_PREVIOUS_PAGE', 'Previous Page'); define('PREVNEXT_TITLE_NEXT_PAGE', 'Next Page'); define('PREVNEXT_TITLE_LAST_PAGE', 'Last Page'); define('PREVNEXT_TITLE_PAGE_NO', 'Page %d'); define('PREVNEXT_TITLE_PREV_SET_OF_NO_PAGE', 'Previous Set of %d Pages'); define('PREVNEXT_TITLE_NEXT_SET_OF_NO_PAGE', 'Next Set of %d Pages'); define('PREVNEXT_BUTTON_FIRST', '<<FIRST'); define('PREVNEXT_BUTTON_PREV', '[<< Prev]'); define('PREVNEXT_BUTTON_NEXT', '[Next >>]'); define('PREVNEXT_BUTTON_LAST', 'LAST>>'); define('IMAGE_BUTTON_ADD_ADDRESS', 'Add Address'); define('IMAGE_BUTTON_ADDRESS_BOOK', 'Address Book'); define('IMAGE_BUTTON_BACK', 'Back'); define('IMAGE_BUTTON_BUY_NOW', 'Buy Now'); define('IMAGE_BUTTON_CHANGE_ADDRESS', 'Change Address'); define('IMAGE_BUTTON_CHECKOUT', 'Checkout'); define('IMAGE_BUTTON_CONFIRM_ORDER', 'Confirm Order'); define('IMAGE_BUTTON_CONTINUE', 'Continue'); define('IMAGE_BUTTON_CONTINUE_SHOPPING', 'Continue Shopping'); define('IMAGE_BUTTON_DELETE', 'Delete'); define('IMAGE_BUTTON_EDIT_ACCOUNT', 'Edit Account'); define('IMAGE_BUTTON_HISTORY', 'Order History'); define('IMAGE_BUTTON_LOGIN', 'Sign In'); define('IMAGE_BUTTON_IN_CART', 'Add to Cart'); define('IMAGE_BUTTON_NOTIFICATIONS', 'Notifications'); define('IMAGE_BUTTON_QUICK_FIND', 'Quick Find'); define('IMAGE_BUTTON_REMOVE_NOTIFICATIONS', 'Remove Notifications'); define('IMAGE_BUTTON_REVIEWS', 'Reviews'); define('IMAGE_BUTTON_SEARCH', 'Search'); define('IMAGE_BUTTON_SHIPPING_OPTIONS', 'Shipping Options'); define('IMAGE_BUTTON_TELL_A_FRIEND', 'Tell a Friend'); define('IMAGE_BUTTON_UPDATE', 'Update'); define('IMAGE_BUTTON_UPDATE_CART', 'Update Cart'); define('IMAGE_BUTTON_WRITE_REVIEW', 'Write Review'); define('SMALL_IMAGE_BUTTON_DELETE', 'Delete'); define('SMALL_IMAGE_BUTTON_EDIT', 'Edit'); define('SMALL_IMAGE_BUTTON_VIEW', 'View'); define('ICON_ARROW_RIGHT', 'more'); define('ICON_CART', 'In Cart'); define('ICON_ERROR', 'Error'); define('ICON_SUCCESS', 'Success'); define('ICON_WARNING', 'Warning'); define('TEXT_GREETING_PERSONAL', 'Welcome back <span class="greetUser">%s!</span> Would you like to see which <a href="%s"><u>featured products</u></a> are available to purchase?'); define('TEXT_GREETING_PERSONAL_RELOGON', '<small>If you are not %s, please <a href="%s"><u>log yourself in</u></a> with your account information.</small>'); define('TEXT_GREETING_GUEST', 'Welcome <span class="greetUser">Guest!</span> Would you like to <a href="%s"><u>log yourself in</u></a>? Or would you prefer to <a href="%s"><u>create an account</u></a>?'); define('TEXT_SORT_PRODUCTS', 'Sort products '); define('TEXT_DESCENDINGLY', 'descendingly'); define('TEXT_ASCENDINGLY', 'ascendingly'); define('TEXT_BY', ' by '); define('TEXT_REVIEW_BY', 'by %s'); define('TEXT_REVIEW_WORD_COUNT', '%s words'); define('TEXT_REVIEW_RATING', 'Rating: %s [%s]'); define('TEXT_REVIEW_DATE_ADDED', 'Date Added: %s'); define('TEXT_NO_REVIEWS', 'There are currently no product reviews.'); define('TEXT_NO_NEW_PRODUCTS', 'There are currently no products.'); define('TEXT_UNKNOWN_TAX_RATE', 'Unknown tax rate'); define('TEXT_REQUIRED', '<span class="errorText">Required</span>'); define('ERROR_TEP_MAIL', '<font face="Verdana, Arial" size="2" color="#ff0000"><b><small>TEP ERROR:</small> Cannot send the email through the specified SMTP server. Please check your php.ini setting and correct the SMTP server if necessary.</b></font>'); define('WARNING_INSTALL_DIRECTORY_EXISTS', 'Warning: Installation directory exists at: ' . dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/install. Please remove this directory for security reasons.'); define('WARNING_CONFIG_FILE_WRITEABLE', 'Warning: I am able to write to the configuration file: ' . dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php. This is a potential security risk - please set the right user permissions on this file.'); define('WARNING_SESSION_DIRECTORY_NON_EXISTENT', 'Warning: The sessions directory does not exist: ' . tep_session_save_path() . '. Sessions will not work until this directory is created.'); define('WARNING_SESSION_DIRECTORY_NOT_WRITEABLE', 'Warning: I am not able to write to the sessions directory: ' . tep_session_save_path() . '. Sessions will not work until the right user permissions are set.'); define('WARNING_SESSION_AUTO_START', 'Warning: session.auto_start is enabled - please disable this php feature in php.ini and restart the web server.'); define('WARNING_DOWNLOAD_DIRECTORY_NON_EXISTENT', 'Warning: The downloadable products directory does not exist: ' . DIR_FS_DOWNLOAD . '. Downloadable products will not work until this directory is valid.'); define('TEXT_CCVAL_ERROR_INVALID_DATE', 'The expiry date entered for the credit card is invalid.<br>Please check the date and try again.'); define('TEXT_CCVAL_ERROR_INVALID_NUMBER', 'The credit card number entered is invalid.<br>Please check the number and try again.'); define('TEXT_CCVAL_ERROR_UNKNOWN_CARD', 'The first four digits of the number entered are: %s<br>If that number is correct, we do not accept that type of credit card.<br>If it is wrong, please try again.'); /* ?The following copyright announcement can only be ?appropriately modified or removed if the layout of ?the site theme has been modified to distinguish ?itself from the default osCommerce-copyrighted ?theme. ?For more information please read the following ?Frequently Asked Questions entry on the osCommerce ?support site: ?http://www.oscommerce.com/community.php/faq,26/q,50 ?Please leave this comment intact together with the ?following copyright announcement. */ define('FOOTER_TEXT_BODY', 'Copyright © 2003 <a href="http://www.ProShowEquipment.com" target="_blank">ProShowEquioment</a><br>Powered by <a href="http://www.oscommerce.com" target="_blank">osCommerce</a>'); ?> Here is the code from: general.php: <?php/* ?$Id: general.php,v 1.231 2003/07/09 01:15:48 hpdl Exp $ ?osCommerce, Open Source E-Commerce Solutions ?http://www.oscommerce.com ?Copyright © 2003 osCommerce ?Released under the GNU General Public License*/ ////// Stop from parsing any further PHP code ?function tep_exit() { ? tep_session_close(); ? exit(); ?} ////// Redirect to another page or site ?function tep_redirect($url) { ? ?if ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) { // We are loading an SSL page ? ? ?if (substr($url, 0, strlen(HTTP_SERVER)) == HTTP_SERVER) { // NONSSL url ? ? ? ?$url = HTTPS_SERVER . substr($url, strlen(HTTP_SERVER)); // Change it to SSL ? ? ?} ? ?} ? ?header('Location: ' . $url); ? ?tep_exit(); ?} ////// Parse the data used in the html tags to ensure the tags will not break ?function tep_parse_input_field_data($data, $parse) { ? ?return strtr(trim($data), $parse); ?} ?function tep_output_string($string, $translate = false, $protected = false) { ? ?if ($protected == true) { ? ? ?return htmlspecialchars($string); ? ?} else { ? ? ?if ($translate == false) { ? ? ? ?return tep_parse_input_field_data($string, array('"' => '"')); ? ? ?} else { ? ? ? ?return tep_parse_input_field_data($string, $translate); ? ? ?} ? ?} ?} ?function tep_output_string_protected($string) { ? ?return tep_output_string($string, false, true); ?} ?function tep_sanitize_string($string) { ? ?$string = ereg_replace(' +', ' ', trim($string)); ? ?return preg_replace("/[<>]/", '_', $string); ?} ////// Return a random row from a database query ?function tep_random_select($query) { ? ?$random_product = ''; ? ?$random_query = tep_db_query($query); ? ?$num_rows = tep_db_num_rows($random_query); ? ?if ($num_rows > 0) { ? ? ?$random_row = tep_rand(0, ($num_rows - 1)); ? ? ?tep_db_data_seek($random_query, $random_row); ? ? ?$random_product = tep_db_fetch_array($random_query); ? ?} ? ?return $random_product; ?} ////// Return a product's name// TABLES: products ?function tep_get_products_name($product_id, $language = '') { ? ?global $languages_id; ? ?if (empty($language)) $language = $languages_id; ? ?$product_query = tep_db_query("select products_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language . "'"); ? ?$product = tep_db_fetch_array($product_query); ? ?return $product['products_name']; ?} ////// Return a product's special price (returns nothing if there is no offer)// TABLES: products ?function tep_get_products_special_price($product_id) { ? ?$product_query = tep_db_query("select specials_new_products_price from " . TABLE_SPECIALS . " where products_id = '" . (int)$product_id . "' and status"); ? ?$product = tep_db_fetch_array($product_query); ? ?return $product['specials_new_products_price']; ?} ////// Return a product's stock// TABLES: products ?function tep_get_products_stock($products_id) { ? ?$products_id = tep_get_prid($products_id); ? ?$stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); ? ?$stock_values = tep_db_fetch_array($stock_query); ? ?return $stock_values['products_quantity']; ?} ////// Check if the required stock is available// If insufficent stock is available return an out of stock message ?function tep_check_stock($products_id, $products_quantity) { ? ?$stock_left = tep_get_products_stock($products_id) - $products_quantity; ? ?$out_of_stock = ''; ? ?if ($stock_left < 0) { ? ? ?$out_of_stock = '<span class="markProductOutOfStock">' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . '</span>'; ? ?} ? ?return $out_of_stock; ?} ////// Break a word in a string if it is longer than a specified length ($len) ?function tep_break_string($string, $len, $break_char = '-') { ? ?$l = 0; ? ?$output = ''; ? ?for ($i=0, $n=strlen($string); $i<$n; $i++) { ? ? ?$char = substr($string, $i, 1); ? ? ?if ($char != ' ') { ? ? ? ?$l++; ? ? ?} else { ? ? ? ?$l = 0; ? ? ?} ? ? ?if ($l > $len) { ? ? ? ?$l = 1; ? ? ? ?$output .= $break_char; ? ? ?} ? ? ?$output .= $char; ? ?} ? ?return $output; ?} ////// Return all HTTP GET variables, except those passed as a parameter ?function tep_get_all_get_params($exclude_array = '') { ? ?global $HTTP_GET_VARS; ? ?if (!is_array($exclude_array)) $exclude_array = array(); ? ?$get_url = ''; ? ?if (is_array($HTTP_GET_VARS) && (sizeof($HTTP_GET_VARS) > 0)) { ? ? ?reset($HTTP_GET_VARS); ? ? ?while (list($key, $value) = each($HTTP_GET_VARS)) { ? ? ? ?if ( (strlen($value) > 0) && ($key != tep_session_name()) && ($key != 'error') && (!in_array($key, $exclude_array)) && ($key != 'x') && ($key != 'y') ) { ? ? ? ? ?$get_url .= $key . '=' . rawurlencode(stripslashes($value)) . '&'; ? ? ? ?} ? ? ?} ? ?} ? ?return $get_url; ?} ////// Returns an array with countries// TABLES: countries ?function tep_get_countries($countries_id = '', $with_iso_codes = false) { ? ?$countries_array = array(); ? ?if (tep_not_null($countries_id)) { ? ? ?if ($with_iso_codes == true) { ? ? ? ?$countries = tep_db_query("select countries_name, countries_iso_code_2, countries_iso_code_3 from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$countries_id . "' order by countries_name"); ? ? ? ?$countries_values = tep_db_fetch_array($countries); ? ? ? ?$countries_array = array('countries_name' => $countries_values['countries_name'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'countries_iso_code_2' => $countries_values['countries_iso_code_2'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'countries_iso_code_3' => $countries_values['countries_iso_code_3']); ? ? ?} else { ? ? ? ?$countries = tep_db_query("select countries_name from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$countries_id . "'"); ? ? ? ?$countries_values = tep_db_fetch_array($countries); ? ? ? ?$countries_array = array('countries_name' => $countries_values['countries_name']); ? ? ?} ? ?} else { ? ? ?$countries = tep_db_query("select countries_id, countries_name from " . TABLE_COUNTRIES . " order by countries_name"); ? ? ?while ($countries_values = tep_db_fetch_array($countries)) { ? ? ? ?$countries_array[] = array('countries_id' => $countries_values['countries_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'countries_name' => $countries_values['countries_name']); ? ? ?} ? ?} ? ?return $countries_array; ?} ////// Alias function to tep_get_countries, which also returns the countries iso codes ?function tep_get_countries_with_iso_codes($countries_id) { ? ?return tep_get_countries($countries_id, true); ?} ////// Generate a path to categories ?function tep_get_path($current_category_id = '') { ? ?global $cPath_array; ? ?if (tep_not_null($current_category_id)) { ? ? ?$cp_size = sizeof($cPath_array); ? ? ?if ($cp_size == 0) { ? ? ? ?$cPath_new = $current_category_id; ? ? ?} else { ? ? ? ?$cPath_new = ''; ? ? ? ?$last_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$cPath_array[($cp_size-1)] . "'"); ? ? ? ?$last_category = tep_db_fetch_array($last_category_query); ? ? ? ?$current_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'"); ? ? ? ?$current_category = tep_db_fetch_array($current_category_query); ? ? ? ?if ($last_category['parent_id'] == $current_category['parent_id']) { ? ? ? ? ?for ($i=0; $i<($cp_size-1); $i++) { ? ? ? ? ? ?$cPath_new .= '_' . $cPath_array[$i]; ? ? ? ? ?} ? ? ? ?} else { ? ? ? ? ?for ($i=0; $i<$cp_size; $i++) { ? ? ? ? ? ?$cPath_new .= '_' . $cPath_array[$i]; ? ? ? ? ?} ? ? ? ?} ? ? ? ?$cPath_new .= '_' . $current_category_id; ? ? ? ?if (substr($cPath_new, 0, 1) == '_') { ? ? ? ? ?$cPath_new = substr($cPath_new, 1); ? ? ? ?} ? ? ?} ? ?} else { ? ? ?$cPath_new = implode('_', $cPath_array); ? ?} ? ?return 'cPath=' . $cPath_new; ?} ////// Returns the clients browser ?function tep_browser_detect($component) { ? ?global $HTTP_USER_AGENT; ? ?return stristr($HTTP_USER_AGENT, $component); ?} ////// Alias function to tep_get_countries() ?function tep_get_country_name($country_id) { ? ?$country_array = tep_get_countries($country_id); ? ?return $country_array['countries_name']; ?} ////// Returns the zone (State/Province) name// TABLES: zones ?function tep_get_zone_name($country_id, $zone_id, $default_zone) { ? ?$zone_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country_id . "' and zone_id = '" . (int)$zone_id . "'"); ? ?if (tep_db_num_rows($zone_query)) { ? ? ?$zone = tep_db_fetch_array($zone_query); ? ? ?return $zone['zone_name']; ? ?} else { ? ? ?return $default_zone; ? ?} ?} ////// Returns the zone (State/Province) code// TABLES: zones ?function tep_get_zone_code($country_id, $zone_id, $default_zone) { ? ?$zone_query = tep_db_query("select zone_code from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country_id . "' and zone_id = '" . (int)$zone_id . "'"); ? ?if (tep_db_num_rows($zone_query)) { ? ? ?$zone = tep_db_fetch_array($zone_query); ? ? ?return $zone['zone_code']; ? ?} else { ? ? ?return $default_zone; ? ?} ?} ////// Wrapper function for round() ?function tep_round($number, $precision) { ? ?if (strpos($number, '.') && (strlen(substr($number, strpos($number, '.')+1)) > $precision)) { ? ? ?$number = substr($number, 0, strpos($number, '.') + 1 + $precision + 1); ? ? ?if (substr($number, -1) >= 5) { ? ? ? ?if ($precision > 1) { ? ? ? ? ?$number = substr($number, 0, -1) + ('0.' . str_repeat(0, $precision-1) . '1'); ? ? ? ?} elseif ($precision == 1) { ? ? ? ? ?$number = substr($number, 0, -1) + 0.1; ? ? ? ?} else { ? ? ? ? ?$number = substr($number, 0, -1) + 1; ? ? ? ?} ? ? ?} else { ? ? ? ?$number = substr($number, 0, -1); ? ? ?} ? ?} ? ?return $number; ?} ////// Returns the tax rate for a zone / class// TABLES: tax_rates, zones_to_geo_zones ?function tep_get_tax_rate($class_id, $country_id = -1, $zone_id = -1) { ? ?global $customer_zone_id, $customer_country_id; ? ?if ( ($country_id == -1) && ($zone_id == -1) ) { ? ? ?if (!tep_session_is_registered('customer_id')) { ? ? ? ?$country_id = STORE_COUNTRY; ? ? ? ?$zone_id = STORE_ZONE; ? ? ?} else { ? ? ? ?$country_id = $customer_country_id; ? ? ? ?$zone_id = $customer_zone_id; ? ? ?} ? ?} ? ?$tax_query = tep_db_query("select sum(tax_rate) as tax_rate from " . TABLE_TAX_RATES . " tr left join " . TABLE_ZONES_TO_GEO_ZONES . " za on (tr.tax_zone_id = za.geo_zone_id) left join " . TABLE_GEO_ZONES . " tz on (tz.geo_zone_id = tr.tax_zone_id) where (za.zone_country_id is null or za.zone_country_id = '0' or za.zone_country_id = '" . (int)$country_id . "') and (za.zone_id is null or za.zone_id = '0' or za.zone_id = '" . (int)$zone_id . "') and tr.tax_class_id = '" . (int)$class_id . "' group by tr.tax_priority"); ? ?if (tep_db_num_rows($tax_query)) { ? ? ?$tax_multiplier = 1.0; ? ? ?while ($tax = tep_db_fetch_array($tax_query)) { ? ? ? ?$tax_multiplier *= 1.0 + ($tax['tax_rate'] / 100); ? ? ?} ? ? ?return ($tax_multiplier - 1.0) * 100; ? ?} else { ? ? ?return 0; ? ?} ?} ////// Return the tax description for a zone / class// TABLES: tax_rates; ?function tep_get_tax_description($class_id, $country_id, $zone_id) { ? ?$tax_query = tep_db_query("select tax_description from " . TABLE_TAX_RATES . " tr left join " . TABLE_ZONES_TO_GEO_ZONES . " za on (tr.tax_zone_id = za.geo_zone_id) left join " . TABLE_GEO_ZONES . " tz on (tz.geo_zone_id = tr.tax_zone_id) where (za.zone_country_id is null or za.zone_country_id = '0' or za.zone_country_id = '" . (int)$country_id . "') and (za.zone_id is null or za.zone_id = '0' or za.zone_id = '" . (int)$zone_id . "') and tr.tax_class_id = '" . (int)$class_id . "' order by tr.tax_priority"); ? ?if (tep_db_num_rows($tax_query)) { ? ? ?$tax_description = ''; ? ? ?while ($tax = tep_db_fetch_array($tax_query)) { ? ? ? ?$tax_description .= $tax['tax_description'] . ' + '; ? ? ?} ? ? ?$tax_description = substr($tax_description, 0, -3); ? ? ?return $tax_description; ? ?} else { ? ? ?return TEXT_UNKNOWN_TAX_RATE; ? ?} ?} ////// Add tax to a products price ?function tep_add_tax($price, $tax) { ? ?global $currencies; ? ?if ( (DISPLAY_PRICE_WITH_TAX == 'true') && ($tax > 0) ) { ? ? ?return tep_round($price, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']) + tep_calculate_tax($price, $tax); ? ?} else { ? ? ?return tep_round($price, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']); ? ?} ?} // Calculates Tax rounding the result ?function tep_calculate_tax($price, $tax) { ? ?global $currencies; ? ?return tep_round($price * $tax / 100, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']); ?} ////// Return the number of products in a category// TABLES: products, products_to_categories, categories ?function tep_count_products_in_category($category_id, $include_inactive = false) { ? ?$products_count = 0; ? ?if ($include_inactive == true) { ? ? ?$products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$category_id . "'"); ? ?} else { ? ? ?$products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = p2c.products_id and p.products_status = '1' and p2c.categories_id = '" . (int)$category_id . "'"); ? ?} ? ?$products = tep_db_fetch_array($products_query); ? ?$products_count += $products['total']; ? ?$child_categories_query = tep_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$category_id . "'"); ? ?if (tep_db_num_rows($child_categories_query)) { ? ? ?while ($child_categories = tep_db_fetch_array($child_categories_query)) { ? ? ? ?$products_count += tep_count_products_in_category($child_categories['categories_id'], $include_inactive); ? ? ?} ? ?} ? ?return $products_count; ?} ////// Return true if the category has subcategories// TABLES: categories ?function tep_has_category_subcategories($category_id) { ? ?$child_category_query = tep_db_query("select count(*) as count from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$category_id . "'"); ? ?$child_category = tep_db_fetch_array($child_category_query); ? ?if ($child_category['count'] > 0) { ? ? ?return true; ? ?} else { ? ? ?return false; ? ?} ?} ////// Returns the address_format_id for the given country// TABLES: countries; ?function tep_get_address_format_id($country_id) { ? ?$address_format_query = tep_db_query("select address_format_id as format_id from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$country_id . "'"); ? ?if (tep_db_num_rows($address_format_query)) { ? ? ?$address_format = tep_db_fetch_array($address_format_query); ? ? ?return $address_format['format_id']; ? ?} else { ? ? ?return '1'; ? ?} ?} ////// Return a formatted address// TABLES: address_format ?function tep_address_format($address_format_id, $address, $html, $boln, $eoln) { ? ?$address_format_query = tep_db_query("select address_format as format from " . TABLE_ADDRESS_FORMAT . " where address_format_id = '" . (int)$address_format_id . "'"); ? ?$address_format = tep_db_fetch_array($address_format_query); ? ?$company = tep_output_string_protected($address['company']); ? ?if (isset($address['firstname']) && tep_not_null($address['firstname'])) { ? ? ?$firstname = tep_output_string_protected($address['firstname']); ? ? ?$lastname = tep_output_string_protected($address['lastname']); ? ?} elseif (isset($address['name']) && tep_not_null($address['name'])) { ? ? ?$firstname = tep_output_string_protected($address['name']); ? ? ?$lastname = ''; ? ?} else { ? ? ?$firstname = ''; ? ? ?$lastname = ''; ? ?} ? ?$street = tep_output_string_protected($address['street_address']); ? ?$suburb = tep_output_string_protected($address['suburb']); ? ?$city = tep_output_string_protected($address['city']); ? ?$state = tep_output_string_protected($address['state']); ? ?if (isset($address['country_id']) && tep_not_null($address['country_id'])) { ? ? ?$country = tep_get_country_name($address['country_id']); ? ? ?if (isset($address['zone_id']) && tep_not_null($address['zone_id'])) { ? ? ? ?$state = tep_get_zone_code($address['country_id'], $address['zone_id'], $state); ? ? ?} ? ?} elseif (isset($address['country']) && tep_not_null($address['country'])) { ? ? ?$country = tep_output_string_protected($address['country']); ? ?} else { ? ? ?$country = ''; ? ?} ? ?$postcode = tep_output_string_protected($address['postcode']); ? ?$zip = $postcode; ? ?if ($html) {// HTML Mode ? ? ?$HR = '<hr>'; ? ? ?$hr = '<hr>'; ? ? ?if ( ($boln == '') && ($eoln == "\n") ) { // Values not specified, use rational defaults ? ? ? ?$CR = '<br>'; ? ? ? ?$cr = '<br>'; ? ? ? ?$eoln = $cr; ? ? ?} else { // Use values supplied ? ? ? ?$CR = $eoln . $boln; ? ? ? ?$cr = $CR; ? ? ?} ? ?} else {// Text Mode ? ? ?$CR = $eoln; ? ? ?$cr = $CR; ? ? ?$HR = '----------------------------------------'; ? ? ?$hr = '----------------------------------------'; ? ?} ? ?$statecomma = ''; ? ?$streets = $street; ? ?if ($suburb != '') $streets = $street . $cr . $suburb; ? ?if ($country == '') $country = tep_output_string_protected($address['country']); ? ?if ($state != '') $statecomma = $state . ', '; ? ?$fmt = $address_format['format']; ? ?eval("\$address = \"$fmt\";"); ? ?if ( (ACCOUNT_COMPANY == 'true') && (tep_not_null($company)) ) { ? ? ?$address = $company . $cr . $address; ? ?} ? ?return $address; ?} ////// Return a formatted address// TABLES: customers, address_book ?function tep_address_label($customers_id, $address_id = 1, $html = false, $boln = '', $eoln = "\n") { ? ?$address_query = tep_db_query("select entry_firstname as firstname, entry_lastname as lastname, entry_company as company, entry_street_address as street_address, entry_suburb as suburb, entry_city as city, entry_postcode as postcode, entry_state as state, entry_zone_id as zone_id, entry_country_id as country_id from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customers_id . "' and address_book_id = '" . (int)$address_id . "'"); ? ?$address = tep_db_fetch_array($address_query); ? ?$format_id = tep_get_address_format_id($address['country_id']); ? ?return tep_address_format($format_id, $address, $html, $boln, $eoln); ?} ?function tep_row_number_format($number) { ? ?if ( ($number < 10) && (substr($number, 0, 1) != '0') ) $number = '0' . $number; ? ?return $number; ?} ?function tep_get_categories($categories_array = '', $parent_id = '0', $indent = '') { ? ?global $languages_id; ? ?if (!is_array($categories_array)) $categories_array = array(); ? ?$categories_query = tep_db_query("select c.categories_id, cd.categories_name from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where parent_id = '" . (int)$parent_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name"); ? ?while ($categories = tep_db_fetch_array($categories_query)) { ? ? ?$categories_array[] = array('id' => $categories['categories_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'text' => $indent . $categories['categories_name']); ? ? ?if ($categories['categories_id'] != $parent_id) { ? ? ? ?$categories_array = tep_get_categories($categories_array, $categories['categories_id'], $indent . ' '); ? ? ?} ? ?} ? ?return $categories_array; ?} ?function tep_get_manufacturers($manufacturers_array = '') { ? ?if (!is_array($manufacturers_array)) $manufacturers_array = array(); ? ?$manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name"); ? ?while ($manufacturers = tep_db_fetch_array($manufacturers_query)) { ? ? ?$manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'], 'text' => $manufacturers['manufacturers_name']); ? ?} ? ?return $manufacturers_array; ?} ////// Return all subcategory IDs// TABLES: categories ?function tep_get_subcategories(&$subcategories_array, $parent_id = 0) { ? ?$subcategories_query = tep_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$parent_id . "'"); ? ?while ($subcategories = tep_db_fetch_array($subcategories_query)) { ? ? ?$subcategories_array[sizeof($subcategories_array)] = $subcategories['categories_id']; ? ? ?if ($subcategories['categories_id'] != $parent_id) { ? ? ? ?tep_get_subcategories($subcategories_array, $subcategories['categories_id']); ? ? ?} ? ?} ?} // Output a raw date string in the selected locale date format// $raw_date needs to be in this format: YYYY-MM-DD HH:MM:SS ?function tep_date_long($raw_date) { ? ?if ( ($raw_date == '0000-00-00 00:00:00') || ($raw_date == '') ) return false; ? ?$year = (int)substr($raw_date, 0, 4); ? ?$month = (int)substr($raw_date, 5, 2); ? ?$day = (int)substr($raw_date, 8, 2); ? ?$hour = (int)substr($raw_date, 11, 2); ? ?$minute = (int)substr($raw_date, 14, 2); ? ?$second = (int)substr($raw_date, 17, 2); ? ?return strftime(DATE_FORMAT_LONG, mktime($hour,$minute,$second,$month,$day,$year)); ?} ////// Output a raw date string in the selected locale date format// $raw_date needs to be in this format: YYYY-MM-DD HH:MM:SS// NOTE: Includes a workaround for dates before 01/01/1970 that fail on windows servers ?function tep_date_short($raw_date) { ? ?if ( ($raw_date == '0000-00-00 00:00:00') || empty($raw_date) ) return false; ? ?$year = substr($raw_date, 0, 4); ? ?$month = (int)substr($raw_date, 5, 2); ? ?$day = (int)substr($raw_date, 8, 2); ? ?$hour = (int)substr($raw_date, 11, 2); ? ?$minute = (int)substr($raw_date, 14, 2); ? ?$second = (int)substr($raw_date, 17, 2); ? ?if (@date('Y', mktime($hour, $minute, $second, $month, $day, $year)) == $year) { ? ? ?return date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, $year)); ? ?} else { ? &nb[right][post=674181]<{POST_SNAPBACK}>[/post][/right]
OceanRanch Posted August 9, 2005 Posted August 9, 2005 You probably have white space at the end of the following file. /home/proshowe/public_html/store/includes/languages/english.php Delete the spaces and/or newlines per http://www.oscommerce.info/docs/english/e_...ready_sent.html and you should be good to go. HTH Tom
emailanj Posted August 9, 2005 Author Posted August 9, 2005 YES!!!!! That was it. Thanks soooo much!!! I feel so honored to be with mentors like yourself, Thanks for saving me many days of trying to trouble shoot this by my self and for teaching me what I need to look out for. Because of you and so many others I <b>can do this myself<b> (with a little help) Thanks again for your time and for helping me fix my delemia! Anj You probably have white space at the end of the following file. /home/proshowe/public_html/store/includes/languages/english.php Delete the spaces and/or newlines per http://www.oscommerce.info/docs/english/e_...ready_sent.html and you should be good to go. HTH Tom <{POST_SNAPBACK}>
Recommended Posts
Archived
This topic is now archived and is closed to further replies.