I've had a quick look at the code. Is it correct that I should only need to use the following?
Code:
// remove product from all its categories:
for ($k=0, $m=sizeof($product_categories); $k<$m; $k++) {
$db->Execute("delete from " . TABLE_PRODUCTS_TO_CATEGORIES . "
where products_id = '" . (int)$product_id . "'
and categories_id = '" . (int)$product_categories[$k] . "'");
}
// confirm that product is no longer linked to any categories
$count_categories = $db->Execute("select count(categories_id) as total
from " . TABLE_PRODUCTS_TO_CATEGORIES . "
where products_id = '" . (int)$product_id . "'");
// echo 'count of category links for this product=' . $count_categories->fields['total'] . '<br />';
// if not linked to any categories, do delete:
if ($count_categories->fields['total'] == '0') {
zen_remove_product($product_id, $delete_linked);
}