WordPress.org

Make WordPress Core

Ticket #3491: pingback_extend_comment.patch

File pingback_extend_comment.patch, 1.1 KB (added by monkinetic, 9 years ago)

This patch adds a new hook before a pingback is saved

  • xmlrpc.php

     
    12161216                $sem_regexp_pb = "/(\\/|\\\|\*|\?|\+|\.|\^|\\$|\(|\)|\[|\]|\||\{|\})/"; 
    12171217                $sem_regexp_fix = "\\\\$1"; 
    12181218                $link = preg_replace( $sem_regexp_pb, $sem_regexp_fix, $pagelinkedfrom ); 
    1219  
     1219                $inlink = preg_replace( $sem_regexp_pb, $sem_regexp_fix, $pagelinkedto ); 
     1220                $extended_data = array(); 
     1221                 
    12201222                $finished = false; 
    12211223                foreach ( $p as $para ) { 
    12221224                        if ( $finished ) 
    12231225                                continue; 
    12241226                        if ( strstr( $para, $pagelinkedto ) ) { 
     1227                                $extended_data = apply_filters('pingback_extend_comment', $para, $link, $inlink); 
     1228                                 
    12251229                                $context = preg_replace( "/.*<a[^>]+".$link."[^>]*>([^>]+)<\/a>.*/", "$1", $para ); 
    12261230                                $excerpt = strip_tags( $para ); 
    12271231                                $excerpt = trim( $excerpt ); 
     
    12511255 
    12521256                $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_content', 'comment_type'); 
    12531257 
     1258                $commentdata = array_merge ($commentdata, $extended_data); 
     1259                 
    12541260                $comment_ID = wp_new_comment($commentdata); 
    12551261                do_action('pingback_post', $comment_ID); 
    12561262