MATCHING PRODUCTS CROSS-SELL
#101
Posted 09 August 2008, 04:49
Road Map to oscommerce File Structure
DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!
HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you
Proud Memeber of the CODE BREAKERS CLUB!!
#102
Posted 09 August 2008, 04:50
/*
$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 © 2003 osCommerce
Released under the GNU General Public License
*/
require('includes/application_top.php');
// BOF: Additional Images
require(DIR_WS_CLASSES . 'alterimage.php');
// EOF: Additional Images
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 . "'");
}
$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'] . "'");
}
}
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 (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++) {
// BOF: Additional Images
// get image names from database
$delimg_query = tep_db_query("select popup_images, medium_images, thumb_images from " . TABLE_ADDITIONAL_IMAGES . " where products_id = '" . (int)$product_id . "'");
// delete image names from database
tep_db_query("delete from " . TABLE_ADDITIONAL_IMAGES . " where products_id = '" . (int)$product_id . "'");
// remove images from server if no other product requires then
while ($delimg = tep_db_fetch_array($delimg_query)){
if (tep_not_null($delimg['popup_images']) && file_exists(DIR_FS_CATALOG_IMAGES.$delimg['popup_images']) )
if ( !tep_is_image_still_used($delimg['popup_images']) )
if (!unlink (DIR_FS_CATALOG_IMAGES.$delimg['popup_images']))
$messageStack->add_session(ERROR_DEL_IMG_XTRA.$delimg['popup_images'], 'error');
else
$messageStack->add_session(SUCCESS_DEL_IMG_XTRA.$delimg['popup_images'], 'success');
if (tep_not_null($delimg['medium_images']) && file_exists(DIR_FS_CATALOG_IMAGES.$delimg['medium_images']) )
if ( !tep_is_image_still_used($delimg['medium_images']) )
if (!unlink (DIR_FS_CATALOG_IMAGES.$delimg['medium_images']))
$messageStack->add_session(ERROR_DEL_IMG_XTRA.$delimg['medium_images'], 'error');
else
$messageStack->add_session(SUCCESS_DEL_IMG_XTRA.$delimg['thumb_images'], 'success');
if (tep_not_null($delimg['thumb_images']) && file_exists(DIR_FS_CATALOG_IMAGES.$delimg['thumb_images']) )
if ( !tep_is_image_still_used($delimg['thumb_images']) )
if (!unlink (DIR_FS_CATALOG_IMAGES.$delimg['thumb_images']))
$messageStack->add_session(ERROR_DEL_IMG_XTRA.$delimg['thumb_images'], 'error');
else
$messageStack->add_session(SUCCESS_DEL_IMG_XTRA.$delimg['thumb_images'], 'success');
}
// EOF: Additional Images
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']),
// Matching Products Contrib
'products_matching' => tep_db_prepare_input($HTTP_POST_VARS['products_matching']),
'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']));
// BOF: Additional Images
/* old code:
if (isset($HTTP_POST_VARS['products_image']) && tep_not_null($HTTP_POST_VARS['products_image']) && ($HTTP_POST_VARS['products_image'] != 'none')) {
$sql_data_array['products_image'] = tep_db_prepare_input($HTTP_POST_VARS['products_image']);
} */
$sql_data_array['products_image_description'] = tep_db_prepare_input($HTTP_POST_VARS['products_image_description']);
// get old image names to handle image maintenance
$del_products_query = tep_db_query("select products_image, products_image_med, products_image_pop from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'");
$del_products = tep_db_fetch_array($del_products_query);
// set image names for SQL query
if (isset($HTTP_POST_VARS['products_image']) && tep_not_null($HTTP_POST_VARS['products_image']) && ($HTTP_POST_VARS['products_image'] != 'none')) {
if ($HTTP_POST_VARS['products_image'] != $del_products['products_image']) {
$sql_data_array['products_image'] = tep_db_prepare_input($HTTP_POST_VARS['products_image']);
} elseif (isset($HTTP_POST_VARS['delete_image_def']) && tep_not_null($HTTP_POST_VARS['delete_image_def'])) {
tep_db_query("update " . TABLE_PRODUCTS . " set products_image = NULL where products_id = '" . (int)$products_id . "' limit 1");
}
}
if (isset($HTTP_POST_VARS['products_image_med']) && tep_not_null($HTTP_POST_VARS['products_image_med']) && ($HTTP_POST_VARS['products_image_med'] != 'none')) {
if ($HTTP_POST_VARS['products_image_med'] != $del_products['products_image_med']) {
$sql_data_array['products_image_med'] = tep_db_prepare_input($HTTP_POST_VARS['products_image_med']);
} elseif (isset($HTTP_POST_VARS['delete_image_med']) && tep_not_null($HTTP_POST_VARS['delete_image_med'])) {
tep_db_query("update " . TABLE_PRODUCTS . " set products_image_med = NULL where products_id = '" . (int)$products_id . "' limit 1");
}
}
if (isset($HTTP_POST_VARS['products_image_pop']) && tep_not_null($HTTP_POST_VARS['products_image_pop']) && ($HTTP_POST_VARS['products_image_pop'] != 'none')) {
if ($HTTP_POST_VARS['products_image_pop'] != $del_products['products_image_pop']) {
$sql_data_array['products_image_pop'] = tep_db_prepare_input($HTTP_POST_VARS['products_image_pop']);
} elseif (isset($HTTP_POST_VARS['delete_image_pop']) && tep_not_null($HTTP_POST_VARS['delete_image_pop'])) {
tep_db_query("update " . TABLE_PRODUCTS . " set products_image_pop = NULL where products_id = '" . (int)$products_id . "' limit 1");
}
}
// EOF: Additional Images
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]),
'short_desc' => tep_db_prepare_input($HTTP_POST_VARS['short_desc'][$language_id]),
'products_url' => tep_db_prepare_input($HTTP_POST_VARS['products_url'][$language_id]));
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');
}
// BOF: Additional Images
// delete old images if necessary
if (isset($HTTP_POST_VARS['products_image']) && tep_not_null($HTTP_POST_VARS['products_image']) && ($HTTP_POST_VARS['products_image'] != 'none')) {
if (tep_not_null($del_products['products_image']) && (($HTTP_POST_VARS['products_image'] != $del_products['products_image']) || (isset($HTTP_POST_VARS['delete_image_def']) && tep_not_null($HTTP_POST_VARS['delete_image_def'])))) {
if ( !tep_is_image_still_used($del_products['products_image']) )
@unlink(DIR_FS_CATALOG_IMAGES . $del_products['products_image']); // delete old image if filename has changed
}
}
if (isset($HTTP_POST_VARS['products_image_med']) && tep_not_null($HTTP_POST_VARS['products_image_med']) && ($HTTP_POST_VARS['products_image_med'] != 'none')) {
if (tep_not_null($del_products['products_image_med']) && (($HTTP_POST_VARS['products_image_med'] != $del_products['products_image_med']) || (isset($HTTP_POST_VARS['delete_image_med']) && tep_not_null($HTTP_POST_VARS['delete_image_med'])))) {
if ( !tep_is_image_still_used($del_products['products_image_med']) )
@unlink(DIR_FS_CATALOG_IMAGES . $del_products['products_image_med']); // delete old image if filename has changed
}
}
if (isset($HTTP_POST_VARS['products_image_pop']) && tep_not_null($HTTP_POST_VARS['products_image_pop']) && ($HTTP_POST_VARS['products_image_pop'] != 'none')) {
if (tep_not_null($del_products['products_image_pop']) && (($HTTP_POST_VARS['products_image_pop'] != $del_products['products_image_pop']) || (isset($HTTP_POST_VARS['delete_image_pop']) && tep_not_null($HTTP_POST_VARS['delete_image_pop'])))) {
if ( !tep_is_image_still_used($del_products['products_image_pop']) )
@unlink(DIR_FS_CATALOG_IMAGES . $del_products['products_image_pop']); // delete old image if filename has changed
}
}
// EOF: Additional Images
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') {
/// BOF: Additional Images: Added: , products_image_med, products_image_pop, products_image_description
$product_query = tep_db_query("select products_quantity, products_model, products_image, products_image_med, products_image_pop, products_image_description, products_price, products_matching, products_date_available, products_weight, products_tax_class_id, manufacturers_id from " .
// EOF: Additional Images
$product = tep_db_fetch_array($product_query);
// BOF: Additional Images: Added: , products_image_med, products_image_pop, products_image_description -and- , '" . tep_db_input($product['products_image_med']) . "', '" . tep_db_input($product['products_image_pop']) . "', '" . tep_db_input($product['products_image_description']) . "'
tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_image_med, products_image_pop, products_image_description, products_price, products_matching, 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_image_med']) . "', '" . tep_db_input($product['products_image_pop']) . "', '" . tep_db_input($product['products_image_description']) . "', '" . tep_db_input($product['products_price']) . "', now(), " . (empty($product['products_date_available']) ? "null" : "'" . tep_db_input($product['products_date_available']) . "'") . ", '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')");
// EOF: Additional Images
$dup_products_id = tep_db_insert_id();
// BOF: Additional Images
// get image names from database
$ai_copyimg_query = tep_db_query("select products_id, images_description, popup_images, medium_images, thumb_images from " . TABLE_ADDITIONAL_IMAGES . " where products_id = '" . (int)$product_id . "'");
while ($ai_copyimg = tep_db_fetch_array($ai_copyimg_query)) {
tep_db_query("insert into " . TABLE_ADDITIONAL_IMAGES . " (products_id, images_description, popup_images, medium_images, thumb_images) values ('" . (int)$dup_products_id . "', '" . tep_db_input($ai_copyimg['images_description']) . "', '" . tep_db_input($ai_copyimg['popup_images']) . "', '" . tep_db_input($ai_copyimg['medium_images']) . "', '" . tep_db_input($ai_copyimg['thumb_images']) . "')");
}
// EOF: Additional Images
$description_query = tep_db_query("select language_id, products_name, products_description, short_desc, products_url from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$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, short_desc, 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_url']) . "', '0')");
}
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;
}
$description_query = tep_db_query("select language_id, products_name, products_description, short_desc, products_url from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$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, short_desc, 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['short_desc']) . "', '" . tep_db_input($description['products_url']) . "', '0')");
}
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
// BOF: Additional Images
/*
$products_image = new upload('products_image');
$products_image->set_destination(DIR_FS_CATALOG_IMAGES);
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'] : '');
}
*/
$image_subdirectory = (!empty($_POST['image_subdirectory'])?tep_db_prepare_input($_POST['image_subdirectory']):'');
$sql_data_array = array();
$add_images_error = process_uploads($image_subdirectory,'products_image','products_image_med','products_image_pop',$sql_data_array,$messageStack);
$products_image_name = (!empty($sql_data_array['products_image'])?$sql_data_array['products_image']:(isset($HTTP_POST_VARS['products_previous_image'])?$HTTP_POST_VARS['products_previous_image']:''));
$products_image_med_name = (!empty($sql_data_array['products_image_med'])?$sql_data_array['products_image_med']:(isset($HTTP_POST_VARS['products_previous_image_med'])?$HTTP_POST_VARS['products_previous_image_med']:''));
$products_image_pop_name = (!empty($sql_data_array['products_image_pop'])?$sql_data_array['products_image_pop']:(isset($HTTP_POST_VARS['products_previous_image_pop'])?$HTTP_POST_VARS['products_previous_image_pop']:''));
// EOF: Additional Images
break;
// BOF: Additional Images
case 'add_images':
$image_subdirectory = (!empty($_POST['image_subdirectory'])?tep_db_prepare_input($_POST['image_subdirectory']):'');
$products_id = $HTTP_GET_VARS['pID'];
$sql_data_array = array('products_id' => tep_db_prepare_input($products_id),
'images_description' => tep_db_prepare_input($HTTP_POST_VARS['images_description']));
$add_images_error = process_uploads($image_subdirectory,'thumb_images','medium_images','popup_images',$sql_data_array,$messageStack);
if ($add_images_error == false) {
tep_db_perform(TABLE_ADDITIONAL_IMAGES, $sql_data_array);
} else {
$messageStack->add_session(ERROR_ADDITIONAL_IMAGE_IS_EMPTY, 'error');
}
tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products_id));
break;
case 'del_images':
$products_id = tep_db_prepare_input($HTTP_GET_VARS['pID']);
if ( ($HTTP_GET_VARS['pID']) && (is_array($HTTP_POST_VARS['additional_images_id'])) ) {
$additional_images_id = tep_db_prepare_input($HTTP_POST_VARS['additional_images_id']);
for ($i=0; $i<sizeof($additional_images_id); $i++) {
// get image names to delete
$delimg_query = tep_db_query("select popup_images, medium_images, thumb_images from " . TABLE_ADDITIONAL_IMAGES . " where additional_images_id = '" . tep_db_input($additional_images_id[$i]) . "'");
$delimg = tep_db_fetch_array($delimg_query);
// remove image record from database
tep_db_query("delete from " . TABLE_ADDITIONAL_IMAGES . " where additional_images_id = '" . tep_db_input($additional_images_id[$i]) . "'");
//SECTION DELETE POPUP IMAGES
if (tep_not_null($delimg['popup_images']) && file_exists(DIR_FS_CATALOG_IMAGES.$delimg['popup_images']) )
if ( !tep_is_image_still_used($delimg['popup_images']) )
if (!unlink (DIR_FS_CATALOG_IMAGES.$delimg['popup_images']))
$messageStack->add_session(ERROR_DEL_IMG_XTRA.$delimg['popup_images'], 'error');
else
$messageStack->add_session(SUCCESS_DEL_IMG_XTRA.$delimg['popup_images'], 'success');
if (tep_not_null($delimg['medium_images']) && file_exists(DIR_FS_CATALOG_IMAGES.$delimg['medium_images']) )
if ( !tep_is_image_still_used($delimg['medium_images']) )
if (!unlink (DIR_FS_CATALOG_IMAGES.$delimg['medium_images']))
$messageStack->add_session(ERROR_DEL_IMG_XTRA.$delimg['medium_images'], 'error');
else
$messageStack->add_session(SUCCESS_DEL_IMG_XTRA.$delimg['medium_images'], 'success');
if (tep_not_null($delimg['thumb_images']) && file_exists(DIR_FS_CATALOG_IMAGES.$delimg['thumb_images']) )
if ( !tep_is_image_still_used($delimg['thumb_images']) )
if (!unlink (DIR_FS_CATALOG_IMAGES.$delimg['thumb_images']))
$messageStack->add_session(ERROR_DEL_IMG_XTRA.$delimg['thumb_images'], 'error');
else
$messageStack->add_session(SUCCESS_DEL_IMG_XTRA.$delimg['thumb_images'], 'success');
//END OF SECTION DELETE POPUP IMAGES
}
}
tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products_id));
break;
// EOF: Additional Images
}
}
// 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>
//matching products
<script type="text/javascript">
function openSKUpopup(popurl){
var winpops=window.open(popurl,"","width=450,height=500,scrollbars=1,resizable=1,top=0,left=0")
}
</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' => '',
'short_desc' => '',
'products_url' => '',
'products_id' => '',
'products_quantity' => '',
'products_model' => '',
'products_image' => '',
// EOF: Additional Images
'products_image_med' => '',
'products_image_pop' => '',
'products_image_description' => '',
// EOF: Additional Images
'products_price' => '',
// Matching Products Contrib
'products_matching' => '',
'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)) {
// $product_query = tep_db_query("select pd.products_name, pd.products_description, pd.short_desc, 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 . "'");
// BOF: Additional Images: Added: , p.products_image_med, p.products_image_pop, p.products_image_description
$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_image_med, p.products_image_pop, p.products_image_description, 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, p.products_matching 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: Additional Images
$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'];
$short_desc = $HTTP_POST_VARS['short_desc'];
$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']]) ? 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>
<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_SHORT_DESC; ?></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('short_desc[' . $languages[$i]['id'] . ']', 'soft', '70', '3', (isset($short_desc[$languages[$i]['id']]) ? $short_desc[$languages[$i]['id']] : tep_get_short_desc($pInfo->products_id, $languages[$i]['id']))); ?></td>
</tr>
</table></td>
</tr>
<?php
}
?>
//short description
<?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']]) ? 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>
<?php // BOF: Additional Images ?>
<tr bgcolor="#ebebff">
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
<td class="main"><table border="0" cellpadding="0" cellspacing="0" width="560"><tr><td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15'); ?></td><td class="main"><?php
if (ADDITIONAL_IMAGES_AUTO_CREATE == 'true') {
echo TEXT_NEW_IMAGES_AUTO_ON_STATEMENT;
} else {
echo '<table border="0" cellpadding="0" cellspacing="0"><tr><td class="main" valign="top">' . tep_draw_input_field('manual_thumb_generation', 'on', /* parameters */ 'onclick="if(this.checked==true){this.form.products_image_med.disabled=true;this.form
.products_image_pop.disabled=true;}else{this.form.products_image_med.disabled=fal
se;this.form.products_image_pop.disabled=false;}"', false, 'checkbox') . '</td><td class="main" valign="top">' . TEXT_NEW_IMAGES_MANUALLY_GENERATE . '</td><td class="main"> </td><td class="main" valign="top">' . TEXT_NEW_IMAGES_AUTO_OFF_STATEMENT . '</td></tr></table>';
}
$upload_path = '';
if (ADDIMAGES_PREFILL_UPLOAD_DIRECTORY == 'true') {$category_path_pieces_tmp = explode(' > ',tep_output_generated_category_path($current_category_id));
$category_path_pieces = array();
for ($i=sizeof($category_path_pieces_tmp)-1; $i >= 0; $i--) {
$category_path_pieces[] = tep_catname_to_dir($category_path_pieces_tmp[$i]);
}
$upload_path = implode('/',$category_path_pieces);
}
$tmp = ADDIMAGES_PREFILL_INITIAL;
if (!empty($tmp)) {
if (!empty($upload_path)) { $upload_path = trim($tmp,'/').'/'.$upload_path; }
else { $upload_path = $tmp; }
}
?></td></tr></table></td>
</tr>
<tr bgcolor="#ebebff">
<td class="main" valign="top"><?php echo TEXT_PRODUCTS_IMAGE_UPLOAD_LOCATION; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('image_subdirectory', $upload_path, 'size="40" onBlur="this.form.image_subdirectory_text.value=this.value" onMouseUp="this.form.image_subdirectory_text.value=this.value" onKeyUp="this.form.image_subdirectory_text.value=this.value"') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . ' <span style="font-size:9px;">' . TEXT_PRODUCTS_IMAGE_UPLOAD_LOCATION_NOTE . ' ' . DIR_FS_CATALOG_IMAGES . '</span>' . tep_draw_input_field('image_subdirectory_text', $upload_path, 'style="background-color:#ebebff;border-style:none;font-size:9px;" size="50" id="image_subdirectory_text"'); ?></td>
</tr>
<tr bgcolor="#ebebff">
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
</tr>
<tr bgcolor="#ebebff">
<td class="main" valign="top"><?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); ?><?php if (!empty($pInfo->products_image)) { echo tep_draw_separator('pixel_trans.gif', '24', '15') . tep_draw_checkbox_field('delete_image_def', 'yes', false) . TEXT_DELETE_IMAGE; } ?></td>
</tr>
<tr bgcolor="#ebebff">
<td class="main" valign="top"><?php echo TEXT_PRODUCTS_IMAGE_MED; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_file_field('products_image_med') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . $pInfo->products_image_med . tep_draw_hidden_field('products_previous_image_med', $pInfo->products_image_med); ?><?php if (!empty($pInfo->products_image_med)) { echo tep_draw_separator('pixel_trans.gif', '24', '15') . tep_draw_checkbox_field('delete_image_med', 'yes', false) . TEXT_DELETE_IMAGE; } ?></td>
</tr>
<tr bgcolor="#ebebff">
<td class="main" valign="top"><?php echo TEXT_PRODUCTS_IMAGE_POP; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_file_field('products_image_pop') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . $pInfo->products_image_pop . tep_draw_hidden_field('products_previous_image_pop', $pInfo->products_image_pop); ?><?php if (!empty($pInfo->products_image_pop)) { echo tep_draw_separator('pixel_trans.gif', '24', '15') . tep_draw_checkbox_field('delete_image_pop', 'yes', false) . TEXT_DELETE_IMAGE; } ?></td>
</tr>
<tr bgcolor="#ebebff">
<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
</tr>
<tr bgcolor="#ebebff">
<td class="main" valign="top"><?php echo TEXT_PRODUCTS_IMAGES_DESC; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_image_description', $pInfo->products_image_description, 'size="30"') . ' ' . TEXT_IMAGE_DESCRIPTION_NOTE; ?></td>
</tr>
<?php echo ((ADDITIONAL_IMAGES_AUTO_CREATE == 'true')?'<script type="text/javascript"> document.new_product.products_image_med.disabled=true; document.new_product.products_image_pop.disabled=true; </script>':''); ?>
<?php // EOF: Additional Images ?>
<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'] . ']', (isset($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_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>
//matching products
<tr bgcolor="#F7F6F6">
<td class="main"><?php echo TEXT_MATCHING_PRODUCTS; ?></td>
<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_input_field('products_matching', $pInfo->products_matching);?> SKU, SKU... <span class="smallText"> ex: 351, 912, 122 <a href="java script:openSKUpopup('popup_product_id.php')"><u>View product SKUs</u></a></span></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', (tep_not_null($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 . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>
</tr>
</table></form>
<?php
} elseif ($action == 'new_product_preview') {
if (tep_not_null($HTTP_POST_VARS)) {
$pInfo = new objectInfo($HTTP_POST_VARS);
$products_name = $HTTP_POST_VARS['products_name'];
$short_desc = $HTTP_POST_VARS['short_desc'];
$products_description = $HTTP_POST_VARS['products_description'];
$products_url = $HTTP_POST_VARS['products_url'];
} else {
// BOF: Additional Images: Added: , p.products_image_med, p.products_image_pop, p.products_image_description
$product_query = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description, pd.short_desc, pd.products_url, p.products_quantity, p.products_model, p.products_image, p.products_image_med, p.products_image_pop, p.products_image_description, 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 = '" . (int)$HTTP_GET_VARS['pID'] . "'");
// EOF: Additional Images
$product = tep_db_fetch_array($product_query);
$pInfo = new objectInfo($product);
$products_image_name = $pInfo->products_image;
// BOF: Additional Images
$products_image_pop_name = $pInfo->products_image_pop;
$products_image_med_name = $pInfo->products_image_med;
// EOF: Additional Images
}
$form_action = (isset($HTTP_GET_VARS['pID'])) ? 'update_product' : 'insert_product';
echo tep_draw_form($form_action, FILENAME_CATEGORIES, 'cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&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 (isset($HTTP_GET_VARS['read']) && ($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->short_desc = tep_get_short_desc($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->short_desc = tep_db_prepare_input($short_desc[$languages[$i]['id']]);
$pInfo->products_url = tep_db_prepare_input($products_url[$languages[$i]['id']]);
}
?>
<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 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->short_desc. '<br><br>'.$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 (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) {
if (isset($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('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, $n=sizeof($languages); $i<$n; $i++) {
echo tep_draw_hidden_field('products_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_name[$languages[$i]['id']])));
echo tep_draw_hidden_field('products_description[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_description[$languages[$i]['id']])));
echo tep_draw_hidden_field('short_desc[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($short_desc[$languages[$i]['id']])));
echo tep_draw_hidden_field('products_url[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_url[$languages[$i]['id']])));
}
echo tep_draw_hidden_field('products_image', stripslashes($products_image_name));
// BOF: Additional Images
echo tep_draw_hidden_field('products_image_pop', stripslashes($products_image_pop_name));
echo tep_draw_hidden_field('products_image_med', stripslashes($products_image_med_name));
// EOF: Additional Images
echo tep_image_submit('button_back.gif', IMAGE_BACK, 'name="edit"') . ' ';
if (isset($HTTP_GET_VARS['pID'])) {
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 . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>';
?></td>
</tr>
</table></form>
<?php
}
} else {
?>
<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 HEADING_TITLE; ?></td>
<td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>
<td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="smallText" align="right">
<?php
echo tep_draw_form('search', FILENAME_CATEGORIES, '', 'get');
echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('search');
echo '</form>';
?>
</td>
</tr>
<tr>
<td class="smallText" align="right">
<?php
echo tep_draw_form('goto', FILENAME_CATEGORIES, '', 'get');
echo HEADING_TITLE_GOTO . ' ' . tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"');
echo '</form>';
?>
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CATEGORIES_PRODUCTS; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>
</tr>
<?php
$categories_count = 0;
$rows = 0;
if (isset($HTTP_GET_VARS['search'])) {
$search = tep_db_prepare_input($HTTP_GET_VARS['search']);
$categories_query = tep_db_query("select c.categories_id, cd.categories_name, 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 = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and cd.categories_name like '%" . tep_db_input($search) . "%' order by c.sort_order, cd.categories_name");
} else {
$categories_query = tep_db_query("select c.categories_id, cd.categories_name, 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.parent_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by c.sort_order, cd.categories_name");
}
while ($categories = tep_db_fetch_array($categories_query)) {
$categories_count++;
$rows++;
// Get parent_id for subcategories if search
if (isset($HTTP_GET_VARS['search'])) $cPath= $categories['parent_id'];
if ((!isset($HTTP_GET_VARS['cID']) && !isset($HTTP_GET_VARS['pID']) || (isset($HTTP_GET_VARS['cID']) && ($HTTP_GET_VARS['cID'] == $categories['categories_id']))) && !isset($cInfo) && (substr($action, 0, 3) != 'new')) {
$category_childs = array('childs_count' => tep_childs_in_category_count($categories['categories_id']));
$category_products = array('products_count' => tep_products_in_category_count($categories['categories_id']));
$cInfo_array = array_merge($categories, $category_childs, $category_products);
$cInfo = new objectInfo($cInfo_array);
}
if (isset($cInfo) && is_object($cInfo) && ($categories['categories_id'] == $cInfo->categories_id) ) {
echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CATEGORIES, tep_get_path($categories['categories_id'])) . '\'">' . "\n";
} else {
echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $categories['categories_id']) . '\'">' . "\n";
}
?>
<td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, tep_get_path($categories['categories_id'])) . '">' . tep_image(DIR_WS_ICONS . 'folder.gif', ICON_FOLDER) . '</a> <b>' . $categories['categories_name'] . '</b>'; ?></td>
<td class="dataTableContent" align="center"> </td>
<td class="dataTableContent" align="right"><?php if (isset($cInfo) && is_object($cInfo) && ($categories['categories_id'] == $cInfo->categories_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $categories['categories_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>
</tr>
<?php
}
$products_count = 0;
if (isset($HTTP_GET_VARS['search'])) {
$products_query = tep_db_query("select p.products_id, pd.products_name, p.products_quantity, p.products_image, pd.short_desc, pd.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p2c.categories_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and pd.products_name like '%" . tep_db_input($search) . "%' order by pd.products_name");
} else {
$products_query = tep_db_query("select p.products_id, pd.products_name, p.products_quantity, p.products_image, pd.short_desc, p.products_price, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by pd.products_name");
}
while ($products = tep_db_fetch_array($products_query)) {
$products_count++;
$rows++;
// Get categories_id for product if search
if (isset($HTTP_GET_VARS['search'])) $cPath = $products['categories_id'];
if ( (!isset($HTTP_GET_VARS['pID']) && !isset($HTTP_GET_VARS['cID']) || (isset($HTTP_GET_VARS['pID']) && ($HTTP_GET_VARS['pID'] == $products['products_id']))) && !isset($pInfo) && !isset($cInfo) && (substr($action, 0, 3) != 'new')) {
// find out the rating average from customer reviews
$reviews_query = tep_db_query("select (avg(reviews_rating) / 5 * 100) as average_rating from " . TABLE_REVIEWS . " where products_id = '" . (int)$products['products_id'] . "'");
$reviews = tep_db_fetch_array($reviews_query);
$pInfo_array = array_merge($products, $reviews);
$pInfo = new objectInfo($pInfo_array);
}
if (isset($pInfo) && is_object($pInfo) && ($products['products_id'] == $pInfo->products_id) ) {
echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id'] . '&action=new_product_preview&read=only') . '\'">' . "\n";
} else {
echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id']) . '\'">' . "\n";
}
?>
<td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id'] . '&action=new_product_preview&read=only') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $products['products_name']; ?></td>
<td class="dataTableContent" align="center">
<?php
if ($products['products_status'] == '1') {
echo tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', IMAGE_ICON_STATUS_GREEN, 10, 10) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'action=setflag&flag=0&pID=' . $products['products_id'] . '&cPath=' . $cPath) . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_red_light.gif', IMAGE_ICON_STATUS_RED_LIGHT, 10, 10) . '</a>';
} else {
echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'action=setflag&flag=1&pID=' . $products['products_id'] . '&cPath=' . $cPath) . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_green_light.gif', IMAGE_ICON_STATUS_GREEN_LIGHT, 10, 10) . '</a> ' . tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10);
}
?></td>
<td class="dataTableContent" align="right"><?php if (isset($pInfo) && is_object($pInfo) && ($products['products_id'] == $pInfo->products_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>
</tr>
<?php
}
$cPath_back = '';
if (sizeof($cPath_array) > 0) {
for ($i=0, $n=sizeof($cPath_array)-1; $i<$n; $i++) {
if (empty($cPath_back)) {
$cPath_back .= $cPath_array[$i];
} else {
$cPath_back .= '_' . $cPath_array[$i];
}
}
}
$cPath_back = (tep_not_null($cPath_back)) ? 'cPath=' . $cPath_back . '&' : '';
?>
<tr>
<td colspan="3"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="smallText"><?php echo TEXT_CATEGORIES . ' ' . $categories_count . '<br>' . TEXT_PRODUCTS . ' ' . $products_count; ?></td>
<td align="right" class="smallText"><?php if (sizeof($cPath_array) > 0) echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, $cPath_back . 'cID=' . $current_category_id) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a> '; if (!isset($HTTP_GET_VARS['search'])) echo '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&action=new_category') . '">' . tep_image_button('button_new_category.gif', IMAGE_NEW_CATEGORY) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&action=new_product') . '">' . tep_image_button('button_new_product.gif', IMAGE_NEW_PRODUCT) . '</a>'; ?> </td>
</tr>
</table></td>
</tr>
</table></td>
<?php
$heading = array();
$contents = array();
switch ($action) {
case 'new_category':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_CATEGORY . '</b>');
$contents = array('form' => tep_draw_form('newcategory', FILENAME_CATEGORIES, 'action=insert_category&cPath=' . $cPath, 'post', 'enctype="multipart/form-data"'));
$contents[] = array('text' => TEXT_NEW_CATEGORY_INTRO);
$category_inputs_string = '';
$languages = tep_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$category_inputs_string .= '<br>' . 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'] . ']');
}
$contents[] = array('text' => '<br>' . TEXT_CATEGORIES_NAME . $category_inputs_string);
$contents[] = array('text' => '<br>' . TEXT_CATEGORIES_IMAGE . '<br>' . tep_draw_file_field('categories_image'));
$contents[] = array('text' => '<br>' . TEXT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', '', 'size="2"'));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'edit_category':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_EDIT_CATEGORY . '</b>');
$contents = array('form' => tep_draw_form('categories', FILENAME_CATEGORIES, 'action=update_category&cPath=' . $cPath, 'post', 'enctype="multipart/form-data"') . tep_draw_hidden_field('categories_id', $cInfo->categories_id));
$contents[] = array('text' => TEXT_EDIT_INTRO);
$category_inputs_string = '';
$languages = tep_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$category_inputs_string .= '<br>' . 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'] . ']', tep_get_category_name($cInfo->categories_id, $languages[$i]['id']));
}
$contents[] = array('text' => '<br>' . TEXT_EDIT_CATEGORIES_NAME . $category_inputs_string);
$contents[] = array('text' => '<br>' . tep_image(DIR_WS_CATALOG_IMAGES . $cInfo->categories_image, $cInfo->categories_name) . '<br>' . DIR_WS_CATALOG_IMAGES . '<br><b>' . $cInfo->categories_image . '</b>');
$contents[] = array('text' => '<br>' . TEXT_EDIT_CATEGORIES_IMAGE . '<br>' . tep_draw_file_field('categories_image'));
$contents[] = array('text' => '<br>' . TEXT_EDIT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', $cInfo->sort_order, 'size="2"'));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'delete_category':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_CATEGORY . '</b>');
$contents = array('form' => tep_draw_form('categories', FILENAME_CATEGORIES, 'action=delete_category_confirm&cPath=' . $cPath) . tep_draw_hidden_field('categories_id', $cInfo->categories_id));
$contents[] = array('text' => TEXT_DELETE_CATEGORY_INTRO);
$contents[] = array('text' => '<br><b>' . $cInfo->categories_name . '</b>');
if ($cInfo->childs_count > 0) $contents[] = array('text' => '<br>' . sprintf(TEXT_DELETE_WARNING_CHILDS, $cInfo->childs_count));
if ($cInfo->products_count > 0) $contents[] = array('text' => '<br>' . sprintf(TEXT_DELETE_WARNING_PRODUCTS, $cInfo->products_count));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'move_category':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_MOVE_CATEGORY . '</b>');
$contents = array('form' => tep_draw_form('categories', FILENAME_CATEGORIES, 'action=move_category_confirm&cPath=' . $cPath) . tep_draw_hidden_field('categories_id', $cInfo->categories_id));
$contents[] = array('text' => sprintf(TEXT_MOVE_CATEGORIES_INTRO, $cInfo->categories_name));
$contents[] = array('text' => '<br>' . sprintf(TEXT_MOVE, $cInfo->categories_name) . '<br>' . tep_draw_pull_down_menu('move_to_category_id', tep_get_category_tree(), $current_category_id));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_move.gif', IMAGE_MOVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'delete_product':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_PRODUCT . '</b>');
$contents = array('form' => tep_draw_form('products', FILENAME_CATEGORIES, 'action=delete_product_confirm&cPath=' . $cPath) . tep_draw_hidden_field('products_id', $pInfo->products_id));
$contents[] = array('text' => TEXT_DELETE_PRODUCT_INTRO);
$contents[] = array('text' => '<br><b>' . $pInfo->products_name . '</b>');
$product_categories_string = '';
$product_categories = tep_generate_category_path($pInfo->products_id, 'product');
for ($i = 0, $n = sizeof($product_categories); $i < $n; $i++) {
$category_path = '';
for ($j = 0, $k = sizeof($product_categories[$i]); $j < $k; $j++) {
$category_path .= $product_categories[$i][$j]['text'] . ' > ';
}
$category_path = substr($category_path, 0, -16);
$product_categories_string .= tep_draw_checkbox_field('product_categories[]', $product_categories[$i][sizeof($product_categories[$i])-1]['id'], true) . ' ' . $category_path . '<br>';
}
$product_categories_string = substr($product_categories_string, 0, -4);
$contents[] = array('text' => '<br>' . $product_categories_string);
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'move_product':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_MOVE_PRODUCT . '</b>');
$contents = array('form' => tep_draw_form('products', FILENAME_CATEGORIES, 'action=move_product_confirm&cPath=' . $cPath) . tep_draw_hidden_field('products_id', $pInfo->products_id));
$contents[] = array('text' => sprintf(TEXT_MOVE_PRODUCTS_INTRO, $pInfo->products_name));
$contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_CATEGORIES . '<br><b>' . tep_output_generated_category_path($pInfo->products_id, 'product') . '</b>');
$contents[] = array('text' => '<br>' . sprintf(TEXT_MOVE, $pInfo->products_name) . '<br>' . tep_draw_pull_down_menu('move_to_category_id', tep_get_category_tree(), $current_category_id));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_move.gif', IMAGE_MOVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
case 'copy_to':
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_COPY_TO . '</b>');
$contents = array('form' => tep_draw_form('copy_to', FILENAME_CATEGORIES, 'action=copy_to_confirm&cPath=' . $cPath) . tep_draw_hidden_field('products_id', $pInfo->products_id));
$contents[] = array('text' => TEXT_INFO_COPY_TO_INTRO);
$contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_CATEGORIES . '<br><b>' . tep_output_generated_category_path($pInfo->products_id, 'product') . '</b>');
$contents[] = array('text' => '<br>' . TEXT_CATEGORIES . '<br>' . tep_draw_pull_down_menu('categories_id', tep_get_category_tree(), $current_category_id));
$contents[] = array('text' => '<br>' . TEXT_HOW_TO_COPY . '<br>' . tep_draw_radio_field('copy_as', 'link', true) . ' ' . TEXT_COPY_AS_LINK . '<br>' . tep_draw_radio_field('copy_as', 'duplicate') . ' ' . TEXT_COPY_AS_DUPLICATE);
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_copy.gif', IMAGE_COPY) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
break;
// BOF: Additional Images
case 'new_images':
case 'update_images':
$upload_path = '';
if (ADDIMAGES_PREFILL_UPLOAD_DIRECTORY == 'true') {$category_path_pieces_tmp = explode(' > ',tep_output_generated_category_path($current_category_id));
$category_path_pieces = array();
for ($i=sizeof($category_path_pieces_tmp)-1; $i >= 0; $i--) {
$category_path_pieces[] = tep_catname_to_dir($category_path_pieces_tmp[$i]);
}
$upload_path = implode('/',$category_path_pieces);
}
$tmp = ADDIMAGES_PREFILL_INITIAL;
if (!empty($tmp)) {
if (!empty($upload_path)) { $upload_path = $tmp.'/'.$upload_path; }
else { $upload_path = $tmp; }
}
$heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_IMAGES . '</b>');
$contents = array('form' => tep_draw_form('new_images', FILENAME_CATEGORIES, 'action=' . ($action=='update_images'?'update_images':'add_images') . '&cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID'], 'post', 'enctype="multipart/form-data"'));
$contents[] = array('text' => TEXT_NEW_IMAGES_INTRO);
if (ADDITIONAL_IMAGES_AUTO_CREATE == 'true') {
$contents[] = array('text' => '<br>' . TEXT_NEW_IMAGES_AUTO_ON_STATEMENT);
} else {
$contents[] = array('text' => '<br>' . TEXT_NEW_IMAGES_AUTO_OFF_STATEMENT);
$contents[] = array('text' => '<br>' . '<table border="0" cellpadding="0" cellspacing="0"><tr><td class="infoBoxContent" valign="top">' . tep_draw_input_field('manual_thumb_generation', 'on', /* parameters */ 'onclick="if(this.checked==true){this.form.medium_images.disabled=true;this.form.popu
p_images.disabled=true;}else{this.form.medium_images.disabled=false;this.form.pop
up_images.disabled=false;}"', false, 'checkbox') . '</td><td class="infoBoxContent">' . TEXT_NEW_IMAGES_MANUALLY_GENERATE . '</td></tr></table>');
}
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGE_UPLOAD_LOCATION . '<br>' . '<span style="font-family:Verdana;font-size:8px;">' . DIR_FS_CATALOG_IMAGES . '</span>' . '<br>' . tep_draw_input_field('image_subdirectory', $upload_path, 'size="30"') );
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGES_NEW . '<br>' . tep_draw_file_field('thumb_images'));
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGES_NEWMED . '<br>' . tep_draw_file_field('medium_images'));
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGES_NEWPOP . '<br>' . tep_draw_file_field('popup_images') .
((ADDITIONAL_IMAGES_AUTO_CREATE == 'true')?'<script type="text/javascript"> document.new_images.medium_images.disabled=true; document.new_images.popup_images.disabled=true; </script>':''));
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGES_DESC . '<br>' . tep_draw_input_field('images_description'));
$contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a><br><br>');
$contents[] = array('text' => TEXT_NEW_IMAGES_FOOTER);
break;
// EOF: Additional Images
default:
if ($rows > 0) {
if (isset($cInfo) && is_object($cInfo)) { // category info box contents
$heading[] = array('text' => '<b>' . $cInfo->categories_name . '</b>');
$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id . '&action=edit_category') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id . '&action=delete_category') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id . '&action=move_category') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a>');
$contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($cInfo->date_added));
if (tep_not_null($cInfo->last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($cInfo->last_modified));
$contents[] = array('text' => '<br>' . tep_info_image($cInfo->categories_image, $cInfo->categories_name, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT) . '<br>' . $cInfo->categories_image);
$contents[] = array('text' => '<br>' . TEXT_SUBCATEGORIES . ' ' . $cInfo->childs_count . '<br>' . TEXT_PRODUCTS . ' ' . $cInfo->products_count);
} elseif (isset($pInfo) && is_object($pInfo)) { // product info box contents
$heading[] = array('text' => '<b>' . tep_get_products_name($pInfo->products_id, $languages_id) . '</b>');
$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=new_product') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=delete_product') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=move_product') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=copy_to') . '">' . tep_image_button('button_copy_to.gif', IMAGE_COPY_TO) . '</a>');
$contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($pInfo->products_date_added));
if (tep_not_null($pInfo->products_last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($pInfo->products_last_modified));
if (date('Y-m-d') < $pInfo->products_date_available) $contents[] = array('text' => TEXT_DATE_AVAILABLE . ' ' . tep_date_short($pInfo->products_date_available));
$contents[] = array('text' => '<br>' . tep_info_image($pInfo->products_image, $pInfo->products_name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '<br>' . $pInfo->products_image);
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_INFO . ' ' . $currencies->format($pInfo->products_price) . '<br>' . TEXT_PRODUCTS_QUANTITY_INFO . ' ' . $pInfo->products_quantity);
$contents[] = array('text' => '<br>' . TEXT_PRODUCTS_AVERAGE_RATING . ' ' . number_format($pInfo->average_rating, 2) . '%');
// BOF: Additional Images
$contents[] = array('text' => '<br><b>' . TEXT_INFO_HEADING_NEW_IMAGES . '</b>');
$contents[] = array('text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=new_images') . '">' . tep_image_button('button_images_add.gif', IMAGE_ADDITIONAL_NEW) . '</a><br><hr>');
$images_product = tep_db_query("SELECT additional_images_id, medium_images, popup_images, thumb_images, images_description FROM " . TABLE_ADDITIONAL_IMAGES . " where products_id = '" . $pInfo->products_id . "'");
if (!tep_db_num_rows($images_product)) {
$contents[] = array('align' => 'center', 'text' => '<font color="red">'.ERROR_NO_ADDITIONAL_IMAGES.'</font><hr>');
} else {
while ($new_images = tep_db_fetch_array($images_product)) {
$contents[] = array('text' => ' ' . tep_image(DIR_WS_CATALOG_IMAGES . (!empty($new_images['thumb_images'])?$new_images['thumb_images']
tep_draw_form('delete_images', FILENAME_CATEGORIES, 'action=del_images&cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID']) .
tep_draw_hidden_field('additional_images_id[]', $new_images['additional_images_id']) .
'<br>' . ' ' . tep_image_submit('button_images_del.gif', IMAGE_ADDITIONAL_DEL) . '</form><br> <hr>');
}
}
$contents[] = array('align' => 'center', 'text' => '<br><br>');
// EOF: Additional Images
}
} else { // create category/product info
$heading[] = array('text' => '<b>' . EMPTY_CATEGORY . '</b>');
$contents[] = array('text' => TEXT_NO_CHILD_CATEGORIES_OR_PRODUCTS);
}
break;
}
if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
echo ' <td width="25%" valign="top">' . "\n";
$box = new box;
echo $box->infoBox($heading, $contents);
echo ' </td>' . "\n";
}
?>
</tr>
</table></td>
</tr>
</table>
<?php
}
?>
</td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
Edited by lindsayanng, 09 August 2008, 04:53.
Road Map to oscommerce File Structure
DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!
HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you
Proud Memeber of the CODE BREAKERS CLUB!!
#103
Posted 09 August 2008, 05:12
I am still looking at that code, but there were some errors that came up as soon as I loaded the file into my editor:
Line 506: //matching products
Line 737: //short description
Line 849: //matching products
The // comment is only used within the <?php and ?> tags, otherwise you have to you use the html comment tag <!-- -->
I will get back to you about the code.....
Chris
:|: Click Here to learn how I can help you with custom coding, add ons, security and templates :|:
:|: Need an Area Calculator, Pre-Paid Account, Virtual Pin, Auction or Layaway Add on ? Click Here :|:
#104
Posted 09 August 2008, 05:15
Road Map to oscommerce File Structure
DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!
HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you
Proud Memeber of the CODE BREAKERS CLUB!!
#105
Posted 09 August 2008, 22:08
Road Map to oscommerce File Structure
DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!
HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you
Proud Memeber of the CODE BREAKERS CLUB!!
#106
Posted 09 August 2008, 22:45
$product_query = tep_db_query("select products_quantity, products_model, products_image, products_image_med, products_image_pop, products_image_description, products_price, products_matching, products_date_available, products_weight, products_tax_class_id, manufacturers_id from " .
It looks incomplete to me.
"Headers already sent" - The definitive help
"Cannot redeclare ..." - How to find/fix it
SSL Implementation Help
Like this post? "Like" it again over there >
#107
Posted 10 August 2008, 04:15
Quote
at the end of that line. Now my admin is back up.. lets see if this contribution made my articles manager cross sell feature work - fingers crossed.
Road Map to oscommerce File Structure
DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!
HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you
Proud Memeber of the CODE BREAKERS CLUB!!
#108
Posted 10 August 2008, 04:18
Road Map to oscommerce File Structure
DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!
HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you
Proud Memeber of the CODE BREAKERS CLUB!!
#109
Posted 10 August 2008, 18:42
Quote
Hello,
Sorry to interopt here.
Just want to write that I have managed to fix the error.
I had also installed a contri about Meta Tags and now I have put them togheter.
Thanks
Lili
#110
Posted 10 September 2008, 19:25
homewetbar, on Jan 29 2008, 10:23 PM, said:
Was it really in Jan I posted? Wow, doesn't time fly. Anyway, solved it thanks to the Graphic borders contrib. Why? Because that contrib mentioned adding borders to cross sell, product listings etc. So I looked at the Xsell products contrib (installed but didn't like it) and there was an update to the files as below, hope I don't get into trouble
On my installation, with SEO URLS, the Buy It Now button was showing the parent product's ID and not its own.
In catalog/includes/modules/xsell_products.php
//Cache
$text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $xsell['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $xsell['products_image'], $xsell['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $xsell['products_id']) . '">' . $xsell['products_name'] .'</a><br>' . $xsell_price. '<br><a href="' . tep_href_link(FILENAME_DEFAULT, 'action=buy_now&products_id=' . $xsell['products_id'], 'NONSSL') . '">' . tep_image_button('button_buy_now.gif', TEXT_BUY . $xsell['products_name'] . TEXT_NOW) .'</a>';
I stripped out the
tep_get_all_get_params(array('action')) .
and it seems to work.
As I am not a great expert at this, do please test the heck out of it before you go anywhere near a production system!
This zip contains only the updated includes/modules/xsell_products.php file.
If you replace the $xsell with $matching it works and has passed a few tests locally. Hopefully a working module will be up on my site over the weekend. I'm still testing & formatting a wishlist contrib.
This is my line of code that displays to products
$info_box_contents[$row][$col] = array('align' => 'center',
'params' => 'class="smallText" width="33%" valign="top" style="border-style: solid; border-width: 2" bordercolor="#EBEDF1"',
'text' => strtoupper($matching_products['products_name']) . '<br><br>' . '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $matching_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $matching_products['products_image'], $matching_products['products_name'] . ' - ' . $matching_products['products_title'] . ' Label Side A', SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><br><a STYLE="text-decoration:underline" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $matching_products['products_id']) . '">' . $matching_products['products_title'] . '</a> (' . $matching_products['products_media'] . ')<br><br>' . $products_price . '<br><br><a href="' . tep_href_link(FILENAME_DEFAULT, 'action=buy_now&products_id=' . $matching_products['products_id'], 'NONSSL') . '">' . tep_image_submit('button_buy_now.gif', IMAGE_BUTTON_IN_CART) .'</a>' . ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'action=add_wishlist&products_id=' . $matching_products['products_id']) . '">' . tep_image_button('button_wishlist_small.gif', IMAGE_BUTTON_ADD_WISHLIST_SMALL) . '</a>');
Many thanks for a great contrib
Ian
#111
Posted 28 February 2009, 01:00
#112
Posted 27 August 2009, 18:36
#114
Posted 13 May 2010, 18:01
Vazgen, on 06 May 2010, 18:37, said:
I downloaded the latest 1.2 version,
file <matching products cross sell.txt> is broken.
Can you upload it again or send it via e-mail, please?
Thanks.
Just downloaded this addon and had the same problem. You can solve it by changing the extension to .doc, opening it in MS Word, and selecting "Unicode UTF-7" coding. Then it displays ok, and you can save it in your preferred format.
#115
Posted 13 May 2010, 20:39
Parse error: syntax error, unexpected T_REQUIRE in [i]<admin_path>[/i]/popup_product_id.php on line 5I haven't changed the popup_product_id.php file. Can you please help to find the eror?
TIA
#116
Posted 10 August 2010, 19:13
$match_count++;
$col ++;
if ($col > 0) {
$col = 0;
$row ++;
}
I neec to work this as a BOX, on the left, not a module down in product info.
What could be the correct code to place in column_left.php???
#117
Posted 24 January 2011, 11:52
Sample page: http://www.bigapplecard.com/mlb-gel-air-freshener-p-511.html
Thanks
Robert
Edited by robertw477, 24 January 2011, 11:52.
#118
Posted 20 April 2011, 15:25
find (line 339) </head>
I can't find anything resembling this at all.
Suggestions?
#119
Posted 25 April 2011, 02:39
#120
Posted 02 February 2012, 17:24
by the way, this add on is a must for anyone who has an oscommerse shop














