Changeset 1359
- Timestamp:
- 05/24/2004 10:07:30 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/xmlrpc.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/xmlrpc.php
r1355 r1359 369 369 $wp_xmlrpc_server = new wp_xmlrpc_server(); 370 370 371 372 373 /* functions that we ought to relocate374 * and/or roll into a WP class as extension of wpdb375 */376 377 function wp_insert_post($postarr = array()) {378 global $wpdb, $post_default_category;379 380 // export array as variables381 extract($postarr);382 383 // Do some escapes for safety384 $post_title = $wpdb->escape($post_title);385 $post_name = sanitize_title($post_title);386 $post_excerpt = $wpdb->escape($post_excerpt);387 $post_content = $wpdb->escape($post_content);388 $post_author = (int) $post_author;389 390 // Make sure we set a valid category391 if (0 == count($post_category) || !is_array($post_category)) {392 $post_category = array($post_default_category);393 }394 395 $post_cat = $post_category[0];396 397 if (empty($post_date))398 $post_date = current_time('mysql');399 // Make sure we have a good gmt date:400 if (empty($post_date_gmt))401 $post_date_gmt = get_gmt_from_date($post_date);402 403 $sql = "INSERT INTO $wpdb->posts404 (post_author, post_date, post_date_gmt, post_modified, post_modified_gmt, post_content, post_title, post_excerpt, post_category, post_status, post_name)405 VALUES ('$post_author', '$post_date', '$post_date_gmt', '$post_date', '$post_date_gmt', '$post_content', '$post_title', '$post_excerpt', '$post_cat', '$post_status', '$post_name')";406 407 $result = $wpdb->query($sql);408 $post_ID = $wpdb->insert_id;409 $blog_ID = (isset($blog_ID)) ? $blog_ID : 1;410 411 wp_set_post_cats($blog_ID, $post_ID, $post_category);412 413 // Return insert_id if we got a good result, otherwise return zero.414 return $result ? $post_ID : 0;415 }416 417 418 function wp_set_post_cats($blogid = '1', $post_ID = 0, $post_categories = array()) {419 global $wpdb;420 // If $post_categories isn't already an array, make it one:421 if (!is_array($post_categories)) {422 if (!$post_categories) {423 $post_categories = 1;424 }425 $post_categories = array($post_categories);426 }427 428 $post_categories = array_unique($post_categories);429 430 // First the old categories431 $old_categories = $wpdb->get_col("432 SELECT category_id433 FROM $wpdb->post2cat434 WHERE post_id = $post_ID");435 436 if (!$old_categories) {437 $old_categories = array();438 } else {439 $old_categories = array_unique($old_categories);440 }441 442 443 $oldies = print_r($old_categories,1);444 $newbies = print_r($post_categories,1);445 446 logio("O","Old: $oldies\nNew: $newbies\n");447 448 // Delete any?449 $delete_cats = array_diff($old_categories,$post_categories);450 451 logio("O","Delete: " . print_r($delete_cats,1));452 453 if ($delete_cats) {454 foreach ($delete_cats as $del) {455 $wpdb->query("456 DELETE FROM $wpdb->post2cat457 WHERE category_id = $del458 AND post_id = $post_ID459 ");460 461 logio("O","deleting post/cat: $post_ID, $del");462 }463 }464 465 // Add any?466 $add_cats = array_diff($post_categories, $old_categories);467 468 logio("O","Add: " . print_r($add_cats,1));469 470 if ($add_cats) {471 foreach ($add_cats as $new_cat) {472 $wpdb->query("473 INSERT INTO $wpdb->post2cat (post_id, category_id)474 VALUES ($post_ID, $new_cat)");475 476 logio("O","adding post/cat: $post_ID, $new_cat");477 }478 }479 }480 481 482 function wp_get_post_cats($blogid = '1', $post_ID = 0) {483 global $wpdb;484 485 $sql = "SELECT category_id486 FROM $wpdb->post2cat487 WHERE post_id = $post_ID488 ORDER BY category_id";489 490 $result = $wpdb->get_col($sql);491 492 return array_unique($result);493 }494 495 496 497 371 ?>
Note: See TracChangeset
for help on using the changeset viewer.