hi guys... i have a little error i need help with please :)

hi guys… been spending the last 4 months adding contributions and working up an oscommerce store… now i’m stuck on this error and were to fix it… you’re help would be muchly appreciate, the code is huge so i have snippited lines 434 to 472, my error is as follows = Parse error: syntax error, unexpected T_CASE in …/…/public_html/eStore/admin/categories.php on line 462

[code] $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 ($action == 'insert_product') {
          $insert_sql_data = array('products_id' => $products_id,
                                   'language_id' => $language_id);

          $sql_data_array = array_merge($sql_data_array, $insert_sql_data);

          tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array);
        } elseif ($action == 'update_product') {
          tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "' and language_id = '" . (int)$language_id . "'");
        }
      }

      if (USE_CACHE == 'true') {
        tep_reset_cache_block('categories');
        tep_reset_cache_block('also_purchased');
      }

      tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products_id));
    }
    break;
  case 'copy_to_confirm':
    if (isset($HTTP_POST_VARS['products_id']) && isset($HTTP_POST_VARS['categories_id'])) {
      $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
      $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']);

      if ($HTTP_POST_VARS['copy_as'] == 'link') {
        if ($categories_id != $current_category_id) {
          $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$categories_id . "'");
          $check = tep_db_fetch_array($check_query);
          if ($check['total'] < '1') {
            tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categories_id . "')");

[/code]

thanks in advance guys!! :D

Looks like you’re using cases. Can we see the entire code for the case that’s above case ‘copy_to_confirm’?

thanks for the reply!! i really appreciate it. here is the code requested. (i actually added the whole top section of the script down to line 472 this time just incase ;) )

[code]require(‘includes/application_top.php’);

require(DIR_WS_CLASSES . ‘currencies.php’);
$currencies = new currencies();

$languages = tep_get_languages();

if(isset($HTTP_GET_VARS[‘pID’])){

 $last_name = tep_db_query("select products_image_directory from " . TABLE_PRODUCTS . " where products_id = '" . (int)$HTTP_GET_VARS['pID'] . "'");
 $last = tep_db_fetch_array($last_name);

 $xml_path = DIR_FS_CATALOG . 'images/products/' .  $last['products_image_directory'];
 $current_path2 = $xml_path;
}

if(isset($HTTP_POST_VARS[‘products_id’])){

 $last_name = tep_db_query("select products_image_directory from " . TABLE_PRODUCTS . " where products_id = '" . (int)$HTTP_POST_VARS['products_id'] . "'");
 $last = tep_db_fetch_array($last_name);
}

$album_path = DIR_FS_CATALOG . ‘images/products’;

if ((!tep_session_is_registered(‘current_path’)) || isset($HTTP_GET_VARS[‘first_time’])) {
$current_path = $album_path;
tep_session_register(‘current_path’);
}

if (isset($HTTP_GET_VARS[‘goto’])) {
$current_path = $HTTP_GET_VARS[‘goto’];
tep_redirect(tep_href_link(FILENAME_CATEGORIES, (isset($HTTP_GET_VARS[‘action’]) ? ‘action=’ . $HTTP_GET_VARS[‘action’] : ‘action=new_product’) . ‘&cPath=’ . $cPath . (isset($HTTP_GET_VARS[‘pID’]) ? ‘&pID=’ . $HTTP_GET_VARS[‘pID’] : ‘’)));
}

if (strstr($current_path, ‘…’)) $current_path = $album_path;

if (!is_dir($current_path)) $current_path = $album_path;

if (!ereg(’^’ . $album_path, $current_path)) $current_path = $album_path;

$action = (isset($HTTP_GET_VARS[‘action’]) ? $HTTP_GET_VARS[‘action’] : ‘’);

$saction = (isset($HTTP_GET_VARS[‘saction’]) ? $HTTP_GET_VARS[‘saction’] : ‘’);

$taction = (isset($HTTP_GET_VARS[‘taction’]) ? ‘save’ : ‘edit’);

if (tep_not_null($taction)) {
switch ($taction) {
case ‘save’:
if ($fp = fopen($current_path2 . ‘/’ . (isset($HTTP_GET_VARS[‘lg’])? ‘album_’ . $HTTP_GET_VARS[‘lg’] . ‘.xml’ : ‘album_’ . $languages[0][‘code’] . ‘.xml’), ‘w+’)) {
fputs($fp, stripslashes($HTTP_POST_VARS[‘file_contents’]));
fclose($fp);
tep_redirect(tep_href_link(FILENAME_CATEGORIES, ($HTTP_GET_VARS[‘action’]==‘insert_product’ ? ‘action=insert_product’ : ‘action=new_product’) . ‘&cPath=’ . $cPath . (isset($HTTP_GET_VARS[‘pID’]) ? ‘&pID=’ . $HTTP_GET_VARS[‘pID’] : ‘’) . (isset($HTTP_GET_VARS[‘lg’]) ? ‘&lg=’ . $HTTP_GET_VARS[‘lg’] : ‘’) ));
}
break;
case ‘edit’:
if (strstr($HTTP_GET_VARS[‘info’], ‘…’)) tep_redirect(tep_href_link(FILENAME_CATEGORIES,($HTTP_GET_VARS[‘action’]==‘insert_product’ ? ‘action=insert_product’ : ‘action=new_product’) . ‘&cPath=’ . $cPath . (isset($HTTP_GET_VARS[‘pID’]) ? ‘&pID=’ . $HTTP_GET_VARS[‘pID’] : ‘’)));

   $file_writeable = true;
   if (!is_writeable($current_path2  . '/' . (isset($HTTP_GET_VARS['lg'])? 'album_' . $HTTP_GET_VARS['lg'] . '.xml' : 'album_' .  $languages[0]['code'] . '.xml'))) {
     $file_writeable = false;
   }
   break;
 }
}

if (tep_not_null($saction)) {
switch ($saction) {
case ‘generate_album’:

   if(is_dir($current_path2 )){

     $last_name = tep_db_query("select products_image_directory from " . TABLE_PRODUCTS . " where products_id = '" . (int)$HTTP_GET_VARS['pID'] . "'");
     $last = tep_db_fetch_array($last_name);

     exec('java -Djava.awt.headless=true -jar ' . DIR_FS_CATALOG . 'JAlbum/JAlbum.jar -directory ../images/products/' . $last['products_image_directory'] . '/' . ' -outputDirectory ./ -projectFile ' . DIR_FS_CATALOG . 'JAlbum/banana.jap');



     $languages = tep_get_languages();
     for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
   exec('rm -rf ' . $current_path2 . '/' .  $languages[$i]['code']);
   exec('mkdir ' . $current_path2 . '/' .  $languages[$i]['code'] );
   exec('cp ' . $current_path2 . '/album.xml ' . $current_path2 . '/album_' . $languages[$i]['code'] . '.xml');
   exec('ln -s ' . $current_path2 . '/album_' . $languages[$i]['code'] . '.xml ' .  $current_path2 . '/' .  $languages[$i]['code'] . '/album.xml' );
   exec('ln -s ' . $current_path2 . '/slides ' .  $current_path2 . '/' .  $languages[$i]['code'] . '/slides' );
   exec('ln -s ' . $current_path2 . '/res ' .  $current_path2 . '/' .  $languages[$i]['code'] . '/res' );
   exec('ln -s ' . $current_path2 . '/thumbs ' .  $current_path2 . '/' .  $languages[$i]['code'] . '/thumbs' );
   exec('chmod o+w ' . $current_path2 . '/album_' . $languages[$i]['code'] . '.xml');
     }
 exec('rm -f ' . $current_path2 . '/index.html');
 exec('rm -f ' . $current_path2 . '/album.xml');
 exec('rm -rf ' . $current_path2 . '/res/album.swf');
   }
   break;
 case 'reset':
   tep_session_unregister('current_path');
   tep_redirect(tep_href_link(FILENAME_CATEGORIES,($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')));
   break;
 case 'deleteconfirm':
   if (strstr($HTTP_GET_VARS['info'], '..')) tep_redirect(tep_href_link(FILENAME_CATEGORIES, ($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')));

   tep_remove($current_path . '/' . $HTTP_GET_VARS['info']);
   if (!$tep_remove_error) tep_redirect(tep_href_link(FILENAME_CATEGORIES,($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')));
   break;
 case 'insert':

   $_SESSION['fname'] =  $HTTP_POST_VARS['folder_name'];

   if(isset($HTTP_GET_VARS['pID'])){
     $last_name = tep_db_query("select products_image_directory from " . TABLE_PRODUCTS . " where products_id = '" . (int)$HTTP_GET_VARS['pID'] . "'");
     $last = tep_db_fetch_array($last_name);

     if(tep_not_null($last['products_image_directory'])) 
   exec('rm -rf ' . DIR_FS_CATALOG . 'images/products/' . $last['products_image_directory']);
  
     $new_name = tep_db_prepare_input($HTTP_POST_VARS['folder_name']);

     $sql_data_array = array('products_image_directory' => $HTTP_POST_VARS['folder_name']); 

     tep_db_perform(TABLE_PRODUCTS, $sql_data_array, 'update', "products_id = '" . $HTTP_GET_VARS['pID'] . "'");
  

   }

   if (mkdir($current_path . '/' . $HTTP_POST_VARS['folder_name'], 0777)) {
     tep_redirect(tep_href_link(FILENAME_CATEGORIES, ($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '') . '&info=' . urlencode($HTTP_POST_VARS['folder_name'])));
   }
   break;
 case 'save':
   if ($fp = fopen($current_path . '/' . $HTTP_POST_VARS['filename'], 'w+')) {
     fputs($fp, stripslashes($HTTP_POST_VARS['file_contents']));
     fclose($fp);
     tep_redirect(tep_href_link(FILENAME_CATEGORIES, ($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '') . '&info=' . urlencode($HTTP_POST_VARS['filename'])));
   }
   break;
 case 'processuploads':
   for ($i=1; $i<6; $i++) {
     if (isset($GLOBALS['file_' . $i]) && tep_not_null($GLOBALS['file_' . $i])) {
   new upload('file_' . $i, $current_path);
     }
   }

   tep_redirect(tep_href_link(FILENAME_CATEGORIES,($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')));
   break;
 case 'download':
   header('Content-type: application/x-octet-stream');
   header('Content-disposition: attachment; filename=' . urldecode($HTTP_GET_VARS['filename']));
   readfile($current_path . '/' . urldecode($HTTP_GET_VARS['filename']));
   exit;
   break;
 case 'upload':
 case 'new_folder':
 case 'new_file':
   $directory_writeable = true;
   if (!is_writeable($current_path)) {
     $directory_writeable = false;
     $messageStack->add(sprintf(ERROR_DIRECTORY_NOT_WRITEABLE, $current_path), 'error');
   }
   break;
 case 'edit':
   if (strstr($HTTP_GET_VARS['info'], '..')) tep_redirect(tep_href_link(FILENAME_CATEGORIES,($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')));

   $file_writeable = true;
   if (!is_writeable($current_path . '/' . $HTTP_GET_VARS['info'])) {
     $file_writeable = false;
     $messageStack->add(sprintf(ERROR_FILE_NOT_WRITEABLE, $current_path . '/' . $HTTP_GET_VARS['info']), 'error');
   }
   break;
 case 'delete':
   if (strstr($HTTP_GET_VARS['info'], '..')) tep_redirect(tep_href_link(FILENAME_CATEGORIES,($HTTP_GET_VARS['action']=='insert_product' ? 'action=insert_product' : 'action=new_product') . '&cPath=' . $cPath . (isset($HTTP_GET_VARS['pID']) ? '&pID=' . $HTTP_GET_VARS['pID'] : '')));
   break;
 }
}

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)) {
$last_name = tep_db_query("select products_image_directory from " . TABLE_PRODUCTS . " where products_id = '" . (int)$key . "'");
$last = tep_db_fetch_array($last_name);

if(tep_not_null($last['products_image_directory'])){
  exec('rm -rf ' . DIR_FS_CATALOG . 'images/products/' .  $last['products_image_directory']);
}

tep_remove_product($key);
  }
}

    if (USE_CACHE == 'true') {
      tep_reset_cache_block('categories');
      tep_reset_cache_block('also_purchased');
    }

    tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath));
    break;
  case 'delete_product_confirm':
    if (isset($HTTP_POST_VARS['products_id']) && isset($HTTP_POST_VARS['product_categories']) && is_array($HTTP_POST_VARS['product_categories'])) {
      $product_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
      $product_categories = $HTTP_POST_VARS['product_categories'];

      for ($i=0, $n=sizeof($product_categories); $i<$n; $i++) {
        tep_db_query("delete from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$product_id . "' and categories_id = '" . (int)$product_categories[$i] . "'");
      }

      $product_categories_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$product_id . "'");
      $product_categories = tep_db_fetch_array($product_categories_query);

      if ($product_categories['total'] == '0') {
tep_remove_product($product_id);
  }
}

if(tep_not_null($last['products_image_directory'])){
  exec('rm -rf ' . DIR_FS_CATALOG . 'images/products/' .  $last['products_image_directory']);
}

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_image_directory' => tep_db_prepare_input($_SESSION['fname']),
		      '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 ($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 . "')");[/code]

Gives me 394 lines of code :confused: Perhaps you forgot to submit a portion? Is it an option to just attach the entire file to your post?

i can’t upload a php or text file for some reason? wont play with me :-? (gees i am starting to come across as a tool lmao sorry for the mix ups) :wink:

[code]<?php
/*
$Id: categories.php,v 1.146 2003/07/11 14:40:27 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright © 2003 osCommerce

Released under the GNU General Public License
*/

require(‘includes/application_top.php’);

require(DIR_WS_CLASSES . ‘currencies.php’);
$currencies = new currencies();

$action = (isset($HTTP_GET_VARS[‘action’]) ? $HTTP_GET_VARS[‘action’] : ‘’);

if (tep_not_null($action)) {
switch ($action) {
case ‘setflag’:
if ( ($HTTP_GET_VARS[‘flag’] == ‘0’) || ($HTTP_GET_VARS[‘flag’] == ‘1’) ) {
if (isset($HTTP_GET_VARS[‘pID’])) {
tep_set_product_status($HTTP_GET_VARS[‘pID’], $HTTP_GET_VARS[‘flag’]);
}

      if (USE_CACHE == 'true') {
        tep_reset_cache_block('categories');
        tep_reset_cache_block('also_purchased');
      }
    }

    tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $HTTP_GET_VARS['cPath'] . '&pID=' . $HTTP_GET_VARS['pID']));
    break;
  case 'insert_category':
  case 'update_category':
    if (isset($HTTP_POST_VARS['categories_id'])) $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']);
    $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']);

    $sql_data_array = array('sort_order' => $sort_order);

    if ($action == 'insert_category') {
      $insert_sql_data = array('parent_id' => $current_category_id,
                               'date_added' => 'now()');

      $sql_data_array = array_merge($sql_data_array, $insert_sql_data);

      tep_db_perform(TABLE_CATEGORIES, $sql_data_array);

      $categories_id = tep_db_insert_id();
    } elseif ($action == 'update_category') {
      $update_sql_data = array('last_modified' => 'now()');

      $sql_data_array = array_merge($sql_data_array, $update_sql_data);

      tep_db_perform(TABLE_CATEGORIES, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "'");
    }

    $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++) {
        tep_db_query("delete from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$product_id . "' and categories_id = '" . (int)$product_categories[$i] . "'");
      }

      $product_categories_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$product_id . "'");
      $product_categories = tep_db_fetch_array($product_categories_query);

      if ($product_categories['total'] == '0') {
        tep_remove_product($product_id);
      }
    }

    if (USE_CACHE == 'true') {
      tep_reset_cache_block('categories');
      tep_reset_cache_block('also_purchased');
    }

    tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath));
    break;
  case 'move_category_confirm':
    if (isset($HTTP_POST_VARS['categories_id']) && ($HTTP_POST_VARS['categories_id'] != $HTTP_POST_VARS['move_to_category_id'])) {
      $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']);
      $new_parent_id = tep_db_prepare_input($HTTP_POST_VARS['move_to_category_id']);

      $path = explode('_', tep_get_generated_category_path_ids($new_parent_id));

      if (in_array($categories_id, $path)) {
        $messageStack->add_session(ERROR_CANNOT_MOVE_CATEGORY_TO_PARENT, 'error');

        tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $categories_id));
      } else {
        tep_db_query("update " . TABLE_CATEGORIES . " set parent_id = '" . (int)$new_parent_id . "', last_modified = now() where categories_id = '" . (int)$categories_id . "'");

        if (USE_CACHE == 'true') {
          tep_reset_cache_block('categories');
          tep_reset_cache_block('also_purchased');
        }

        tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $new_parent_id . '&cID=' . $categories_id));
      }
    }

    break;
  case 'move_product_confirm':
    $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
    $new_parent_id = tep_db_prepare_input($HTTP_POST_VARS['move_to_category_id']);

    $duplicate_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$new_parent_id . "'");
    $duplicate_check = tep_db_fetch_array($duplicate_check_query);
    if ($duplicate_check['total'] < 1) tep_db_query("update " . TABLE_PRODUCTS_TO_CATEGORIES . " set categories_id = '" . (int)$new_parent_id . "' where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$current_category_id . "'");

    if (USE_CACHE == 'true') {
      tep_reset_cache_block('categories');
      tep_reset_cache_block('also_purchased');
    }

    tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $new_parent_id . '&pID=' . $products_id));
    break;
  case 'insert_product':
  case 'update_product':
    if (isset($HTTP_POST_VARS['edit_x']) || isset($HTTP_POST_VARS['edit_y'])) {
      $action = 'new_product';
    } else {
      if (isset($HTTP_GET_VARS['pID'])) $products_id = tep_db_prepare_input($HTTP_GET_VARS['pID']);
      $products_date_available = tep_db_prepare_input($HTTP_POST_VARS['products_date_available']);

      $products_date_available = (date('Y-m-d') < $products_date_available) ? $products_date_available : 'null';

      $sql_data_array = array('products_quantity' => tep_db_prepare_input($HTTP_POST_VARS['products_quantity']),
                              'products_model' => tep_db_prepare_input($HTTP_POST_VARS['products_model']),
                              'products_price' => tep_db_prepare_input($HTTP_POST_VARS['products_price']),
                              'products_date_available' => $products_date_available,
                              'products_weight' => tep_db_prepare_input($HTTP_POST_VARS['products_weight']),
                              'products_status' => tep_db_prepare_input($HTTP_POST_VARS['products_status']),
                              'products_tax_class_id' => tep_db_prepare_input($HTTP_POST_VARS['products_tax_class_id']),
                              'manufacturers_id' => tep_db_prepare_input($HTTP_POST_VARS['manufacturers_id']));

      if (isset($HTTP_POST_VARS['products_image']) && tep_not_null($HTTP_POST_VARS['products_image']) && ($HTTP_POST_VARS['products_image'] != 'none')) {
        $sql_data_array['products_image'] = tep_db_prepare_input($HTTP_POST_VARS['products_image']);
      }

      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 . "'");
      }

