summaryrefslogtreecommitdiffstats
path: root/wp-admin/includes/taxonomy.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-04 16:44:15 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-04 16:44:15 +0000
commit7740e89de3e1bc0cc636120e3ca8ab9e97e4d3cc (patch)
treec6fd23b598f3994eddb18cb1c0f2e8d95ff054fa /wp-admin/includes/taxonomy.php
parentf650f48c048bfbbb2ae702b6425d87e39358d748 (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.php37
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
+?>