Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

dsatchell

Archived
  • Posts

    86
  • Joined

  • Last visited

Everything posted by dsatchell

  1. My cross sell is showing items that was sold with it. I've got the X-Sell installed along with Show Sold Items and it is working fine exept for one thing. When an item is sold it still shows up but is marked as sold. The problem is that the items that were purchased together show up in the cross-sell. For Instance: If I have product CJE044 crosssed with CJN044 it works perfect. But if a customer buys CJE044 and CJE068, then these two get cross-linked. The original cross link still works fine though, there's just an extra one between the items that were sold togther. Here's a link to the above example with CJN044BL01A. Any ideas on how to fix this? Thanx, Dave.
  2. At the top of you html_invoice.php make sure that it looks like this <?php /* $Id: invoice.php,v 5.1 2005/05/07 00:37:30 PopTheTop Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ class objectInfo { // class constructor function objectInfo($object_array) { reset($object_array); while (list($key, $value) = each($object_array)) { $this->$key = tep_db_prepare_input($value); } } } ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> I believe you are missing the "class objectInfo" part. I'm not very good at php but error at line 298 is the same error that I had before. FYI: You might get better help if you post the code your having problems with. Just make sure to use the CODE button. Dave.
  3. Has anyone checked out Fancier Invoice & Packingslip? This contrib emails a html invoice to the customer when they place an order. The really cool part is that with STS it looks like it would email the invoice placed inside the main page layout like where you would place $content. The only problem is that with STS it doesn't actually send the content. Here is what I'm talking about. Remember these are screenshots of the email that the customer would get and I haven't finished with the colors etc so they may not match. This is with STS DISABLED This is with STS ENABLED. What would be really awesome is to have the top image integrated with STS so that the email would look like it does when you view the invoice from the web page. Like this. I'm not a PHP programmer by any means, I can hack and slash but that's it. I would really like to someone get this integrated with STS and I think it is a really fantastic way to remind the customer about your store. Every time they open that email it's like they are visiting your store again. Anyone up to the challenge? :-" Dave.
  4. Change STORE_OWNER_EMAILS_FROM to STORE_OWNER in two places in the same file. Just do a search of that phrase in this forum and you will find it. Dave.
  5. If anyone gets this working with STS make sure you post the changes. It works fine when STS is turned off. 1. When STS is on you don't get anything in the content area of the confirmation email. 2. Viewing an order works fine. 3. When you try to print the order from the customer account it doesn't show anything in the content area. I'm going to try and get this working myself but I'm not holding my breath! Dave.
  6. I'm going to be changing all of colors and such but I wanted to get it working error free first. Since I don't know PHP and I can't run a debug mode like I can with VB.NET I like to keep my changes very limited so that I can keep a hand on what I've done and how it has affected anything else. I made the change above and all is working fine. Thanx Scooter and i look forward to the email portion being finished. This contrib will then truly be one of the best. Dave.
  7. I'm running STS but it doesn't matter if I turn it off or not I still get the same error with comments. I did try turning on debug mode but that didn't help any as it crashes in the processing of the file and never gets to the point of displaying the debug info. Anyways, I did do a screen shot of the crash and here it is If you need me to post some of my files just let me know which ones. Again, thanks for all of the work on this Scooter.
  8. I hope I'm not being a PITA but I'm still getting an error. I downloaded 5.2 and replaced all of the files in the email_invoice directory and lower. WITH COMMENTS I'm getting If I go into that file and remove the last } then I get If there is anything you need from me just let me know. I can even give you access to the files if that would help. I don't know if anyone else is getting this error or if I have just done something wrong but I don't think that I have. Thanx again for all of your work, Dave.
  9. Here is an update of what is happening with the code suggestions so far NO COMMENTS: * The checkout goes from CONFIRMATION to FINISHED to the MAIN PAGE and doesn't give the customer the option to print the invoice. Is this the way it is supposed to work? * The html email is received but the from has "STORE_OWNER_EMAILS_FROM_NAME [[email protected]]". The email has the web page layout but no actual order info. Is this the part that is not implemented yet? If it is then I will stop mentioning it. * The cart is not resetting. WITH COMMENTS: * When I have this code at the top of html_invoice.php <?php /* $Id: invoice.php,v 5.1 2005/05/07 00:37:30 PopTheTop Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ ?> <script language="javascript"><!-- // class constructor function objectInfo($object_array) { reset($object_array); while (list($key, $value) = each($object_array)) { $this->$key = tep_db_prepare_input($value); } } //--></script> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <title><?php echo STORE_NAME; ?> <?php echo INVOICE_TEXT_INVOICE; ?> <?php echo INVOICE_TEXT_NUMBER_SIGN; ?><?php echo INVOICE_TEXT_CURRENT_YEAR; ?><?php echo INVOICE_TEXT_DASH; ?><?php echo $oID; ?></title> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <link rel="stylesheet" type="text/css" href="<?php echo $ei_css_path; ?>stylesheet.css"> I get this error when the order process goes from CONFIRMATION to FINISHED: * When I have this code at the top of html_invoice.php <?php /* $Id: invoice.php,v 5.1 2005/05/07 00:37:30 PopTheTop Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); ?> <script language="javascript"><!-- // class constructor function objectInfo($object_array) { reset($object_array); while (list($key, $value) = each($object_array)) { $this->$key = tep_db_prepare_input($value); } } //--></script> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <title><?php echo STORE_NAME; ?> <?php echo INVOICE_TEXT_INVOICE; ?> <?php echo INVOICE_TEXT_NUMBER_SIGN; ?><?php echo INVOICE_TEXT_CURRENT_YEAR; ?><?php echo INVOICE_TEXT_DASH; ?><?php echo $oID; ?></title> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <link rel="stylesheet" type="text/css" href="<?php echo $ei_css_path; ?>stylesheet.css"> I get this error on a blank white page but the order does show as completed. * The cart does not reset. FYI: I am useing STS. If you want I can disable STS and see if I still have the same problems but it will be awhile before I can reply. Thanx, Dave.
  10. I guess I spoke too soon: 1. When the order has comments: I get in the comment box and I can't do anything else since there are no buttons the order shows up in the admin but no email is sent the cart is not reset even if you delete the shopping cart, the comment stays unless you log out and then log back in; even if you delete the item in the cart and add something else, it keeps the comment 2. When I place an order and don't put any comments: it sends an html email that looks like the web site layout but is blank (no order info) the email has STORE_OWNER_EMAILS_FROM_NAME in the from line the shopping cart doesn't reset and the product stays in the cart the invoice doesn't show so the customer doesn't get an option to print the invoice, they just get sent straight back to the main page I would like to say that from what I can see so far this looks to be awesome. I especially like how it sends the main page in the email. Thanx, Dave.
  11. I'm getting the same error but I installed 5.1 so my file is html_invoice.php but the same line. Any ideas? Dave.
  12. I could use some help on this please. I fixed the repeating folder name but when I upload the image and then click on PREVIEW, I don't get an image in the image box. I can see that it has the image name is just doesn't have the folder name in front. Here is my categories.php file. What am I missing? <?php/* $Id: categories.php,v 1.146 2003/07/11 14:40:27 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_CLASSES . 'currencies.php'); $currencies = new currencies(); $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : ''); if (tep_not_null($action)) { switch ($action) { case 'setflag': if ( ($HTTP_GET_VARS['flag'] == '0') || ($HTTP_GET_VARS['flag'] == '1') ) { if (isset($HTTP_GET_VARS['pID'])) { tep_set_product_status($HTTP_GET_VARS['pID'], $HTTP_GET_VARS['flag']); } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $HTTP_GET_VARS['cPath'] . '&pID=' . $HTTP_GET_VARS['pID'])); break; case 'insert_category': case 'update_category': if (isset($HTTP_POST_VARS['categories_id'])) $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']); $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $sql_data_array = array('sort_order' => $sort_order); if ($action == 'insert_category') { $insert_sql_data = array('parent_id' => $current_category_id, 'date_added' => 'now()'); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_CATEGORIES, $sql_data_array); $categories_id = tep_db_insert_id(); } elseif ($action == 'update_category') { $update_sql_data = array('last_modified' => 'now()'); $sql_data_array = array_merge($sql_data_array, $update_sql_data); tep_db_perform(TABLE_CATEGORIES, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "'"); } // images categories if ($action == 'update_category') { $old_dir_name = DIR_FS_CATALOG_IMAGES . tep_output_generated_category_path_fs($categories_id); } // images categories eof $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $categories_name_array = $HTTP_POST_VARS['categories_name']; $language_id = $languages[$i]['id']; $sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id])); if ($action == 'insert_category') { $insert_sql_data = array('categories_id' => $categories_id, 'language_id' => $languages[$i]['id']); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array); } elseif ($action == 'update_category') { tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'"); } } // images categories $dir_to_make = DIR_FS_CATALOG_IMAGES . tep_output_generated_category_path_fs($categories_id); if (is_dir($dir_to_make) == false) { if ($action == 'insert_category') { mkdir($dir_to_make,0755); chmod($dir_to_make,0777); } elseif ($action == 'update_category') { rename($old_dir_name, $dir_to_make); $db_folder = tep_output_generated_category_path_fs($categories_id); $products_renamed_query = tep_db_query("update products p, products_to_categories pc set p.products_image = concat('".$db_folder."', (substring_index(p.products_image, '/', -1))) where pc.products_id = p.products_id and pc.categories_id = '" . (int)$categories_id . "'"); $categories_renamed_query = tep_db_query("update categories set categories_image = concat('".$db_folder."', (substring_index(categories_image, '/', -1))) where categories_id = '" . (int)$categories_id . "'"); } } if ($categories_image = new upload('categories_image', $dir_to_make)) { $db_image_file_name = tep_output_generated_category_path_fs($categories_id) . $categories_image->filename; tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . tep_db_input($db_image_file_name) . "' where categories_id = '" . (int)$categories_id . "'"); } // images categories eof if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $categories_id)); break; case 'delete_category_confirm': if (isset($HTTP_POST_VARS['categories_id'])) { $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']); $categories = tep_get_category_tree($categories_id, '', '0', '', true); $products = array(); $products_delete = array(); for ($i=0, $n=sizeof($categories); $i<$n; $i++) { $product_ids_query = tep_db_query("select products_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$categories[$i]['id'] . "'"); while ($product_ids = tep_db_fetch_array($product_ids_query)) { $products[$product_ids['products_id']]['categories'][] = $categories[$i]['id']; } } reset($products); while (list($key, $value) = each($products)) { $category_ids = ''; for ($i=0, $n=sizeof($value['categories']); $i<$n; $i++) { $category_ids .= "'" . (int)$value['categories'][$i] . "', "; } $category_ids = substr($category_ids, 0, -2); $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$key . "' and categories_id not in (" . $category_ids . ")"); $check = tep_db_fetch_array($check_query); if ($check['total'] < '1') { $products_delete[$key] = $key; } } // removing categories can be a lengthy process tep_set_time_limit(0); for ($i=0, $n=sizeof($categories); $i<$n; $i++) { tep_remove_category($categories[$i]['id']); } reset($products_delete); while (list($key) = each($products_delete)) { tep_remove_product($key); } } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath)); break; case 'delete_product_confirm': if (isset($HTTP_POST_VARS['products_id']) && isset($HTTP_POST_VARS['product_categories']) && is_array($HTTP_POST_VARS['product_categories'])) { $product_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']); $product_categories = $HTTP_POST_VARS['product_categories']; for ($i=0, $n=sizeof($product_categories); $i<$n; $i++) { tep_db_query("delete from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$product_id . "' and categories_id = '" . (int)$product_categories[$i] . "'"); } $product_categories_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$product_id . "'"); $product_categories = tep_db_fetch_array($product_categories_query); if ($product_categories['total'] == '0') { tep_remove_product($product_id); } } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath)); break; case 'move_category_confirm': if (isset($HTTP_POST_VARS['categories_id']) && ($HTTP_POST_VARS['categories_id'] != $HTTP_POST_VARS['move_to_category_id'])) { $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']); $new_parent_id = tep_db_prepare_input($HTTP_POST_VARS['move_to_category_id']); $path = explode('_', tep_get_generated_category_path_ids($new_parent_id)); if (in_array($categories_id, $path)) { $messageStack->add_session(ERROR_CANNOT_MOVE_CATEGORY_TO_PARENT, 'error'); tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $categories_id)); } else { tep_db_query("update " . TABLE_CATEGORIES . " set parent_id = '" . (int)$new_parent_id . "', last_modified = now() where categories_id = '" . (int)$categories_id . "'"); if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $new_parent_id . '&cID=' . $categories_id)); } } break; case 'move_product_confirm': $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']); $new_parent_id = tep_db_prepare_input($HTTP_POST_VARS['move_to_category_id']); $duplicate_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$new_parent_id . "'"); $duplicate_check = tep_db_fetch_array($duplicate_check_query); if ($duplicate_check['total'] < 1) tep_db_query("update " . TABLE_PRODUCTS_TO_CATEGORIES . " set categories_id = '" . (int)$new_parent_id . "' where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$current_category_id . "'"); if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $new_parent_id . '&pID=' . $products_id)); break; case 'insert_product': case 'update_product': if (isset($HTTP_POST_VARS['edit_x']) || isset($HTTP_POST_VARS['edit_y'])) { $action = 'new_product'; } else { if (isset($HTTP_GET_VARS['pID'])) $products_id = tep_db_prepare_input($HTTP_GET_VARS['pID']); $products_date_available = tep_db_prepare_input($HTTP_POST_VARS['products_date_available']); $products_date_available = (date('Y-m-d') < $products_date_available) ? $products_date_available : 'null'; $sql_data_array = array('products_quantity' => tep_db_prepare_input($HTTP_POST_VARS['products_quantity']), 'products_model' => tep_db_prepare_input($HTTP_POST_VARS['products_model']), 'products_price' => tep_db_prepare_input($HTTP_POST_VARS['products_price']), 'products_date_available' => $products_date_available, 'products_weight' => tep_db_prepare_input($HTTP_POST_VARS['products_weight']), 'products_status' => tep_db_prepare_input($HTTP_POST_VARS['products_status']), 'products_tax_class_id' => tep_db_prepare_input($HTTP_POST_VARS['products_tax_class_id']), 'manufacturers_id' => tep_db_prepare_input($HTTP_POST_VARS['manufacturers_id'])); if (isset($HTTP_POST_VARS['products_image']) && tep_not_null($HTTP_POST_VARS['products_image']) && ($HTTP_POST_VARS['products_image'] != 'none')) { $product_query = tep_db_query("select products_image from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); $product = tep_db_fetch_array($product_query); // Check if image path is already in the DB if ($product['products_image'] != $HTTP_POST_VARS['products_image']){ // images categories $sql_data_array['products_image'] = tep_output_generated_category_path_fs($current_category_id) . tep_db_prepare_input($HTTP_POST_VARS['products_image']); // eof images categories } } if ($action == 'insert_product') { $insert_sql_data = array('products_date_added' => 'now()'); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_PRODUCTS, $sql_data_array); $products_id = tep_db_insert_id(); tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$current_category_id . "')"); } elseif ($action == 'update_product') { $update_sql_data = array('products_last_modified' => 'now()'); $sql_data_array = array_merge($sql_data_array, $update_sql_data); tep_db_perform(TABLE_PRODUCTS, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "'"); } $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $language_id = $languages[$i]['id']; $sql_data_array = array('products_name' => tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id]), 'products_description' => tep_db_prepare_input($HTTP_POST_VARS['products_description'][$language_id]), 'products_url' => tep_db_prepare_input($HTTP_POST_VARS['products_url'][$language_id]), // BoF Header Tag Controller 'products_head_title_tag' => tep_db_prepare_input($HTTP_POST_VARS['products_head_title_tag'][$language_id]), 'products_head_desc_tag' => tep_db_prepare_input($HTTP_POST_VARS['products_head_desc_tag'][$language_id]), 'products_head_keywords_tag' => tep_db_prepare_input($HTTP_POST_VARS['products_head_keywords_tag'][$language_id])); // EoF Header Tag Controller if ($action == 'insert_product') { $insert_sql_data = array('products_id' => $products_id, 'language_id' => $language_id); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array); } elseif ($action == 'update_product') { tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "' and language_id = '" . (int)$language_id . "'"); } } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products_id)); } break; case 'copy_to_confirm': if (isset($HTTP_POST_VARS['products_id']) && isset($HTTP_POST_VARS['categories_id'])) { $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']); $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']); if ($HTTP_POST_VARS['copy_as'] == 'link') { if ($categories_id != $current_category_id) { $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$categories_id . "'"); $check = tep_db_fetch_array($check_query); if ($check['total'] < '1') { tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categories_id . "')"); } } else { $messageStack->add_session(ERROR_CANNOT_LINK_TO_SAME_CATEGORY, 'error'); } } elseif ($HTTP_POST_VARS['copy_as'] == 'duplicate') { $product_query = tep_db_query("select products_quantity, products_model, products_image, products_price, products_date_available, products_weight, products_tax_class_id, manufacturers_id from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); $product = tep_db_fetch_array($product_query); tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "', now(), '" . tep_db_input($product['products_date_available']) . "', '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')"); $dup_products_id = tep_db_insert_id(); // BoF Header Tag Controller $description_query = tep_db_query("select language_id, products_name, products_description, products_head_title_tag, products_head_desc_tag, products_head_keywords_tag, products_url from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_id . "'"); // EoF Header Tag Controller while ($description = tep_db_fetch_array($description_query)) { // BoF Header Tag Controller tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description, products_head_title_tag, products_head_desc_tag, products_head_keywords_tag, products_url, products_viewed) values ('" . (int)$dup_products_id . "', '" . (int)$description['language_id'] . "', '" . tep_db_input($description['products_name']) . "', '" . tep_db_input($description['products_description']) . "', '" . tep_db_input($description['products_head_title_tag']) . "', '" . tep_db_input($description['products_head_desc_tag']) . "', '" . tep_db_input($description['products_head_keywords_tag']) . "', '" . tep_db_input($description['products_url']) . "', '0')"); // EoF Header Tag Controller } tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$dup_products_id . "', '" . (int)$categories_id . "')"); $products_id = $dup_products_id; } if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $categories_id . '&pID=' . $products_id)); break; case 'new_product_preview': // copy image only if modified $products_image = new upload('products_image'); // images categories $prod_path = $HTTP_GET_VARS['cPath']; $lchar = strrpos($prod_path, '_'); if ($lchar + 1 == 1) { $lachar = 0; } else { $lachar = $lchar + 1; } $prod_path_id = substr($prod_path, $lachar); $prod_folder = tep_output_generated_category_path_fs($prod_path_id); $products_image->set_destination(DIR_FS_CATALOG_IMAGES . $prod_folder); // eof images categories if ($products_image->parse() && $products_image->save()) { $products_image_name = $products_image->filename; } else { $products_image_name = (isset($HTTP_POST_VARS['products_previous_image']) ? $HTTP_POST_VARS['products_previous_image'] : ''); } break; } } // check if the catalog image directory exists if (is_dir(DIR_FS_CATALOG_IMAGES)) { if (!is_writeable(DIR_FS_CATALOG_IMAGES)) $messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_NOT_WRITEABLE, 'error'); } else { $messageStack->add(ERROR_CATALOG_IMAGE_DIRECTORY_DOES_NOT_EXIST, 'error'); } ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <script language="javascript" src="includes/general.js"></script> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();"> <div id="spiffycalendar" class="text"></div> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"> <?php if ($action == 'new_product') { $parameters = array('products_name' => '', 'products_description' => '', 'products_url' => '', 'products_id' => '', 'products_quantity' => '', 'products_model' => '', 'products_image' => '', 'products_price' => '', 'products_weight' => '', 'products_date_added' => '', 'products_last_modified' => '', 'products_date_available' => '', 'products_status' => '', 'products_tax_class_id' => '', 'manufacturers_id' => ''); $pInfo = new objectInfo($parameters); if (isset($HTTP_GET_VARS['pID']) && empty($HTTP_POST_VARS)) { // BoF Header Tag Controller $product_query = tep_db_query("select pd.products_name, pd.products_description, pd.products_head_title_tag, pd.products_head_desc_tag, pd.products_head_keywords_tag, pd.products_url, p.products_id, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, date_format(p.products_date_available, '%Y-%m-%d') as products_date_available, p.products_status, p.products_tax_class_id, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$HTTP_GET_VARS['pID'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'"); // EoF Header Tag Controller $product = tep_db_fetch_array($product_query); $pInfo->objectInfo($product); } elseif (tep_not_null($HTTP_POST_VARS)) { $pInfo->objectInfo($HTTP_POST_VARS); $products_name = $HTTP_POST_VARS['products_name']; $products_description = $HTTP_POST_VARS['products_description']; $products_url = $HTTP_POST_VARS['products_url']; } $manufacturers_array = array(array('id' => '', 'text' => TEXT_NONE)); $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']); } $tax_class_array = array(array('id' => '0', 'text' => TEXT_NONE)); $tax_class_query = tep_db_query("select tax_class_id, tax_class_title from " . TABLE_TAX_CLASS . " order by tax_class_title"); while ($tax_class = tep_db_fetch_array($tax_class_query)) { $tax_class_array[] = array('id' => $tax_class['tax_class_id'], 'text' => $tax_class['tax_class_title']); } $languages = tep_get_languages(); if (!isset($pInfo->products_status)) $pInfo->products_status = '1'; switch ($pInfo->products_status) { case '0': $in_status = false; $out_status = true; break; case '1': default: $in_status = true; $out_status = false; } ?> <link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css"> <script language="JavaScript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script> <script language="javascript"><!-- var dateAvailable = new ctlSpiffyCalendarBox("dateAvailable", "new_product", "products_date_available","btnDate1","<?php echo $pInfo->products_date_available; ?>",scBTNMODE_CUSTOMBLUE); //--></script> <script language="javascript"><!-- var tax_rates = new Array(); <?php for ($i=0, $n=sizeof($tax_class_array); $i<$n; $i++) { if ($tax_class_array[$i]['id'] > 0) { echo 'tax_rates["' . $tax_class_array[$i]['id'] . '"] = ' . tep_get_tax_rate_value($tax_class_array[$i]['id']) . ';' . "\n"; } } ?> function doRound(x, places) { return Math.round(x * Math.pow(10, places)) / Math.pow(10, places); } function getTaxRate() { var selected_value = document.forms["new_product"].products_tax_class_id.selectedIndex; var parameterVal = document.forms["new_product"].products_tax_class_id[selected_value].value; if ( (parameterVal > 0) && (tax_rates[parameterVal] > 0) ) { return tax_rates[parameterVal]; } else { return 0; } } function updateGross() { var taxRate = getTaxRate(); var grossValue = document.forms["new_product"].products_price.value; if (taxRate > 0) { grossValue = grossValue * ((taxRate / 100) + 1); } document.forms["new_product"].products_price_gross.value = doRound(grossValue, 4); } function updateNet() { var taxRate = getTaxRate(); var netValue = document.forms["new_product"].products_price_gross.value; if (taxRate > 0) { netValue = netValue / ((taxRate / 100) + 1); } document.forms["new_product"].products_price.value = doRound(netValue, 4); } //--></script> <?php echo tep_draw_form('new_product', FILENAME_CATEGORIES, 'cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '') . '&action=new_product_preview', 'post', 'enctype="multipart/form-data"'); ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo sprintf(TEXT_NEW_PRODUCT, tep_output_generated_category_path($current_category_id)); ?></td> <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td><table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main"><?php echo TEXT_PRODUCTS_STATUS; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_radio_field('products_status', '1', $in_status) . ' ' . TEXT_PRODUCT_AVAILABLE . ' ' . tep_draw_radio_field('products_status', '0', $out_status) . ' ' . TEXT_PRODUCT_NOT_AVAILABLE; ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo TEXT_PRODUCTS_DATE_AVAILABLE; ?><br><small>(YYYY-MM-DD)</small></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' '; ?><script language="javascript">dateAvailable.writeControl(); dateAvailable.dateFormat="yyyy-MM-dd";</script></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo TEXT_PRODUCTS_MANUFACTURER; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_pull_down_menu('manufacturers_id', $manufacturers_array, $pInfo->manufacturers_id); ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td class="main"><?php if ($i == 0) echo TEXT_PRODUCTS_NAME; ?></td> <td class="main"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('products_name[' . $languages[$i]['id'] . ']', (isset($products_name[$languages[$i]['id']]) ? $products_name[$languages[$i]['id']] : tep_get_products_name($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> <?php } ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr bgcolor="#ebebff"> <td class="main"><?php echo TEXT_PRODUCTS_TAX_CLASS; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_pull_down_menu('products_tax_class_id', $tax_class_array, $pInfo->products_tax_class_id, 'onchange="updateGross()"'); ?></td> </tr> <tr bgcolor="#ebebff"> <td class="main"><?php echo TEXT_PRODUCTS_PRICE_NET; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_price', $pInfo->products_price, 'onKeyUp="updateGross()"'); ?></td> </tr> <tr bgcolor="#ebebff"> <td class="main"><?php echo TEXT_PRODUCTS_PRICE_GROSS; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_price_gross', $pInfo->products_price, 'OnKeyUp="updateNet()"'); ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <script language="javascript"><!-- updateGross(); //--></script> <?php for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_DESCRIPTION; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_description[' . $languages[$i]['id'] . ']', 'soft', '70', '15', (isset($products_description[$languages[$i]['id']]) ? $products_description[$languages[$i]['id']] : tep_get_products_description($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } // BoF Header Tag Controller ?> <tr> <td colspan="2" class="main"><hr><?php echo TEXT_PRODUCT_METTA_INFO; ?></td> </tr> <?php for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_PAGE_TITLE; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_head_title_tag[' . $languages[$i]['id'] . ']', 'soft', '70', '5', (isset($products_head_title_tag[$languages[$i]['id']]) ? $products_head_title_tag[$languages[$i]['id']] : tep_get_products_head_title_tag($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_HEADER_DESCRIPTION; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_head_desc_tag[' . $languages[$i]['id'] . ']', 'soft', '70', '5', (isset($products_head_desc_tag[$languages[$i]['id']]) ? $products_head_desc_tag[$languages[$i]['id']] : tep_get_products_head_desc_tag($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_KEYWORDS; ?></td> <td><table border="0" cellspacing="0" cellpadding="0">
  13. I'm having a problem with an extra space between two infoboxes. The space is caused by a SSL box that only appears when SSL is active. The problem is that STS is putting two <BR> in a row even though the SSL infobox is not visible. This does not happen when I disable STS and it looks correct when the SSL Infobox is showing. If you look between the "My Wishlist" and the "What's New" you can see what I'm talking about. The web page is Christina J's. Is there a way to keep STS from displaying the infobox if SSL is not active or maybe a code I can add to remove the extra <BR>? I have tried this code if ($HTTP_SERVER_VARS["SERVER_PORT"]=='443') { require(DIR_WS_BOXES . 'ssl.php'); } in the column_left.php file and in the display_output.php file but it still puts the double <BR>. Thanx, Dave.
  14. Fourbit you da' man! I had noticed that code but it never occured to me that it would through that bar at the top. Thank you very much! Dave.
  15. I have been working on this for two days now and still can't fix it. I even restored a back-up from four days ago and I still have the background bar under the breadcrumb. It has to be with STS because if I turn STS off I don't have the bar. Additionally, with STS running I get messages at the bottom of IE saying "Done, but with errors on page." I don't get these errors when I turn STS off. I've tried the debugging but I don't see anything wrong and I tried the code in application_top.php like LindaBee but I'm not seeing anything from it either. Here is the interesting part. If I go into any section of the web site that is using SSL, the bar goes away and the pages displays as intended. Please help.
  16. I need help removing a large empty bar under the breadcrumb trail that has nothing in it. I made several changes last nite to my wifes webpage and everything looked good when I finished. Today I notice that I have this large blank bar under the breadcrumb trail and before the categories/content. I don't remember this from last nite but I'm sure it is something that I did but I don't know where to start looking without looking at everything. I would really appreciate it if someone could give me a few pointers as to what files could be affecting this portion of the page. Thanx, Dave.
  17. I installed Header Tags 2.3.7 and just recently installed STS. Everything is working fine. I'm about to start adding all of my products and I was wondering if there is an easier way to populate the meta tag fields than re-typing everything. Ideally I would like a button that I could click and it would copy everything and then I could make corrections before clicking the preview button. Is there anything like this considering I'm using STS? Thanx, Dave.
  18. I'm having this same problem with the Categories and Products Images Folder Tree v1.2 but I'm using DynamicMoPics. It work really nice with the catecory subdirectories, I just upload the main image such as cjn0009bl.jpg and then the additional images as cjn0009bl-1.jpg, cjn0009bl-2.jpg, etc. and no matter how many there are it reads them and inserts them into the product description but I don't have to make the thumbnails as with DynamicMoPics. But like everyone else, if I edit the product and don't upload a new image it adds on the directory name again. Dave.
  19. I did finally figure out that my column_left.php had an unclosed IF ELSE statement at the very bottom of the file. But I'm still concerned as to why my original column_right.php has so much more code than the column_right.php that I pulled from the zip file? Dave.
  20. In trying to fix a problem with the display of my right column I reloaded STS with the original files. Everything started working correctly but without any changes that I had made, just the default install. Then I started comparing my old files with the default files and I don't know how but the default column_right.php is radically different than my modified file. I didn't add all of the extra code so what is going on? The other thing is that the text on the $ID line is different so I'm thinking that somehow I managed to load an old version one time or the other. Here is the code from each file, they are both column_right.php Default STS file that I reverted to: <?php /* $Id: column_right.php,v 1.1 2003/09/08 19:26:22 jhtalk Exp jhtalk $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ // STS: ADD $sts_block_name = 'columnleft2columnright'; require(STS_RESTART_CAPTURE); // STS: EOADD require(DIR_WS_BOXES . 'reviews.php'); // STS: ADD $sts_block_name = 'reviewsbox'; require(STS_RESTART_CAPTURE); ?> File that was on my server when I was having problems: <?php /* $Id: column_right.php,v 1.17 2003/06/09 22:06:41 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require(DIR_WS_BOXES . 'shopping_cart.php'); // MY_WISHLIST v1.0 include(DIR_WS_BOXES . 'wishlist.php'); // MY_WISHLIST v1.0 // if (isset($HTTP_GET_VARS['products_id'])) include(DIR_WS_BOXES . 'manufacturer_info.php'); require(DIR_WS_BOXES . 'search.php'); require(DIR_WS_BOXES . 'ssl.php'); require(DIR_WS_BOXES . 'information.php'); include(DIR_WS_BOXES . 'currencies.php'); // if (tep_session_is_registered('customer_id')) include(DIR_WS_BOXES . 'order_history.php'); // if (isset($HTTP_GET_VARS['products_id'])) { // if (tep_session_is_registered('customer_id')) { // $check_query = tep_db_query("select count(*) as count from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . (int)$customer_id . "' and global_product_notifications = '1'"); // $check = tep_db_fetch_array($check_query); // if ($check['count'] > 0) { // include(DIR_WS_BOXES . 'best_sellers.php'); // } else { // include(DIR_WS_BOXES . 'product_notifications.php'); // } // } else { // include(DIR_WS_BOXES . 'product_notifications.php'); // } // } else { // include(DIR_WS_BOXES . 'best_sellers.php'); // } // if (isset($HTTP_GET_VARS['products_id'])) { // if (basename($PHP_SELF) != FILENAME_TELL_A_FRIEND) include(DIR_WS_BOXES . 'tell_a_friend.php'); // } else { // include(DIR_WS_BOXES . 'specials.php'); // } // STS: ADD $sts_block_name = 'columnleft2columnright'; require(STS_RESTART_CAPTURE); // STS: EOADD require(DIR_WS_BOXES . 'reviews.php'); // STS: ADD $sts_block_name = 'reviewsbox'; require(STS_RESTART_CAPTURE); // STS: EOADD // if (substr(basename($PHP_SELF), 0, 8) != 'checkout') { // include(DIR_WS_BOXES . 'languages.php'); // include(DIR_WS_BOXES . 'currencies.php'); // } ?> I would really appreciate if someone could give me an idea as to why these two versions of the same file are so different when I only made a few changes to the bottom code window. Thanx, Dave.
  21. Still having problems with the footer and right column Iggy, I appreciate the effort but I think my problem is a little more cryptic. I have since gone through and commented almost everything out of the left and right columns and all of the code that I added to the sts display and user_code files. I've gotten it to the point that when you are looking at one of the products, all of the sections display correctly. BUT, on most (not all) other pages, the footer appears embedded in the right hand column. I would really appreciate some help on this as I have spent 2-3 days working on this and I'm not sure what to do next. Thanx, Dave.
  22. Could someone please help me get my right column and footer fixed!? I can't seem to find a good explanation of the right and left columns. I've been able to cludge my way around them so far but now I've run into a problem that I just can't get figured out with the right column. The right column is messed up and the footer keeps trying to reside inside of the right column even though in the template file it is at the bottom in its own table. Here is the link to my wifes site and I would really appreciate some help: Christina J's Jewelry Thanx, Dave.
  23. I'm setting up a web site for my wifes jewelry and I've installed STS so that I can apply the following template: Wifes Desired Web Page. My problem is that I can't quite figure out the best way to merge STS/osC with that template. I'm not sure how I would overlay a table over the graphics or if the template layout just won't work well with STS. I would really appreciate any suggestions, help, guidance. Thanx, Dave.
  24. I'm confused as to what defines which column an info box is to appear in. Is it the sts_template.html, sts_display_output.php, or the column_left.php / column_right.php file? Thanx, Dave.
  25. I'm putting together a site for my wifes jewelry business and I need some help getting the right and left colums fixed. Her site is Christina J's Jewelry. 1. On the left column, how do I make all of the info boxes the same width? 2. On the right column, why am I getting info boxes showing up multiple times and why are they inside of the "Tell A Friend" box? Thanx, Dave.
×
×
  • Create New...