From 89fe0ff804e7c6497ebacc8b341ac89974f6f255 Mon Sep 17 00:00:00 2001 From: donncha Date: Mon, 21 May 2007 18:37:58 +0000 Subject: WP Merge to rev 5499, this is a big one! Test it before you put it live! Test only, not for production use yet git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@972 7be80a69-a1ef-0310-a953-fb0f7c49ff36 --- wp-admin/admin-db.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'wp-admin/admin-db.php') diff --git a/wp-admin/admin-db.php b/wp-admin/admin-db.php index de90ad7..24e2388 100644 --- a/wp-admin/admin-db.php +++ b/wp-admin/admin-db.php @@ -125,6 +125,11 @@ function wp_insert_category($catarr) { else $links_private = 0; + + // Let's check if we have this category already, if so just do an update + if ( !$update && $cat_ID = category_object_exists( $category_nicename ) ) + $update = true; + if (!$update) { $maxcat = $wpdb->get_var( "SELECT max(cat_ID) FROM {$wpdb->categories}" ); $cat_ID = mt_rand( $maxcat+100, $maxcat+4000 ); @@ -153,6 +158,11 @@ function wp_insert_category($catarr) { clean_category_cache($cat_ID); + if ($update) + do_action('edited_category', $cat_ID); + else + do_action('created_category', $cat_ID); + return $cat_ID; } @@ -245,6 +255,14 @@ function wp_create_categories($categories, $post_id = '') { return $cat_ids; } +function category_object_exists($cat_name) { + global $wpdb; + if (!$category_nicename = sanitize_title($cat_name)) + return 0; + + return (int) $wpdb->get_var("SELECT cat_ID FROM $wpdb->categories WHERE category_nicename = '$category_nicename'"); +} + function category_exists($cat_name) { global $wpdb; if (!$category_nicename = sanitize_title($cat_name)) @@ -419,6 +437,8 @@ function wp_delete_link($link_id) { $wpdb->query("DELETE FROM $wpdb->link2cat WHERE link_id = '$link_id'"); return $wpdb->query("DELETE FROM $wpdb->links WHERE link_id = '$link_id'"); + + do_action('deleted_link', $link_id); } function wp_get_link_cats($link_ID = 0) { -- cgit