Changeset 2894 for trunk/wp-includes/functions-post.php
- Timestamp:
- 09/20/2005 03:17:43 AM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/functions-post.php
r2887 r2894 457 457 } 458 458 459 function wp_new_comment( $commentdata, $spam = false ) {460 global $wpdb;461 462 $commentdata = apply_filters('preprocess_comment', $commentdata);463 extract($commentdata);464 465 $comment_post_ID = (int) $comment_post_ID;466 467 $user_id = apply_filters('pre_user_id', $user_ID);468 $author = apply_filters('pre_comment_author_name', $comment_author);469 $email = apply_filters('pre_comment_author_email', $comment_author_email);470 $url = apply_filters('pre_comment_author_url', $comment_author_url);471 $comment = apply_filters('pre_comment_content', $comment_content);472 $comment = apply_filters('post_comment_text', $comment); // Deprecated473 $comment = apply_filters('comment_content_presave', $comment); // Deprecated474 475 $user_ip = apply_filters('pre_comment_user_ip', $_SERVER['REMOTE_ADDR']);476 $user_domain = apply_filters('pre_comment_user_domain', gethostbyaddr($user_ip) );477 $user_agent = apply_filters('pre_comment_user_agent', $_SERVER['HTTP_USER_AGENT']);478 479 $now = current_time('mysql');480 $now_gmt = current_time('mysql', 1);481 482 if ( $user_id ) {483 $userdata = get_userdata($user_id);484 $user = new WP_User($user_id);485 $post_author = $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = '$comment_post_ID' LIMIT 1");486 }487 488 // Simple duplicate check489 $dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND ( comment_author = '$author' ";490 if ( $email ) $dupe .= "OR comment_author_email = '$email' ";491 $dupe .= ") AND comment_content = '$comment' LIMIT 1";492 if ( $wpdb->get_var($dupe) )493 die( __('Duplicate comment detected; it looks as though you\'ve already said that!') );494 495 // Simple flood-protection496 if ( $lasttime = $wpdb->get_var("SELECT comment_date_gmt FROM $wpdb->comments WHERE comment_author_IP = '$user_ip' OR comment_author_email = '$email' ORDER BY comment_date DESC LIMIT 1") ) {497 $time_lastcomment = mysql2date('U', $lasttime);498 $time_newcomment = mysql2date('U', $now_gmt);499 if ( ($time_newcomment - $time_lastcomment) < 15 ) {500 do_action('comment_flood_trigger', $time_lastcomment, $time_newcomment);501 die( __('Sorry, you can only post a new comment once every 15 seconds. Slow down cowboy.') );502 }503 }504 505 if ( $userdata && ( $user_id == $post_author || $user->has_cap('level_9') ) ) {506 $approved = 1;507 } else {508 if ( check_comment($author, $email, $url, $comment, $user_ip, $user_agent, $comment_type) )509 $approved = 1;510 else511 $approved = 0;512 if ( wp_blacklist_check($author, $email, $url, $comment, $user_ip, $user_agent) )513 $approved = 'spam';514 }515 516 $approved = apply_filters('pre_comment_approved', $approved);517 518 $result = $wpdb->query("INSERT INTO $wpdb->comments519 (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_approved, comment_agent, comment_type, user_id)520 VALUES521 ('$comment_post_ID', '$author', '$email', '$url', '$user_ip', '$now', '$now_gmt', '$comment', '$approved', '$user_agent', '$comment_type', '$user_id')522 ");523 524 $comment_id = $wpdb->insert_id;525 do_action('comment_post', $comment_id, $approved);526 527 if ( 'spam' !== $approved ) { // If it's spam save it silently for later crunching528 if ( '0' == $approved )529 wp_notify_moderator($comment_id);530 531 if ( get_settings('comments_notify') && $approved )532 wp_notify_postauthor($comment_id, $comment_type);533 }534 535 return $result;536 }537 538 function wp_update_comment($commentarr) {539 global $wpdb;540 541 // First, get all of the original fields542 $comment = get_comment($commentarr['comment_ID'], ARRAY_A);543 544 // Escape data pulled from DB.545 foreach ($comment as $key => $value)546 $comment[$key] = $wpdb->escape($value);547 548 // Merge old and new fields with new fields overwriting old ones.549 $commentarr = array_merge($comment, $commentarr);550 551 // Now extract the merged array.552 extract($commentarr);553 554 $comment_content = apply_filters('comment_save_pre', $comment_content);555 556 $result = $wpdb->query(557 "UPDATE $wpdb->comments SET558 comment_content = '$comment_content',559 comment_author = '$comment_author',560 comment_author_email = '$comment_author_email',561 comment_approved = '$comment_approved',562 comment_author_url = '$comment_author_url',563 comment_date = '$comment_date'564 WHERE comment_ID = $comment_ID" );565 566 $rval = $wpdb->rows_affected;567 568 do_action('edit_comment', $comment_ID);569 570 return $rval;571 }572 573 459 function do_trackbacks($post_id) { 574 460 global $wpdb;
Note: See TracChangeset
for help on using the changeset viewer.