Ticket #18196: 18196.do_all_pings.diff

File 18196.do_all_pings.diff, 2.0 KB (added by duck_, 20 months ago)
Line 
1Index: wp-includes/comment.php
2===================================================================
3--- wp-includes/comment.php     (revision 18835)
4+++ wp-includes/comment.php     (working copy)
5@@ -1664,21 +1664,15 @@
6        global $wpdb;
7 
8        // Do pingbacks
9-       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")) {
10-               $mid = $wpdb->get_var( "SELECT meta_id FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme' LIMIT 1");
11-               do_action( 'delete_postmeta', $mid );
12-               $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->postmeta} WHERE meta_id = %d", $mid ) );
13-               do_action( 'deleted_postmeta', $mid );
14-               pingback($ping->post_content, $ping->ID);
15+       while ($ping = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
16+               delete_metadata_by_mid( 'post', $ping->meta_id );
17+               pingback( $ping->post_content, $ping->ID );
18        }
19 
20        // Do Enclosures
21-       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")) {
22-               $mid = $wpdb->get_var( $wpdb->prepare("SELECT meta_id FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_encloseme'", $enclosure->ID) );
23-               do_action( 'delete_postmeta', $mid );
24-               $wpdb->query( $wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE meta_id =  %d", $mid) );
25-               do_action( 'deleted_postmeta', $mid );
26-               do_enclose($enclosure->post_content, $enclosure->ID);
27+       while ($enclosure = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
28+               delete_metadata_by_mid( 'post', $enclosure->meta_id );
29+               do_enclose( $enclosure->post_content, $enclosure->ID );
30        }
31 
32        // Do Trackbacks