function JB_del_cat_recursive($category_id) { $query = "SELECT * FROM categories WHERE category_id='" . jb_escape_sql($category_id) . "' "; $result = JB_mysql_query($query) or die(mysql_error() . $query); $row = mysql_fetch_array($result, MYSQL_ASSOC); if ($row['obj_count'] > 0 && $_REQUEST['confirm'] == false) { return -$row['obj_count']; } $query = "DELETE\tFROM categories WHERE category_id='" . jb_escape_sql($category_id) . "' "; JB_mysql_query($query) or die(mysql_error() . $query); $query = "DELETE\tFROM cat_name_translations WHERE category_id='" . jb_escape_sql($category_id) . "' "; JB_mysql_query($query) or die(mysql_error() . $query); $query = "SELECT * FROM categories WHERE parent_category_id='" . jb_escape_sql($category_id) . "' "; $result = JB_mysql_query($query) or die(mysql_error() . $query); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { JB_del_cat_recursive($row['category_id']); } }
// update language $sql = "REPLACE INTO `cat_name_translations` (`category_id`, `lang`, `category_name`) VALUES (" . jb_escape_sql($category_id) . ", '" . jb_escape_sql($_SESSION["LANG"]) . "', '" . jb_escape_sql($new_name) . "')"; $result = JB_mysql_query($sql) or die(mysql_error()); JB_compute_cat_has_child(); JB_cache_del_keys_for_all_cats(1); JB_cache_del_keys_for_all_cats(2); JB_cache_del_keys_for_all_cats(3); JB_cache_del_keys_for_all_cats(4); JB_cache_del_keys_for_all_cats(5); JB_cache_del_keys_for_cat_options(); $JBMarkup->ok_msg('Category Saved.'); } if ($action == 'del') { $_REQUEST['cat'] = JB_getCatParent($_REQUEST['category_id']); // so that we come back to parent.. if (($obj_count = JB_del_cat_recursive($_REQUEST['category_id'])) < 0) { $obj_count = -$obj_count; $JBMarkup->error_msg("<b>Error:</b></font> Cannot delete this category: It looks like you have " . $obj_count . " record(s) in this category! <a href='" . htmlentities($_SERVER['PHP_SELF']) . "?action=del&category_id=" . jb_escape_html($_REQUEST['category_id']) . "&confirm=yes'>Click Here to delete anyway.</a>"); } JB_compute_cat_has_child(); if ($_REQUEST['save'] != '') { JB_cache_del_keys_for_all_cats(1); JB_cache_del_keys_for_all_cats(2); JB_cache_del_keys_for_all_cats(3); JB_cache_del_keys_for_all_cats(4); JB_cache_del_keys_for_all_cats(5); JB_cache_del_keys_for_cat_options(); } $JBMarkup->ok_msg('Category Deleted.'); } if ($_REQUEST['action'] == 'process') {