/** AJAX Attribute Manager /
require_once(‘attributeManager/includes/attributeManagerUpdateAtomic.inc.php’);
/
AJAX Attribute Manager end **/

      $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 ($action == 'insert_product') {
          $insert_sql_data = array('products_id' => $products_id,
                                   'language_id' => $language_id);

          $sql_data_array = array_merge($sql_data_array, $insert_sql_data);

          tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array);
        } elseif ($action == 'update_product') {
          tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "' and language_id = '" . (int)$language_id . "'");
        }
      }

      if (USE_CACHE == 'true') {
        tep_reset_cache_block('categories');
        tep_reset_cache_block('also_purchased');
      }

      tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $products_id));
    }
    break;
  case 'copy_to_confirm':
    if (isset($HTTP_POST_VARS['products_id']) && isset($HTTP_POST_VARS['categories_id'])) {
      $products_id = tep_db_prepare_input($HTTP_POST_VARS['products_id']);
      $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']);

      if ($HTTP_POST_VARS['copy_as'] == 'link') {
        if ($categories_id != $current_category_id) {
          $check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . (int)$products_id . "' and categories_id = '" . (int)$categories_id . "'");
          $check = tep_db_fetch_array($check_query);
          if ($check['total'] < '1') {
            tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categories_id . "')");
          }
        } else {
          $messageStack->add_session(ERROR_CANNOT_LINK_TO_SAME_CATEGORY, 'error');
        }
      } elseif ($HTTP_POST_VARS['copy_as'] == 'duplicate') {
        $product_query = tep_db_query("select products_quantity, products_model, products_image, products_price, products_date_available, products_weight, products_tax_class_id, manufacturers_id from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'");
        $product = tep_db_fetch_array($product_query);

        tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model,products_image, products_price, products_date_added, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id) values ('" . tep_db_input($product['products_quantity']) . "', '" . tep_db_input($product['products_model']) . "', '" . tep_db_input($product['products_image']) . "', '" . tep_db_input($product['products_price']) . "',  now(), '" . tep_db_input($product['products_date_available']) . "', '" . tep_db_input($product['products_weight']) . "', '0', '" . (int)$product['products_tax_class_id'] . "', '" . (int)$product['manufacturers_id'] . "')");
        $dup_products_id = tep_db_insert_id();

        $description_query = tep_db_query("select language_id, products_name, products_description, 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, 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;
      }

      if (USE_CACHE == 'true') {
        tep_reset_cache_block('categories');
        tep_reset_cache_block('also_purchased');
      }
    }

    tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $categories_id . '&pID=' . $products_id));
    break;
  case 'new_product_preview':

