diff --git src/wp-includes/comment.php src/wp-includes/comment.php
index 7055db7..81ab0c6 100644
|
|
function discover_pingback_server_uri( $url, $deprecated = '' ) { |
2446 | 2446 | function do_all_pings() { |
2447 | 2447 | global $wpdb; |
2448 | 2448 | |
| 2449 | $ping_types = get_post_types_by_support( 'trackbacks' ); |
| 2450 | |
2449 | 2451 | // Do pingbacks |
2450 | | 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")) { |
2451 | | delete_metadata_by_mid( 'post', $ping->meta_id ); |
2452 | | pingback( $ping->post_content, $ping->ID ); |
| 2452 | $pings = get_posts( |
| 2453 | array( |
| 2454 | 'post_type' => $ping_types, |
| 2455 | 'suppress_filters' => false, |
| 2456 | 'nopaging' => true, |
| 2457 | 'meta_value' => '_pingme', |
| 2458 | 'fields' => 'ids' |
| 2459 | ) |
| 2460 | ); |
| 2461 | foreach ( $pings as $ping ) { |
| 2462 | delete_post_meta( $ping, '_pingme' ); |
| 2463 | pingback( null, $ping ); |
2453 | 2464 | } |
2454 | 2465 | |
2455 | 2466 | // Do Enclosures |
2456 | | 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")) { |
2457 | | delete_metadata_by_mid( 'post', $enclosure->meta_id ); |
2458 | | do_enclose( $enclosure->post_content, $enclosure->ID ); |
| 2467 | $enclosures = get_posts( |
| 2468 | array( |
| 2469 | 'post_type' => get_post_types( array( 'publicly_queryable' => true ) ), |
| 2470 | 'suppress_filters' => false, |
| 2471 | 'nopaging' => true, |
| 2472 | 'meta_value' => '_encloseme', |
| 2473 | 'fields' => 'ids' |
| 2474 | ) |
| 2475 | ); |
| 2476 | foreach ( $enclosures as $enclosure ) { |
| 2477 | delete_post_meta( $enclosure, '_encloseme' ); |
| 2478 | do_enclose( null, $enclosure ); |
2459 | 2479 | } |
2460 | 2480 | |
2461 | 2481 | // Do Trackbacks |
2462 | | $trackbacks = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE to_ping <> '' AND post_status = 'publish'"); |
2463 | | if ( is_array($trackbacks) ) |
2464 | | foreach ( $trackbacks as $trackback ) |
2465 | | do_trackbacks($trackback); |
| 2482 | $trackbacks = get_posts( |
| 2483 | array( |
| 2484 | 'post_type' => $ping_types, |
| 2485 | 'suppress_filters' => false, |
| 2486 | 'nopaging' => true, |
| 2487 | 'to_ping' => true, |
| 2488 | 'fields' => 'ids' |
| 2489 | ) |
| 2490 | ); |
| 2491 | foreach ( $trackbacks as $trackback ) { |
| 2492 | do_trackbacks( $trackback ); |
| 2493 | } |
2466 | 2494 | |
2467 | 2495 | //Do Update Services/Generic Pings |
2468 | 2496 | generic_ping(); |
… |
… |
function wp_handle_comment_submission( $comment_data ) { |
3013 | 3041 | * @param int $comment_post_ID Post ID. |
3014 | 3042 | */ |
3015 | 3043 | do_action( 'comment_on_draft', $comment_post_ID ); |
3016 | | |
| 3044 | |
3017 | 3045 | if ( current_user_can( 'read_post', $comment_post_ID ) ) { |
3018 | 3046 | return new WP_Error( 'comment_on_draft', __( 'Sorry, comments are not allowed for this item.' ), 403 ); |
3019 | 3047 | } else { |
diff --git src/wp-includes/functions.php src/wp-includes/functions.php
index 03c6126..b584e3d 100644
|
|
function wp_extract_urls( $content ) { |
550 | 550 | * pingbacks and trackbacks. |
551 | 551 | * |
552 | 552 | * @since 1.5.0 |
| 553 | * @since 4.9.0 $post_id can be a WP_Post object. |
553 | 554 | * |
554 | 555 | * @global wpdb $wpdb WordPress database abstraction object. |
555 | 556 | * |
556 | | * @param string $content Post Content. |
557 | | * @param int $post_ID Post ID. |
| 557 | * @param string $content Post Content. If empty will retrieve from post. |
| 558 | * @param int|WP_Post $post_id Post object or ID. |
558 | 559 | */ |
559 | | function do_enclose( $content, $post_ID ) { |
| 560 | function do_enclose( $content, $post_id ) { |
560 | 561 | global $wpdb; |
| 562 | $post = get_post( $post_id ); |
| 563 | if ( ! $post ) { |
| 564 | return false; |
| 565 | } |
561 | 566 | |
| 567 | if ( empty( $content ) ) { |
| 568 | $content = $post->post_content; |
| 569 | } |
| 570 | |
562 | 571 | //TODO: Tidy this ghetto code up and make the debug code optional |
563 | 572 | include_once( ABSPATH . WPINC . '/class-IXR.php' ); |
564 | 573 | |
565 | 574 | $post_links = array(); |
566 | 575 | |
567 | | $pung = get_enclosed( $post_ID ); |
| 576 | $pung = get_enclosed( $post->ID ); |
568 | 577 | |
569 | 578 | $post_links_temp = wp_extract_urls( $content ); |
570 | 579 | |
… |
… |
function do_enclose( $content, $post_ID ) { |
597 | 606 | * @since 4.4.0 |
598 | 607 | * |
599 | 608 | * @param array $post_links An array of enclosure links. |
600 | | * @param int $post_ID Post ID. |
| 609 | * @param int $post_id Post ID. |
601 | 610 | */ |
602 | | $post_links = apply_filters( 'enclosure_links', $post_links, $post_ID ); |
| 611 | $post_links = apply_filters( 'enclosure_links', $post_links, $post->ID ); |
603 | 612 | |
604 | 613 | foreach ( (array) $post_links as $url ) { |
605 | | if ( $url != '' && !$wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE %s", $post_ID, $wpdb->esc_like( $url ) . '%' ) ) ) { |
| 614 | if ( $url != '' && !$wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE %s", $post->ID, $wpdb->esc_like( $url ) . '%' ) ) ) { |
606 | 615 | |
607 | 616 | if ( $headers = wp_get_http_headers( $url) ) { |
608 | 617 | $len = isset( $headers['content-length'] ) ? (int) $headers['content-length'] : 0; |
… |
… |
function do_enclose( $content, $post_ID ) { |
625 | 634 | } |
626 | 635 | |
627 | 636 | if ( in_array( substr( $type, 0, strpos( $type, "/" ) ), $allowed_types ) ) { |
628 | | add_post_meta( $post_ID, 'enclosure', "$url\n$len\n$mime\n" ); |
| 637 | add_post_meta( $post->ID, 'enclosure', "$url\n$len\n$mime\n" ); |
629 | 638 | } |
630 | 639 | } |
631 | 640 | } |