WordPress.org

Make WordPress Core

Ticket #3491: pingback_extend_comment.patch

File pingback_extend_comment.patch, 1.1 KB (added by monkinetic, 11 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