// copy image only if modified
$products_image = new upload(‘products_image’);
$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’] : ‘’);
}
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”>

> <?php echo TITLE; ?> <?php require_once( 'attributeManager/includes/attributeManagerHeader.inc.php' )?>
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
  </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 ''; ?>
            </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 ''; ?>
            </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; ?>&nbsp;</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 ' ' . "n"; } else { echo ' ' . "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>&nbsp;<b>' . $categories['categories_name'] . '</b>'; ?></td>
            <td class="dataTableContent" align="center">&nbsp;</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>'; } ?>&nbsp;</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, p.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, 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 ' ' . "n"; } else { echo ' ' . "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>&nbsp;' . $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) . '  ' . tep_image(DIR_WS_IMAGES . 'icon_status_red_light.gif', IMAGE_ICON_STATUS_RED_LIGHT, 10, 10) . ''; } else { echo '' . tep_image(DIR_WS_IMAGES . 'icon_status_green_light.gif', IMAGE_ICON_STATUS_GREEN_LIGHT, 10, 10) . '  ' . tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10); } ?>
            <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>'; } ?>&nbsp;</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 . '&nbsp;' . $categories_count . '<br>' . TEXT_PRODUCTS . '&nbsp;' . $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>&nbsp;'; 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>&nbsp;<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&action=new_product') . '">' . tep_image_button('button_new_product.gif', IMAGE_NEW_PRODUCT) . '</a>'; ?>&nbsp;</td>
              </tr>
            </table></td>
          </tr>
        </table></td>
