From f9e3a4df2af13a4390f83f9a00fdd3249dc1a0a7 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Mon, 12 Nov 2007 19:12:49 +0000 Subject: [PATCH] Output WP_Error message when adding categories via AJAX. fixes #5342 git-svn-id: https://develop.svn.wordpress.org/trunk@6329 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/admin-ajax.php | 15 ++++++++++++--- wp-admin/includes/taxonomy.php | 10 +++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php index 8d7b6c0961..2dea874b37 100644 --- a/wp-admin/admin-ajax.php +++ b/wp-admin/admin-ajax.php @@ -199,10 +199,19 @@ case 'add-cat' : // From Manage->Categories $x->send(); } - if ( !$cat = wp_insert_category( $_POST ) ) - die('0'); - if ( !$cat = get_category( $cat ) ) + $cat = wp_insert_category( $_POST, true ); + + if ( is_wp_error($cat) ) { + $x = new WP_Ajax_Response( array( + 'what' => 'cat', + 'id' => $cat + ) ); + $x->send(); + } + + if ( !$cat || (!$cat = get_category( $cat )) ) die('0'); + $level = 0; $cat_full_name = $cat->name; $_cat = $cat; diff --git a/wp-admin/includes/taxonomy.php b/wp-admin/includes/taxonomy.php index 3f70f45b8d..df8c80ae72 100644 --- a/wp-admin/includes/taxonomy.php +++ b/wp-admin/includes/taxonomy.php @@ -52,7 +52,7 @@ function wp_delete_category($cat_ID) { return wp_delete_term($cat_ID, 'category', "default=$default"); } -function wp_insert_category($catarr) { +function wp_insert_category($catarr, $wp_error = false) { global $wpdb; extract($catarr, EXTR_SKIP); @@ -84,8 +84,12 @@ function wp_insert_category($catarr) { else $cat_ID = wp_insert_term($cat_name, 'category', $args); - if ( is_wp_error($cat_ID) ) - return 0; + if ( is_wp_error($cat_ID) ) { + if ( $wp_error ) + return $cat_ID; + else + return 0; + } return $cat_ID['term_id']; }