Show
Ignore:
Timestamp:
12/18/05 15:49:43 (3 years ago)
Author:
ryan
Message:

Fix ping races. fixes #2088

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/wp-admin/execute-pings.php

    r3317 r3322  
    88    global $wpdb; 
    99    // Do pingbacks 
    10     if($pings = $wpdb->get_results("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme';")) { 
    11         foreach($pings as $ping) { 
    12             pingback($ping->post_content, $ping->ID); 
    13             echo "Pingback: $ping->post_title : $ping->ID<br/>"; 
    14             $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';"); 
    15         } 
     10    while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) { 
     11        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';"); 
     12        pingback($ping->post_content, $ping->ID); 
     13        echo "Pingback: $ping->post_title : $ping->ID<br/>"; 
    1614    } 
    1715    // Do Enclosures 
    18     if($enclosures = $wpdb->get_results("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme';")) { 
    19         foreach($enclosures as $enclosure) { 
    20             do_enclose($enclosure->post_content, $enclosure->ID); 
    21             echo "Enclosure: $enclosure->post_title : $enclosure->ID<br/>"; 
    22             $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';"); 
    23         } 
     16    while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) { 
     17        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';"); 
     18        do_enclose($enclosure->post_content, $enclosure->ID); 
     19        echo "Enclosure: $enclosure->post_title : $enclosure->ID<br/>"; 
    2420    } 
    2521    // Do Trackbacks 
    26     if($trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft'")) { 
    27         foreach($trackbacks as $trackback) { 
    28             echo "Trackback : $trackback->ID<br/>"; 
    29             do_trackbacks($trackback->ID); 
    30         } 
     22    while ($trackback = $wpdb->get_row("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft' LIMIT 1")) { 
     23        echo "Trackback : $trackback->ID<br/>"; 
     24        do_trackbacks($trackback->ID); 
    3125    } 
    3226}