diff options
| author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-04-04 16:44:15 +0000 |
|---|---|---|
| committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-04-04 16:44:15 +0000 |
| commit | 7740e89de3e1bc0cc636120e3ca8ab9e97e4d3cc (patch) | |
| tree | c6fd23b598f3994eddb18cb1c0f2e8d95ff054fa /wp-admin/includes/taxonomy.php | |
| parent | f650f48c048bfbbb2ae702b6425d87e39358d748 (diff) | |
Merged with WordPress 2.5, unstable, only for testing
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1218 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/includes/taxonomy.php')
| -rw-r--r-- | wp-admin/includes/taxonomy.php | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/wp-admin/includes/taxonomy.php b/wp-admin/includes/taxonomy.php index 3f70f45..b490ed6 100644 --- a/wp-admin/includes/taxonomy.php +++ b/wp-admin/includes/taxonomy.php @@ -16,11 +16,11 @@ function get_category_to_edit( $id ) { return $category; } -function wp_create_category($cat_name) { +function wp_create_category( $cat_name, $parent = 0 ) { if ( $id = category_exists($cat_name) ) return $id; - return wp_insert_category( array('cat_name' => $cat_name) ); + return wp_insert_category( array('cat_name' => $cat_name, 'category_parent' => $parent) ); } function wp_create_categories($categories, $post_id = '') { @@ -40,8 +40,6 @@ function wp_create_categories($categories, $post_id = '') { } function wp_delete_category($cat_ID) { - global $wpdb; - $cat_ID = (int) $cat_ID; $default = get_option('default_category'); @@ -52,13 +50,17 @@ function wp_delete_category($cat_ID) { return wp_delete_term($cat_ID, 'category', "default=$default"); } -function wp_insert_category($catarr) { - global $wpdb; - +function wp_insert_category($catarr, $wp_error = false) { + $cat_defaults = array('cat_ID' => 0, 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => ''); + $cat_arr = wp_parse_args($cat_arr, $cat_defaults); extract($catarr, EXTR_SKIP); - if ( trim( $cat_name ) == '' ) - return 0; + if ( trim( $cat_name ) == '' ) { + if ( ! $wp_error ) + return 0; + else + return new WP_Error( 'cat_name', __('You did not enter a category name.') ); + } $cat_ID = (int) $cat_ID; @@ -74,6 +76,9 @@ function wp_insert_category($catarr) { $parent = $category_parent; $parent = (int) $parent; + if ( $parent < 0 ) + $parent = 0; + if ( empty($parent) || !category_exists( $parent ) || ($cat_ID && cat_is_ancestor_of($cat_ID, $parent) ) ) $parent = 0; @@ -84,15 +89,17 @@ 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']; } function wp_update_category($catarr) { - global $wpdb; - $cat_ID = (int) $catarr['cat_ID']; if ( $cat_ID == $catarr['category_parent'] ) @@ -115,8 +122,6 @@ function wp_update_category($catarr) { // function get_tags_to_edit( $post_id ) { - global $wpdb; - $post_id = (int) $post_id; if ( !$post_id ) return false; @@ -145,4 +150,4 @@ function wp_create_tag($tag_name) { return wp_insert_term($tag_name, 'post_tag'); } -?>
\ No newline at end of file +?> |