<?php $heading = array(); $contents = array(); switch ($action) { case 'new_category': $heading[] = array('text' => '' . TEXT_INFO_HEADING_NEW_CATEGORY . ''); $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 .= '
' . 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'] . ']'); } [/code]
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<?php if ($action == 'new_product') { $parameters = array('products_name' => '', 'products_description' => '', 'products_url' => '', 'products_id' => '', 'products_quantity' => '', 'products_model' => '', 'products_image' => '', 'products_price' => '', 'products_weight' => '', 'products_date_added' => '', 'products_last_modified' => '', 'products_date_available' => '', 'products_status' => '', 'products_tax_class_id' => '', 'manufacturers_id' => '');
$pInfo = new objectInfo($parameters);

if (isset($HTTP_GET_VARS['pID']) && empty($HTTP_POST_VARS)) {
  $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 = '" . (int)$HTTP_GET_VARS['pID'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'");
  $product = tep_db_fetch_array($product_query);

  $pInfo->objectInfo($product);
} elseif (tep_not_null($HTTP_POST_VARS)) {
  $pInfo->objectInfo($HTTP_POST_VARS);
  $products_name = $HTTP_POST_VARS['products_name'];
  $products_description = $HTTP_POST_VARS['products_description'];
  $products_url = $HTTP_POST_VARS['products_url'];
}

$manufacturers_array = array(array('id' => '', 'text' => TEXT_NONE));
$manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name");
while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {
  $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],
                                 'text' => $manufacturers['manufacturers_name']);
}

