Ticket #2469: future-pings-final.diff

File future-pings-final.diff, 3.3 kB (added by masquerade, 3 years ago)
  • wp-includes/default-filters.php

    old new  
    9292add_action('do_feed_rss', 'do_feed_rss', 10, 1); 
    9393add_action('do_feed_rss2', 'do_feed_rss2', 10, 1); 
    9494add_action('do_feed_atom', 'do_feed_atom', 10, 1); 
     95add_action('do_pings', 'do_all_pings', 10, 1); 
    9596?> 
  • wp-includes/functions-post.php

    old new  
    199199                                (post_id,meta_key,meta_value)  
    200200                                VALUES ('$post_ID','_encloseme','1') 
    201201                        "); 
    202                         spawn_pinger(); 
     202                        wp_schedule_single_event(time(), 'do_pings'); 
    203203                } 
    204204        } else if ($post_type == 'page') { 
    205205                wp_cache_delete('all_page_ids', 'pages'); 
     
    10021002        return array('file' => $new_file, 'url' => $url, 'error' => false); 
    10031003} 
    10041004 
     1005function do_all_pings() { 
     1006        global $wpdb; 
     1007 
     1008        // Do pingbacks 
     1009        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")) { 
     1010                $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';"); 
     1011                pingback($ping->post_content, $ping->ID); 
     1012        } 
     1013         
     1014        // Do Enclosures 
     1015        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")) { 
     1016                $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';"); 
     1017                do_enclose($enclosure->post_content, $enclosure->ID); 
     1018        } 
     1019 
     1020        // Do Trackbacks 
     1021        $trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'"); 
     1022        if ( is_array($trackbacks) ) { 
     1023                foreach ( $trackbacks as $trackback ) { 
     1024                        do_trackbacks($trackback->ID); 
     1025                } 
     1026        } 
     1027 
     1028        //Do Update Services/Generic Pings 
     1029        generic_ping(); 
     1030} 
    10051031?> 
  • wp-admin/execute-pings.php

    old new  
    1 <?php 
    2  
    3 require_once('../wp-config.php'); 
    4  
    5 // Do pingbacks 
    6 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")) { 
    7         $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';"); 
    8         pingback($ping->post_content, $ping->ID); 
    9 } 
    10  
    11 // Do Enclosures 
    12 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")) { 
    13         $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';"); 
    14         do_enclose($enclosure->post_content, $enclosure->ID); 
    15 } 
    16  
    17 // Do Trackbacks 
    18 $trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'"); 
    19 if ( is_array($trackbacks) ) { 
    20         foreach ( $trackbacks as $trackback ) { 
    21                 do_trackbacks($trackback->ID); 
    22         } 
    23 } 
    24  
    25 generic_ping(); 
    26  
    27 ?>