Guest Posted October 8, 2003 Share Posted October 8, 2003 You can see the problem at: Tea Herb Farm How do you switch languages? I don't see a language choice box. Cheers, Matt Quote Link to comment Share on other sites More sharing options...
Guest Posted October 8, 2003 Share Posted October 8, 2003 Warning: Cannot modify header information - headers already sent byThis error is usually caused by whitespace at the end of the file. It can also be caused by odd characters in the middle of the file or a serious error that aborts the file. If the last, there normally is another error listed, which is the real error. You can also see wiki.oscommerce.com/helpErrors the next time the site's up. Hth, Matt Quote Link to comment Share on other sites More sharing options...
mvp Posted October 8, 2003 Share Posted October 8, 2003 (mvp @ Oct 5 2003, 12:14 AM)You can see the problem at: Tea Herb Farm How do you switch languages? I don't see a language choice box. I removed the language choice box. I decided to just go w/ english language for my shop, too much trouble to convert product descriptions for over 4000 products. I went through the installation instructions again and found that I had ommited an addition to the catalog/index.php file. Everything appears to be working correctly now. Thank you for responding to my plea for help. MVP Quote Link to comment Share on other sites More sharing options...
Guest Posted October 9, 2003 Share Posted October 9, 2003 Hi All... I have this contribution installed and functional on my customers site... but here's the catch. Let me explain... My client sells ATV and Motorcycle parts. Each indivudual part has many variations like size and color for year/make/model, etc...., and each variation of each part has its own Part#. I think it would be redundant to setup a different product for each different variation just because the color is different. I thought about using attributes for each part variation, but rather than attempting to manually add upwards of 100 different parts variations as attributes per individual Part (can't use Easy Populate for attributes :( ), I decided to use a category with category descriptions to display each product and all of its variations. You can see what I am talking about HERE. Its a fairly clean way to accomplish what I am trying to do, AND... I can use Easy Populate. Well, kinda. Which brings me to my question... I need to populate each of these Categories with descriptions. I would love to use EasyPopulate for this task, but all it does now is the Category/SubCategory Name. What else can be done to facilitate the population of literally hundreds, if not thousands of Categories and Category Descriptions? Doing this manually could take me months! Has anyone integrated Category Descriptions with EasyPoplulate? Any other other ideas and/or suggestions? Thanks. -R Quote Link to comment Share on other sites More sharing options...
Toe Knee<br> Posted October 9, 2003 Share Posted October 9, 2003 Hi, Thanks iiinetworks, it looks like that should do the trick. I'll try getting it working later. Thanks again. Toe Knee Quote Link to comment Share on other sites More sharing options...
maxemus Posted October 18, 2003 Share Posted October 18, 2003 Hey peoples. a whole file would be a nice thing for MS2 Quote Link to comment Share on other sites More sharing options...
Angie201 Posted November 13, 2003 Share Posted November 13, 2003 Please HELP... I have tried to install this contribution and I'm getting this error on the category page 1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'from categories c, categories_description cd where c.categories select cd.categories_name, c.categories_image, cd.categories_heading_title, cd.categories_description, from categories c, categories_description cd where c.categories_id = '21' and cd.categories_id = '21' and cd.language_id = '1' what have I done wrong and how do I fix it ... Please help. Quote Link to comment Share on other sites More sharing options...
Guest Posted November 13, 2003 Share Posted November 13, 2003 Hiya Angie... Its simple. All ya have to do is change... cd.categories_descriptions, from to cd.categories_descriptions from Basically, just remove the comma. That should do it. Hope this helps. -R Quote Link to comment Share on other sites More sharing options...
Guest Posted November 15, 2003 Share Posted November 15, 2003 I installed this contribution, but I get an error message when I try to preview the added description page in my catalog admin: Fatal error: Cannot instantiate non-existent class: upload in /home/janika/hokuouya-www/catalog/admin/categories.php on line 451 Please! Please! Help!!! me... My categories.php looks like this: require('includes/application_top.php'); require('includes/functions/categories_description.php'); require(DIR_WS_CLASSES . 'currencies.php'); $currencies = new currencies(); if ($HTTP_GET_VARS['action']) { switch ($HTTP_GET_VARS['action']) { case 'setflag': if ( ($HTTP_GET_VARS['flag'] == '0') || ($HTTP_GET_VARS['flag'] == '1') ) { if ($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'])); break; case 'new_category': case 'edit_category': if (ALLOW_CATEGORY_DESCRIPTIONS == 'true') $HTTP_GET_VARS['action']=$HTTP_GET_VARS['action'] . '_ACD'; break; case 'insert_category': case 'update_category': if ( ($HTTP_POST_VARS['edit_x']) || ($HTTP_POST_VARS['edit_y']) ) { $HTTP_GET_VARS['action'] = 'edit_category_ACD'; } else { if (isset($HTTP_POST_VARS['categories_id'])) $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']); if ($categories_id == '') { $categories_id = tep_db_prepare_input($HTTP_GET_VARS['cID']); } $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $sql_data_array = array('sort_order' => $sort_order); if ($HTTP_GET_VARS['action'] == 'insert_category') { $insert_sql_data = array('parent_id' => $current_category_id, 'date_added' => 'now()'); $sql_data_array = tep_array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_CATEGORIES, $sql_data_array); $categories_id = tep_db_insert_id(); } elseif ($HTTP_GET_VARS['action'] == 'update_category') { $update_sql_data = array('last_modified' => 'now()'); $sql_data_array = tep_array_merge($sql_data_array, $update_sql_data); tep_db_perform(TABLE_CATEGORIES, $sql_data_array, 'update', 'categories_id = \'' . $categories_id . '\''); } $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 (ALLOW_CATEGORY_DESCRIPTIONS == 'true') { $sql_data_array = array('categories_name' => tep_db_prepare_input($HTTP_POST_VARS['categories_name'][$language_id]), 'categories_heading_title' => tep_db_prepare_input($HTTP_POST_VARS['categories_heading_title'][$language_id]), 'categories_description' => tep_db_prepare_input($HTTP_POST_VARS['categories_description'][$language_id])); } if ($HTTP_GET_VARS['action'] == 'insert_category') { $insert_sql_data = array('categories_id' => $categories_id, 'language_id' => $languages[$i]['id']); $sql_data_array = tep_array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array); } elseif ($HTTP_GET_VARS['action'] == 'update_category') { tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array, 'update', 'categories_id = \'' . $categories_id . '\' and language_id = \'' . $languages[$i]['id'] . '\''); } } $categories_image = tep_get_uploaded_file('categories_image'); $image_directory = tep_get_local_path(DIR_FS_CATALOG_IMAGES); if (ALLOW_CATEGORY_DESCRIPTIONS == 'true') { tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . $HTTP_POST_VARS['categories_image'] . "' where categories_id = '" . tep_db_input($categories_id) . "'"); $categories_image = ''; } else { if ($categories_image = new upload('categories_image', DIR_FS_CATALOG_IMAGES)) { tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . tep_db_input($categories_image->filename) . "' 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=' . $cPath . '&cID=' . $categories_id)); } break; case 'delete_category_confirm': if ($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 = '" . $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 .= '\'' . $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 = '" . $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 ( ($HTTP_POST_VARS['products_id']) && (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 = '" . tep_db_input($product_id) . "' and categories_id = '" . tep_db_input($product_categories[$i]) . "'"); } $product_categories_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . tep_db_input($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 ( ($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']); tep_db_query("update " . TABLE_CATEGORIES . " set parent_id = '" . tep_db_input($new_parent_id) . "', last_modified = now() where categories_id = '" . tep_db_input($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 = '" . tep_db_input($products_id) . "' and categories_id = '" . tep_db_input($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 = '" . tep_db_input($new_parent_id) . "' where products_id = '" . tep_db_input($products_id) . "' and categories_id = '" . $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 ( ($HTTP_POST_VARS['edit_x']) || ($HTTP_POST_VARS['edit_y']) ) { $HTTP_GET_VARS['action'] = 'new_product'; } else { $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_image' => (($HTTP_POST_VARS['products_image'] == 'none') ? '' : tep_db_prepare_input($HTTP_POST_VARS['products_image'])), '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 ($HTTP_GET_VARS['action'] == 'insert_product') { $insert_sql_data = array('products_date_added' => 'now()'); $sql_data_array = tep_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 ('" . $products_id . "', '" . $current_category_id . "')"); } elseif ($HTTP_GET_VARS['action'] == 'update_product') { $update_sql_data = array('products_last_modified' => 'now()'); $sql_data_array = tep_array_merge($sql_data_array, $update_sql_data); tep_db_perform(TABLE_PRODUCTS, $sql_data_array, 'update', 'products_id = \'' . tep_db_input($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])); if ($HTTP_GET_VARS['action'] == 'insert_product') { $insert_sql_data = array('products_id' => $products_id, 'language_id' => $language_id); $sql_data_array = tep_array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array); } elseif ($HTTP_GET_VARS['action'] == 'update_product') { tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', 'products_id = \'' . tep_db_input($products_id) . '\' and language_id = \'' . $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 ( (tep_not_null($HTTP_POST_VARS['products_id'])) && (tep_not_null($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 ($HTTP_POST_VARS['categories_id'] != $current_category_id) { $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . tep_db_input($products_id) . "' and categories_id = '" . tep_db_input($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 ('" . tep_db_input($products_id) . "', '" . tep_db_input($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 = '" . tep_db_input($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 ('" . $product['products_quantity'] . "', '" . $product['products_model'] . "', '" . $product['products_image'] . "', '" . $product['products_price'] . "', now(), '" . $product['products_date_available'] . "', '" . $product['products_weight'] . "', '0', '" . $product['products_tax_class_id'] . "', '" . $product['manufacturers_id'] . "')"); $dup_products_id = tep_db_insert_id(); $description_query = tep_db_query("select language_id, products_name, products_description, products_url from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . tep_db_input($products_id) . "'"); while ($description = tep_db_fetch_array($description_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description, products_url, products_viewed) values ('" . $dup_products_id . "', '" . $description['language_id'] . "', '" . addslashes($description['products_name']) . "', '" . addslashes($description['products_description']) . "', '" . $description['products_url'] . "', '0')"); } tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . $dup_products_id . "', '" . tep_db_input($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; } } // 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"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php //----- new_category / edit_category (when ALLOW_CATEGORY_DESCRIPTIONS is 'true') ----- if ($HTTP_GET_VARS['action'] == 'new_category_ACD' || $HTTP_GET_VARS['action'] == 'edit_category_ACD') { if ( ($HTTP_GET_VARS['cID']) && (!$HTTP_POST_VARS) ) { $categories_query = tep_db_query("select c.categories_id, cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . $HTTP_GET_VARS['cID'] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . $languages_id . "' order by c.sort_order, cd.categories_name"); $category = tep_db_fetch_array($categories_query); $cInfo = new objectInfo($category); } elseif ($HTTP_POST_VARS) { $cInfo = new objectInfo($HTTP_POST_VARS); $categories_name = $HTTP_POST_VARS['categories_name']; $categories_heading_title = $HTTP_POST_VARS['categories_heading_title']; $categories_description = $HTTP_POST_VARS['categories_description']; $categories_url = $HTTP_POST_VARS['categories_url']; } else { $cInfo = new objectInfo(array()); } $languages = tep_get_languages(); $text_new_or_edit = ($HTTP_GET_VARS['action']=='new_category_ACD') ? TEXT_INFO_HEADING_NEW_CATEGORY : TEXT_INFO_HEADING_EDIT_CATEGORY; ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo sprintf($text_new_or_edit, 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><?php echo tep_draw_form('new_category', FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $HTTP_GET_VARS['cID'] . '&action=new_category_preview', 'post', 'enctype="multipart/form-data"'); ?> <td><table border="0" cellspacing="0" cellpadding="2"> <?php for ($i=0; $i<sizeof($languages); $i++) { ?> <tr> <td class="main"><?php if ($i == 0) echo TEXT_EDIT_CATEGORIES_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('categories_name[' . $languages[$i]['id'] . ']', (($categories_name[$languages[$i]['id']]) ? stripslashes($categories_name[$languages[$i]['id']]) : tep_get_category_name($cInfo->categories_id, $languages[$i]['id']))); ?></td> </tr> <?php } ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php for ($i=0; $i<sizeof($languages); $i++) { ?> <tr> <td class="main"><?php if ($i == 0) echo TEXT_EDIT_CATEGORIES_HEADING_TITLE; ?></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('categories_heading_title[' . $languages[$i]['id'] . ']', (($categories_name[$languages[$i]['id']]) ? stripslashes($categories_name[$languages[$i]['id']]) : tep_get_category_heading_title($cInfo->categories_id, $languages[$i]['id']))); ?></td> </tr> <?php } ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php for ($i=0; $i<sizeof($languages); $i++) { ?> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_EDIT_CATEGORIES_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('categories_description[' . $languages[$i]['id'] . ']', 'soft', '70', '15', (($categories_description[$languages[$i]['id']]) ? stripslashes($categories_description[$languages[$i]['id']]) : tep_get_category_description($cInfo->categories_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <tr> <td class="main"><?php echo TEXT_EDIT_CATEGORIES_IMAGE; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_file_field('categories_image') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . $cInfo->categories_image . tep_draw_hidden_field('categories_previous_image', $cInfo->categories_image); ?></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_EDIT_SORT_ORDER; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('sort_order', $cInfo->sort_order, 'size="2"'); ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" align="right"><?php echo tep_draw_hidden_field('categories_date_added', (($cInfo->date_added) ? $cInfo->date_added : date('Y-m-d'))) . tep_draw_hidden_field('parent_id', $cInfo->parent_id) . tep_image_submit('button_preview.gif', IMAGE_PREVIEW) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $HTTP_GET_VARS['cID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td> </form></tr> <?php //----- new_category_preview (active when ALLOW_CATEGORY_DESCRIPTIONS is 'true') ----- } elseif ($HTTP_GET_VARS['action'] == 'new_category_preview') { if ($HTTP_POST_VARS) { $cInfo = new objectInfo($HTTP_POST_VARS); $categories_name = $HTTP_POST_VARS['categories_name']; $categories_heading_title = $HTTP_POST_VARS['categories_heading_title']; $categories_description = $HTTP_POST_VARS['categories_description']; // copy image only if modified $categories_image = new upload('categories_image'); $categories_image->set_destination(DIR_FS_CATALOG_IMAGES); if ($categories_image->parse() && $categories_image->save()) { $categories_image_name = $categories_image->filename; } else { $categories_image_name = $HTTP_POST_VARS['categories_previous_image']; } # if ( ($categories_image != 'none') && ($categories_image != '') ) { # $image_location = DIR_FS_CATALOG_IMAGES . $categories_image_name; # if (file_exists($image_location)) @unlink($image_location); # copy($categories_image, $image_location); # } else { # $categories_image_name = $HTTP_POST_VARS['categories_previous_image']; # } } else { $category_query = tep_db_query("select c.categories_id, cd.language_id, cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image, c.sort_order, c.date_added, c.last_modified from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and c.categories_id = '" . $HTTP_GET_VARS['cID'] . "'"); $category = tep_db_fetch_array($category_query); $cInfo = new objectInfo($category); $categories_image_name = $cInfo->categories_image; } $form_action = ($HTTP_GET_VARS['cID']) ? 'update_category' : 'insert_category'; echo tep_draw_form($form_action, FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $HTTP_GET_VARS['cID'] . '&action=' . $form_action, 'post', 'enctype="multipart/form-data"'); $languages = tep_get_languages(); for ($i=0; $i<sizeof($languages); $i++) { if ($HTTP_GET_VARS['read'] == 'only') { $cInfo->categories_name = tep_get_category_name($cInfo->categories_id, $languages[$i]['id']); $cInfo->categories_heading_title = tep_get_category_heading_title($cInfo->categories_id, $languages[$i]['id']); $cInfo->categories_description = tep_get_category_description($cInfo->categories_id, $languages[$i]['id']); } else { $cInfo->categories_name = tep_db_prepare_input($categories_name[$languages[$i]['id']]); $cInfo->categories_heading_title = tep_db_prepare_input($categories_heading_title[$languages[$i]['id']]); $cInfo->categories_description = tep_db_prepare_input($categories_description[$languages[$i]['id']]); } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . $cInfo->categories_heading_title; ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo tep_image(DIR_WS_CATALOG_IMAGES . $categories_image_name, $cInfo->categories_name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'align="right" hspace="5" vspace="5"') . $cInfo->categories_description; ?></td> </tr> <?php } if ($HTTP_GET_VARS['read'] == 'only') { if ($HTTP_GET_VARS['origin']) { $pos_params = strpos($HTTP_GET_VARS['origin'], '?', 0); if ($pos_params != false) { $back_url = substr($HTTP_GET_VARS['origin'], 0, $pos_params); $back_url_params = substr($HTTP_GET_VARS['origin'], $pos_params + 1); } else { $back_url = $HTTP_GET_VARS['origin']; $back_url_params = ''; } } else { $back_url = FILENAME_CATEGORIES; $back_url_params = 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id; } ?> <tr> <td align="right"><?php echo '<a href="' . tep_href_link($back_url, $back_url_params, 'NONSSL') . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td> </tr> <?php } else { ?> <tr> <td align="right" class="smallText"> <?php /* Re-Post all POST'ed variables */ reset($HTTP_POST_VARS); while (list($key, $value) = each($HTTP_POST_VARS)) { if (!is_array($HTTP_POST_VARS[$key])) { echo tep_draw_hidden_field($key, htmlspecialchars(stripslashes($value))); } } $languages = tep_get_languages(); for ($i=0; $i<sizeof($languages); $i++) { echo tep_draw_hidden_field('categories_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($categories_name[$languages[$i]['id']]))); echo tep_draw_hidden_field('categories_heading_title[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($categories_heading_title[$languages[$i]['id']]))); echo tep_draw_hidden_field('categories_description[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($categories_description[$languages[$i]['id']]))); } echo tep_draw_hidden_field('X_categories_image', stripslashes($categories_image_name)); echo tep_draw_hidden_field('categories_image', stripslashes($categories_image_name)); echo tep_image_submit('button_back.gif', IMAGE_BACK, 'name="edit"') . ' '; if ($HTTP_GET_VARS['cID']) { echo tep_image_submit('button_update.gif', IMAGE_UPDATE); } else { echo tep_image_submit('button_insert.gif', IMAGE_INSERT); } echo ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $HTTP_GET_VARS['cID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td> </form></tr> <?php } } elseif ($HTTP_GET_VARS['action'] == 'new_product') { if ( ($HTTP_GET_VARS['pID']) && (!$HTTP_POST_VARS) ) { $product_query = tep_db_query("select pd.products_name, pd.products_description, 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 = '" . $HTTP_GET_VARS['pID'] . "' and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "'"); $product = tep_db_fetch_array($product_query); $pInfo = new objectInfo($product); } elseif ($HTTP_POST_VARS) { $pInfo = new 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']; } else { $pInfo = new objectInfo(array()); } $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(); 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> <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><?php echo tep_draw_form('new_product', FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID'] . '&action=new_product_preview', 'post', 'enctype="multipart/form-data"'); ?> <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'] . ']', (($products_name[$languages[$i]['id']]) ? stripslashes($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> <?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', (($products_description[$languages[$i]['id']]) ? stripslashes($products_description[$languages[$i]['id']]) : tep_get_products_description($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo TEXT_PRODUCTS_QUANTITY; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_quantity', $pInfo->products_quantity); ?></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_MODEL; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_model', $pInfo->products_model); ?></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_IMAGE; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_file_field('products_image') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . $pInfo->products_image . tep_draw_hidden_field('products_previous_image', $pInfo->products_image); ?></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_URL . '<br><small>' . TEXT_PRODUCTS_URL_WITHOUT_HTTP . '</small>'; ?></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_url[' . $languages[$i]['id'] . ']', (($products_url[$languages[$i]['id']]) ? stripslashes($products_url[$languages[$i]['id']]) : tep_get_products_url($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> <td class="main"><?php echo TEXT_PRODUCTS_PRICE; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_price', $pInfo->products_price); ?></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_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); ?></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_WEIGHT; ?></td> <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_weight', $pInfo->products_weight); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" align="right"><?php echo tep_draw_hidden_field('products_date_added', (($pInfo->products_date_added) ? $pInfo->products_date_added : date('Y-m-d'))) . tep_image_submit('button_preview.gif', IMAGE_PREVIEW) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td> </form></tr> <?php } elseif ($HTTP_GET_VARS['action'] == 'new_product_preview') { if ($HTTP_POST_VARS) { $pInfo = new 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']; // copy image only if modified $products_image = tep_get_uploaded_file('products_image'); $image_directory = tep_get_local_path(DIR_FS_CATALOG_IMAGES); if (is_uploaded_file($products_image['tmp_name'])) { tep_copy_uploaded_file($products_image, $image_directory); $products_image_name = $products_image['name']; } else { $products_image_name = $HTTP_POST_VARS['products_previous_image']; } } else { $product_query = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description, pd.products_url, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and p.products_id = '" . $HTTP_GET_VARS['pID'] . "'"); $product = tep_db_fetch_array($product_query); $pInfo = new objectInfo($product); $products_image_name = $pInfo->products_image; } $form_action = ($HTTP_GET_VARS['pID']) ? 'update_product' : 'insert_product'; echo tep_draw_form($form_action, FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID'] . '&action=' . $form_action, 'post', 'enctype="multipart/form-data"'); $languages = tep_get_languages(); for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { if ($HTTP_GET_VARS['read'] == 'only') { $pInfo->products_name = tep_get_products_name($pInfo->products_id, $languages[$i]['id']); $pInfo->products_description = tep_get_products_description($pInfo->products_id, $languages[$i]['id']); $pInfo->products_url = tep_get_products_url($pInfo->products_id, $languages[$i]['id']); } else { $pInfo->products_name = tep_db_prepare_input($products_name[$languages[$i]['id']]); $pInfo->products_description = tep_db_prepare_input($products_description[$languages[$i]['id']]); $pInfo->products_url = tep_db_prepare_input($products_url[$languages[$i]['id']]); } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . $pInfo->products_name; ?></td> <td class="pageHeading" align="right"><?php echo $currencies->format($pInfo->products_price); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo tep_image(DIR_WS_CATALOG_IMAGES . $products_image_name, $pInfo->products_name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'align="right" hspace="5" vspace="5"') . $pInfo->products_description; ?></td> </tr> <?php if ($pInfo->products_url) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><?php echo sprintf(TEXT_PRODUCT_MORE_INFORMATION, $pInfo->products_url); ?></td> </tr> <?php } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php if ($pInfo->products_date_available > date('Y-m-d')) { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_PRODUCT_DATE_AVAILABLE, tep_date_long($pInfo->products_date_available)); ?></td> </tr> <?php } else { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_PRODUCT_DATE_ADDED, tep_date_long($pInfo->products_date_added)); ?></td> </tr> <?php } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php } if ($HTTP_GET_VARS['read'] == 'only') { if ($HTTP_GET_VARS['origin']) { $pos_params = strpos($HTTP_GET_VARS['origin'], '?', 0); if ($pos_params != false) { $back_url = substr($HTTP_GET_VARS['origin'], 0, $pos_params); $back_url_params = substr($HTTP_GET_VARS['origin'], $pos_params + 1); } else { $back_url = $HTTP_GET_VARS['origin']; $back_url_params = ''; } } else { $back_url = FILENAME_CATEGORIES; $back_url_params = 'cPath=' . $cPath . '&pID=' . $pInfo->products_id; } ?> <tr> <td align="right"><?php echo '<a href="' . tep_href_link($back_url, $back_url_params, 'NONSSL') . '">' . tep_image_button(' Quote Link to comment Share on other sites More sharing options...
tommygunner Posted December 21, 2003 Share Posted December 21, 2003 I'm having problems getting images to be added in catalog admin area in oscommerce. I am using latest release. I was getting error message when adding a category also. That is how I found this forum post because of a tep_get error message when I tried to add a category. I fixed this using the code change you meantioned for categories.php. However, I am having problem with images for product. When I look at categories.php file I see: // copy image only if modified // $products_image = tep_get_uploaded_file('products_image'); // $image_directory = tep_get_local_path(DIR_FS_CATALOG_IMAGES); if (is_uploaded_file($products_image['tmp_name'])) { tep_copy_uploaded_file($products_image, $image_directory); $products_image_name = $products_image['name']; I'm wondering if I should change this stuff to fix it. I think some of this code might be from webmakers product attributes sorter I installed. Quote Link to comment Share on other sites More sharing options...
Guest Posted January 4, 2004 Share Posted January 4, 2004 GREAT contribution! The description works fine for just categories, but as soon as a sub category is viewed the category picture goes BELOW the description unlike just oridinary first - level categories. Please help. Alex Halliday Quote Link to comment Share on other sites More sharing options...
Guest Posted May 25, 2004 Share Posted May 25, 2004 If you are having trouble with the admin/categories.php changes. You can use the version of categories.php provided with the 1.5 version for BTS - even if you are not using BTS. the only change i needed after that was to change (around line 390): <!-- body_text //--> <td width="100%" valign="top"> <?php to: <!-- body_text //--> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php Mine worked a treat after that! Quote Link to comment Share on other sites More sharing options...
theseason Posted June 3, 2004 Share Posted June 3, 2004 The 1.6 version allows for php scripting to be included in the description. So hypothetically, I can have it do: <?php echo SUBCAT_2; ?> from my enlish.php file so it can be more than just text. Is that a correct assumption? A Quote Link to comment Share on other sites More sharing options...
theseason Posted June 3, 2004 Share Posted June 3, 2004 Also, I am trying to run the included SQL file in my database and I am getting error on line 1. What to do now? Also, what is the file "new_category.insert" that comes with the contribution. Thanks, A Quote Link to comment Share on other sites More sharing options...
lilithfiend Posted July 2, 2004 Share Posted July 2, 2004 hi guys, ive been using this contribution for some time on my old server and it's been working fine.. but i've just switched to a new server lately and I've transferred my products and categories tables from the old database to the new database. however, i can't get the category descriptions to work this time! In my admin panel, I don't even see the option for me to select to allow category descriptions. And on my shopfront, when I click on a category, i get this message 1054 - Unknown column 'cd.categories_heading_title' in 'field list' select cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image from categories c, categories_description cd where c.categories_id = '25' and cd.categories_id = '25' and cd.language_id = '1' I have no idea what went wrong..I uninstalled and re-installed the entire thing again but it still didn't work..Would really really appreciate some help... Thanks in advance! Quote Link to comment Share on other sites More sharing options...
lilithfiend Posted July 5, 2004 Share Posted July 5, 2004 anyone?? Quote Link to comment Share on other sites More sharing options...
lilithfiend Posted July 11, 2004 Share Posted July 11, 2004 could someone please help..at least tell me what the error message means?? Quote Link to comment Share on other sites More sharing options...
Anna Posted July 18, 2004 Share Posted July 18, 2004 Hi Lilithfiend That error message looks like the field categories_heading_title hasn't been added to table categories_description. I've only just added this contribution myself (well, more-or-less, as I've hacked my index.php around horribly) using the instructions from 29 Jun 04 (thanks to Bent Bjoernskov). If you're using those instructions then the relevant field is added at step 5 using db_changes.sql Hope that helps. Thanks to all the authors of this contribution. Anna Quote Link to comment Share on other sites More sharing options...
turbot2 Posted January 14, 2005 Share Posted January 14, 2005 Can anyone please help me with the error message shown below? I am on MS2 and this is from Category Descriptions MS2_v1.5. All of my subcategories work fine and show the category description entered in the admin panel but the top level products shows this error meesage in the catalog. I am new to the OSC world so any help is greatly appreciated. Thanks in advance. ----------------------------- 1054 - Unknown column 'cdcategories_description' in 'field list' select cd.categories_name, cd.categories_heading_title, cdcategories_description, c.categories_image from categories c, categories_description cd where c.categories_id = '1' and cd.categories_id = '1' and cd.language_id = '1' [TEP STOP] Quote Link to comment Share on other sites More sharing options...
Anna Posted January 15, 2005 Share Posted January 15, 2005 You have a dot missing before categories_description: select cd.categories_name, cd.categories_heading_title, cdcategories_description, c.categories_image should be select cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image (see tiny red dot?!) You should be able to find it by searching for cdcategories_description. Quote Link to comment Share on other sites More sharing options...
dwsjr Posted January 23, 2005 Share Posted January 23, 2005 I have just installed this contribution and everything seems to work fine except when trying to "delete a category", I get the following error after clicking "update": Warning: set_time_limit(): Cannot set time limit in safe mode in .../catalog/admin/includes/functions/general.php on line 733 Warning: Cannot modify header information - headers already sent by (output started at .../catalog/admin/includes/functions/general.php:733) in .../catalog/admin/includes/functions/general.php on line 18" Has anyone else ever seen this? When I click "update" the category is, in fact, deleted. I am just not sure at this point if there are any other consequences from this error. Quote Link to comment Share on other sites More sharing options...
NiceGuyEd Posted February 8, 2005 Share Posted February 8, 2005 Hello all. I'm running this contrib and am not experiencing any errors. I do have a quick question. Currently, my category description is above my category images. How can I make it so it goes: category heading, then category images below that, and then the category description below that. Any insight would be very much appreciated! :) Ed Quote Link to comment Share on other sites More sharing options...
fatmcgav Posted February 21, 2005 Share Posted February 21, 2005 Hey there, I've got the following error when trying to use the admin cat description update. 1054 - Unknown column 'categories_name' in 'field list' update categories set categories_name = '', categories_heading_title = '', categories_description = '' where categories_id = '21' [TEP STOP] Any ideas? The cat desc's are displayed ok, as i have added a desc straight into the db and it shows fine, so it looks like it's a prob with categories_description.php Cheers Fatmcgav Quote Link to comment Share on other sites More sharing options...
NiceGuyEd Posted February 23, 2005 Share Posted February 23, 2005 (edited) Hello all.I'm running this contrib and am not experiencing any errors. I do have a quick question. Currently, my category description is above my category images. How can I make it so it goes: category heading, then category images below that, and then the category description below that. Any insight would be very much appreciated! Ed Hmm... I still can't figure out this problem. I would seem that I'm overlooking something very simple... Should I be looking at the categories_description.php file? Edited February 23, 2005 by NiceGuyEd Quote Link to comment Share on other sites More sharing options...
fatmcgav Posted February 23, 2005 Share Posted February 23, 2005 (edited) Hmm... I still can't figure out this problem. I would seem that I'm overlooking something very simple... Should I be looking at the categories_description.php file? <{POST_SNAPBACK}> Hi there, I just did the same thing on my site. It is quite simple really. All you have to do is open catalog/index.php, and look for the following lines: <!--Cat Desc Edit//--> <?php if ( (ALLOW_CATEGORY_DESCRIPTIONS == 'true') && (tep_not_null($category['categories_description'])) ) { ?> <tr> <td align="left" colspan="2" class="category_desc"><?php echo $category['categories_description']; ?></td> </tr> <?php } ?> Then simply move that below // needed for the new products module shown below $new_products_category_id = $current_category_id; ?> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> On mine, i have the featured prducts contrib installed, so i added it above this: <tr> <td><?php include(DIR_WS_MODULES . FILENAME_FEATURED); ?></td> </tr> But if you havent got the featured prods contrib installed, u'll have to look for the first piece of code. All i've got to do now is make it look a bit better. :D Hth Fatmcgav Edited February 23, 2005 by fatmcgav Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.