$tax_class_array = array(array('id' => '0', 'text' => TEXT_NONE));
$tax_class_query = tep_db_query("select tax_class_id, tax_class_title from " . TABLE_TAX_CLASS . " order by tax_class_title");
while ($tax_class = tep_db_fetch_array($tax_class_query)) {
  $tax_class_array[] = array('id' => $tax_class['tax_class_id'],
                             'text' => $tax_class['tax_class_title']);
}

$languages = tep_get_languages();

if (!isset($pInfo->products_status)) $pInfo->products_status = '1';
switch ($pInfo->products_status) {
  case '0': $in_status = false; $out_status = true; break;
  case '1':
  default: $in_status = true; $out_status = false;
}

?>

<?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']); ?>&nbsp;</td>
            <td class="main"><?php echo tep_draw_textarea_field('products_description[' . $languages[$i]['id'] . ']', 'soft', '70', '15', (isset($products_description[$languages[$i]['id']]) ? $products_description[$languages[$i]['id']] : tep_get_products_description($pInfo->products_id, $languages[$i]['id']))); ?></td>
          </tr>
        </table></td>
      </tr>
<?php } ?>
      <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') . '&nbsp;' . 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') . '&nbsp;' . 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') . '&nbsp;' . tep_draw_file_field('products_image') . '<br>' . tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . $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']) . '&nbsp;' . tep_draw_input_field('products_url[' . $languages[$i]['id'] . ']', (isset($products_url[$languages[$i]['id']]) ? $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') . '&nbsp;' . 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', (tep_not_null($pInfo->products_date_added) ? $pInfo->products_date_added : date('Y-m-d'))) . tep_image_submit('button_preview.gif', IMAGE_PREVIEW) . '&nbsp;&nbsp;<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']; $products_description = $HTTP_POST_VARS['products_description']; $products_url = $HTTP_POST_VARS['products_url']; } 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 = '" . (int)$HTTP_GET_VARS['pID'] . "'"); $product = tep_db_fetch_array($product_query); $pInfo = new objectInfo($product); $products_image_name = $pInfo->products_image; } $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->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']]); } ?>
<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']) . '&nbsp;' . $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 (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('products_url[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_url[$languages[$i]['id']]))); } echo tep_draw_hidden_field('products_image', stripslashes($products_image_name)); 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 '  ' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . ''; ?>

What I’ve managed to find out after several long, hard looks, is that the error is thrown because of a missing (or extra) closing bracket. The problem is, I can’t find it … Everything looks syntactically correct :confused:

hi again, thanks for the response…i was a little baffled too as it was all working fine before and alot of recommendations about the contribution itself so i figured not a problem…thats ok… i will drop the contribution and go back to the last back up… i really appreciate the time and effort you have put into it :)
kel

Sponsor our Newsletter | Privacy Policy | Terms of Service