Make WordPress Core

Ticket #2048: argyle.diff

File argyle.diff, 5.7 KB (added by skeltoac, 20 years ago)
  • wp-includes/functions-post.php

     
    176176        if ($post_status == 'publish') {
    177177                do_action('publish_post', $post_ID);
    178178
    179                 if ($post_pingback && !defined('WP_IMPORTING'))
     179                if ( !defined('WP_IMPORTING') ) {
     180                        if ( $post_pingback )
     181                                $result = $wpdb->query("
     182                                        INSERT INTO $wpdb->postmeta
     183                                        (post_id,meta_key,meta_value)
     184                                        VALUES ('$post_ID','_pingme','1')
     185                                ");
    180186                        $result = $wpdb->query("
    181187                                INSERT INTO $wpdb->postmeta
    182188                                (post_id,meta_key,meta_value)
    183                                 VALUES ('$post_ID','_pingme','1')
    184                         ");
    185                 if ( !defined('WP_IMPORTING') )
    186                         $result = $wpdb->query("
    187                                 INSERT INTO $wpdb->postmeta
    188                                 (post_id,meta_key,meta_value)
    189189                                VALUES ('$post_ID','_encloseme','1')
    190190                        ");
    191                 //register_shutdown_function('do_trackbacks', $post_ID);
    192         }       else if ($post_status == 'static') {
     191                        spawn_pinger();
     192                }
     193        } else if ($post_status == 'static') {
    193194                generate_page_rewrite_rules();
    194195
    195196                if ( !empty($page_template) )
     
    685686                if ( !in_array($tb_ping, $pinged) ) {
    686687                        trackback($tb_ping, $post_title, $excerpt, $post_id);
    687688                        $pinged[] = $tb_ping;
     689                } else {
     690                        $wpdb->query("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, '$tb_ping', '')) WHERE ID = '$post_id'");
    688691                }
    689692        endforeach; endif;
    690693}
  • wp-includes/functions.php

     
    842842
    843843        $tb_url = addslashes( $tb_url );
    844844        $wpdb->query("UPDATE $wpdb->posts SET pinged = CONCAT(pinged, '\n', '$tb_url') WHERE ID = '$ID'");
    845         return $wpdb->query("UPDATE $wpdb->posts SET to_ping = REPLACE(to_ping, '$tb_url', '') WHERE ID = '$ID'");
     845        return $wpdb->query("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, '$tb_url', '')) WHERE ID = '$ID'");
    846846}
    847847
    848848function make_url_footnote($content) {
     
    919919        }
    920920}
    921921
    922 function check_for_pings() {
     922function spawn_pinger() {
    923923        global $wpdb;
    924924        $doping = false;
    925925        if ( $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' LIMIT 1") )
     
    928928        if ( $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_pingme' OR meta_key = '_encloseme' LIMIT 1") )
    929929                $doping = true;
    930930
    931         if ( $doping )
    932                 echo '<iframe id="pingcheck" src="' . get_settings('siteurl') .'/wp-admin/execute-pings.php?time=' . time() . '" style="border:none;width:1px;height:1px;"></iframe>';
     931        if ( $doping ) {
     932                $ping_url = get_settings('siteurl') .'/wp-admin/execute-pings.php';
     933                $parts = parse_url($ping_url);
     934                $argyle = @ fsockopen($parts['host'], $_SERVER['SERVER_PORT'], $errno, $errstr, 0.01);
     935                if ( $argyle )
     936                        fputs($argyle, "GET {$parts['path']}?time=".time()." HTTP/1.0\r\nHost: {$_SERVER['HTTP_HOST']}\r\n\r\n");
     937       }
    933938}
    934939
    935940function do_enclose( $content, $post_ID ) {
  • wp-includes/comment-functions.php

     
    639639                $pingback_server_url = discover_pingback_server_uri($pagelinkedto, 2048);
    640640
    641641                if ($pingback_server_url) {
    642                         set_time_limit( 60 );
     642                        @ set_time_limit( 60 );
    643643                         // Now, the RPC call
    644644                        debug_fwrite($log, "Page Linked To: $pagelinkedto \n");
    645645                        debug_fwrite($log, 'Page Linked From: ');
  • wp-admin/execute-pings.php

     
    11<?php
    2 require_once('admin.php');
     2require_once('../wp-config.php');
    33
    4 if ( ! current_user_can('edit_posts') )
    5         die ("Cheatin' uh?");
    6 
    7 echo '/* No Styles Here */';
    84register_shutdown_function('execute_all_pings');
    95//execute_all_pings();
    106
     
    1410        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';")) {
    1511                foreach($pings as $ping) {
    1612                        pingback($ping->post_content, $ping->ID);
    17                         //echo "Pingback: $ping->post_title : $ping->ID<br/>";
     13                        echo "Pingback: $ping->post_title : $ping->ID<br/>";
    1814                        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
    1915                }
    2016        }
     
    2218        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';")) {
    2319                foreach($enclosures as $enclosure) {
    2420                        do_enclose($enclosure->post_content, $enclosure->ID);
    25                         //echo "Enclosure: $enclosure->post_title : $enclosure->ID<br/>";
     21                        echo "Enclosure: $enclosure->post_title : $enclosure->ID<br/>";
    2622                        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
    2723                }
    2824        }
    2925        // Do Trackbacks
    3026        if($trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft'")) {
    3127                foreach($trackbacks as $trackback) {
    32                         //echo "trackback : $trackback->ID<br/>";
     28                        echo "Trackback : $trackback->ID<br/>";
    3329                        do_trackbacks($trackback->ID);
    3430                }
    3531        }
    3632}
     33
     34_e('Done.');
     35
    3736?>
  • wp-admin/admin-footer.php

     
    66</p>
    77
    88</div>
    9 <?php check_for_pings(); ?>
     9
    1010<?php do_action('admin_footer', ''); ?>
    1111
    1212</body>
    13 </html>
    14  No newline at end of file
     13</html>