Make WordPress Core


Ignore:
Timestamp:
12/22/2003 02:46:40 AM (21 years ago)
Author:
saxmatt
Message:

Trackback on edit done.

File:
1 edited

Legend:

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

    r628 r636  
    589589        'comment_status' => $post->comment_status,
    590590        'ping_status' => $post->ping_status,
    591         'post_password' => $post->post_password
     591        'post_password' => $post->post_password,
     592        'to_ping' => $post->to_ping,
     593        'pinged' => $post->pinged
    592594    );
    593595    return $postdata;
     
    888890
    889891
    890 // trackback - send
     892// Send a Trackback
    891893function trackback($trackback_url, $title, $excerpt, $ID) {
    892     global $siteurl, $blogfilename, $blogname;
    893     global $querystring_start, $querystring_equal;
    894     $title = urlencode($title);
     894    global $blogname, $wpdb, $tableposts;
     895    $title = urlencode(stripslashes($title));
    895896    $excerpt = urlencode(stripslashes($excerpt));
    896     $blog_name = urlencode($blogname);
    897     $url = urlencode($siteurl.'/'.$blogfilename.$querystring_start.'p'.$querystring_equal.$ID);
     897    $blog_name = urlencode(stripslashes($blogname));
     898    $tb_url = $trackback_url;
     899    $url = urlencode(get_permalink($ID));
    898900    $query_string = "title=$title&url=$url&blog_name=$blog_name&excerpt=$excerpt";
    899     if (strstr($trackback_url, '?')) {
    900         $trackback_url .= "&".$query_string;;
    901         $fp = @fopen($trackback_url, 'r');
    902         $result = @fread($fp, 4096);
    903         @fclose($fp);
    904 /* debug code
    905         $debug_file = 'trackback.log';
    906         $fp = fopen($debug_file, 'a');
    907         fwrite($fp, "\n*****\nTrackback URL query:\n\n$trackback_url\n\nResponse:\n\n");
    908         fwrite($fp, $result);
    909         fwrite($fp, "\n\n");
    910         fclose($fp);
     901    $trackback_url = parse_url($trackback_url);
     902    $http_request  = 'POST '.$trackback_url['path']." HTTP/1.0\r\n";
     903    $http_request .= 'Host: '.$trackback_url['host']."\r\n";
     904    $http_request .= 'Content-Type: application/x-www-form-urlencoded'."\r\n";
     905    $http_request .= 'Content-Length: '.strlen($query_string)."\r\n";
     906    $http_request .= "\r\n";
     907    $http_request .= $query_string;
     908    $fs = @fsockopen($trackback_url['host'], 80);
     909    @fputs($fs, $http_request);
     910/*
     911    $debug_file = 'trackback.log';
     912    $fp = fopen($debug_file, 'a');
     913    fwrite($fp, "\n*****\nRequest:\n\n$http_request\n\nResponse:\n\n");
     914    while(!@feof($fs)) {
     915        fwrite($fp, @fgets($fs, 4096));
     916    }
     917    fwrite($fp, "\n\n");
     918    fclose($fp);
    911919*/
    912     } else {
    913         $trackback_url = parse_url($trackback_url);
    914         $http_request  = 'POST '.$trackback_url['path']." HTTP/1.0\r\n";
    915         $http_request .= 'Host: '.$trackback_url['host']."\r\n";
    916         $http_request .= 'Content-Type: application/x-www-form-urlencoded'."\r\n";
    917         $http_request .= 'Content-Length: '.strlen($query_string)."\r\n";
    918         $http_request .= "\r\n";
    919         $http_request .= $query_string;
    920         $fs = @fsockopen($trackback_url['host'], 80);
    921         @fputs($fs, $http_request);
    922 /* debug code
    923         $debug_file = 'trackback.log';
    924         $fp = fopen($debug_file, 'a');
    925         fwrite($fp, "\n*****\nRequest:\n\n$http_request\n\nResponse:\n\n");
    926         while(!@feof($fs)) {
    927             fwrite($fp, @fgets($fs, 4096));
    928         }
    929         fwrite($fp, "\n\n");
    930         fclose($fp);
    931 */
    932         @fclose($fs);
    933     }
     920    @fclose($fs);
     921
     922    $wpdb->query("UPDATE $tableposts SET pinged = CONCAT(pinged, '\n', '$tb_url') WHERE ID = $ID");
     923    $wpdb->query("UPDATE $tableposts SET to_ping = REPLACE(to_ping, '$tb_url', '') WHERE ID = $ID");
    934924    return $result;
    935925}
Note: See TracChangeset for help on using the changeset viewer.