Make WordPress Core


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/comment.php

    r16638 r13995  
    1919 * then the check fails.
    2020 *
    21  * If the comment author was approved before, then the comment is
    22  * automatically whitelisted.
     21 * If the comment is a trackback and part of the blogroll, then the trackback is
     22 * automatically whitelisted. If the comment author was approved before, then
     23 * the comment is automatically whitelisted.
    2324 *
    2425 * If none of the checks fail, then the failback is to set the check to pass
     
    8081    // Comment whitelisting:
    8182    if ( 1 == get_option('comment_whitelist')) {
    82         if ( 'trackback' != $comment_type && 'pingback' != $comment_type && $author != '' && $email != '' ) {
     83        if ( 'trackback' == $comment_type || 'pingback' == $comment_type ) { // check if domain is in blogroll
     84            $uri = parse_url($url);
     85            $domain = $uri['host'];
     86            $uri = parse_url( home_url() );
     87            $home_domain = $uri['host'];
     88            if ( $wpdb->get_var($wpdb->prepare("SELECT link_id FROM $wpdb->links WHERE link_url LIKE (%s) LIMIT 1", '%'.$domain.'%')) || $domain == $home_domain )
     89                return true;
     90            else
     91                return false;
     92        } elseif ( $author != '' && $email != '' ) {
    8393            // expected_slashed ($author, $email)
    8494            $ok_to_comment = $wpdb->get_var("SELECT comment_approved FROM $wpdb->comments WHERE comment_author = '$author' AND comment_author_email = '$email' and comment_approved = '1' LIMIT 1");
     
    16451655                $pinged[] = $tb_ping;
    16461656            } else {
    1647                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, %s, '')) WHERE ID = %d", $tb_ping, $post_id) );
     1657                $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, '$tb_ping', '')) WHERE ID = %d", $post_id) );
    16481658            }
    16491659        }
Note: See TracChangeset for help on using the changeset viewer.