Make WordPress Core


Ignore:
Timestamp:
12/16/2004 02:57:05 AM (20 years ago)
Author:
saxmatt
Message:

Comments refactoring and cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/functions-post.php

    r1940 r1964  
    383383
    384384
    385 function wp_new_comment($commentdata) {
    386     global $wpdb;
     385function wp_new_comment( $commentdata ) {
     386    global $wpdb;
     387
    387388    extract($commentdata);
    388389
    389390    $comment_post_ID = (int) $comment_post_ID;
    390391
    391     $comment_author = strip_tags($comment_author);
    392     $comment_author = wp_specialchars($comment_author);
    393 
    394     $comment_author_email = preg_replace('/[^a-z+_.@-]/i', '', $comment_author_email);
    395 
    396     $comment_author_url = strip_tags($comment_author_url);
    397     $comment_author_url = wp_specialchars($comment_author_url);
    398 
    399     $comment_content = apply_filters('comment_content_presave', $comment_content);
    400 
    401     $user_ip = addslashes($_SERVER['REMOTE_ADDR']);
    402     $user_domain = addslashes( gethostbyaddr($user_ip) );
    403     $now = current_time('mysql');
     392    $author  = apply_filters('pre_comment_author_name', $comment_author);
     393    $email   = apply_filters('pre_comment_author_email', $comment_author_email);
     394    $url     = apply_filters('pre_comment_author_url', $comment_author_url);
     395    $comment = apply_filters('pre_comment_content', $comment_content);
     396    $comment = apply_filters('post_comment_text', $comment); // Deprecated
     397    $comment = apply_filters('comment_content_presave', $comment_content); // Deprecated
     398
     399    $user_ip     = apply_filters('pre_comment_user_ip', $_SERVER['REMOTE_ADDR']);
     400    $user_domain = apply_filters('pre_comment_user_domain', gethostbyaddr($user_ip) );
     401    $user_agent  = apply_filters('pre_comment_user_agent', $_SERVER['HTTP_USER_AGENT']);
     402
     403    $now     = current_time('mysql');
    404404    $now_gmt = current_time('mysql', 1);
    405     $user_agent = addslashes($_SERVER['HTTP_USER_AGENT']);
    406 
    407     if ( (!isset($comment_type)) || (($comment_type != 'trackback') && ($comment_type != 'pingback')) ) {
    408         $comment_type = '';
    409     }
    410405
    411406    // Simple flood-protection
    412     if ( $lasttime = $wpdb->get_var("SELECT comment_date FROM $wpdb->comments WHERE comment_author_IP = '$user_ip' ORDER BY comment_date DESC LIMIT 1") ) {
    413         $time_lastcomment= mysql2date('U', $lasttime);
    414         $time_newcomment= mysql2date('U', $now);
     407    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") ) {
     408        $time_lastcomment = mysql2date('U', $lasttime);
     409        $time_newcomment  = mysql2date('U', $now_gmt);
    415410        if ( ($time_newcomment - $time_lastcomment) < 15 )
    416411            die( __('Sorry, you can only post a new comment once every 15 seconds. Slow down cowboy.') );
    417412    }
    418413
    419     if( check_comment($comment_author, $comment_author_email, $comment_author_url, $comment_content, $user_ip, $user_agent) )
     414    if( check_comment($author, $email, $url, $comment, $user_ip, $user_agent) )
    420415        $approved = 1;
    421416    else
     
    428423    ");
    429424
    430     if ( get_option('comments_notify') )
    431         wp_notify_postauthor($wpdb->insert_id, $comment_type);
     425    $comment_id = $wpdb->insert_id;
     426    do_action('comment_post', $comment_id);
     427
     428    if ( !$approved )
     429        wp_notify_moderator($comment_ID);
     430
     431    if ( get_settings('comments_notify') && $approved )
     432        wp_notify_postauthor($comment_ID, 'comment');
    432433
    433434    return $result;
Note: See TracChangeset for help on using the changeset viewer.