Options saved.

'; } $checked = ''; if($ping == 1) $checked = 'checked="checked"'; echo '

URIs to Ping

The following services will automatically be pinged/notified when you publish posts. Not when you edit previously published posts, as WordPress does by default.

NB: this list is synchronized with the original update services list.

Separate multiple service URIs with line breaks:

Ping log

These are the lastest actions performed by the plugin.

'.SUP_get_last_log_entries(20).'

'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id) { global $wpdb, $post_title; if(get_option('SUP_ping') == 1 and get_option('ping_sites') != "") { # fetches data directly from database; the function "get_post" is cached, # and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( "SELECT post_date,post_modified FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, # otherwise the author has edited/modified it if($row["post_date"] == $row["post_modified"]) { if($post_title) SUP_log("Pinging services (new post: “".$post_title."”) ..."); else SUP_log("Pinging services (new post) ..."); SUP_ping_services(); # Try commenting the line above, and uncommenting this line below # if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } else { if($post_title) SUP_log("NOT pinging services (“".$post_title."” was edited)"); else SUP_log("NOT pinging services (a post was edited)"); } } else SUP_log("NOT pinging services (disabled by administrator)"); } # More or less a copy of WP's "generic_ping" from functions.php, # but uses another function to send the actual XML-RPC messages. function SUP_ping_services() { $services = get_settings('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) SUP_send_xmlrpc($service); } } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($server = '', $path = '') { global $wp_version; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url", # but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url. if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) { SUP_log("- ".$server." was successfully pinged (extended format)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." was successfully pinged"); } else { SUP_log("- ".$server." could not be pinged. Error message: “".$client->error->message."”"); } } } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title) { global $post_title; $post_title = $title; return $title; } # ----- # Log stuff $logfile = ABSPATH."wp-content/smart-update-pinger.log"; # for debugging function SUP_log($line) { global $logfile; $fh = @fopen($logfile, "a"); @fwrite($fh, strftime("%D %T")."\t$line\n"); @fclose($fh); } function SUP_get_last_log_entries($num) { global $logfile; $lines = @file($logfile); if($lines === false) return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin."; else { $lines = array_slice($lines, count($lines) - $num); $msg = ""; foreach($lines as $line) $msg .= trim($line)."
"; return $msg; } } # ----- # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # adds some hooks # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet # (before the user has changed the settings the first time) if(get_option("SUP_ping") === false) { update_option("SUP_ping", 1); } ?> dazhao的鉄道博客 » CRH380CL和諧号サイドビュー

 [CRH和諧号トップページ]   > CRH380CL和諧号サイドビュー

 

1号車

【一等座車/商務座車】
crh380cl_zys561701
CRH380CL-5617編成 ZYS561701 / 2015.06.06 北京南(万芳橋)にて

2号車

【一等座車】
crh380cl_zy561702
CRH380CL-5617編成 ZY561702 / 2015.06.06 北京南(万芳橋)にて

3号車

【一等座車】
crh380cl_zy561703
CRH380CL-5617編成 ZY561703 / 2015.06.06 北京南(万芳橋)にて

4号車

【二等座車】
crh380cl_ze561704
CRH380CL-5617編成 ZE561704 / 2015.06.06 北京南(万芳橋)にて

5号車

【二等座車】
crh380cl_ze561705
CRH380CL-5617編成 ZE561705 / 2015.06.06 北京南(万芳橋)にて

6号車

【二等座車】
crh380cl_ze561706
CRH380CL-5617編成 ZE561706 / 2015.06.06 北京南(万芳橋)にて

7号車

【二等座車】
crh380cl_ze561707
CRH380CL-5617編成 ZE561707 / 2015.06.06 北京南(万芳橋)にて

8号車

【二等座車】
crh380cl_ze561708
CRH380CL-5617編成 ZE561708 / 2015.06.06 北京南(万芳橋)にて

9号車

【二等座車・餐車】
crh380cl_zec561709
CRH380CL-5617編成 ZEC561709 / 2015.06.06 北京南(万芳橋)にて

10号車

【二等座車】
crh380cl_ze561710
CRH380CL-5617編成 ZE561710 / 2015.06.06 北京南(万芳橋)にて

11号車

【二等座車】
crh380cl_ze561711
CRH380CL-5617編成 ZE561711 / 2015.06.06 北京南(万芳橋)にて

12号車

【二等座車】
crh380cl_ze561712
CRH380CL-5617編成 ZE561712 / 2015.06.06 北京南(万芳橋)にて

13号車

【二等座車】
crh380cl_ze561713
CRH380CL-5617編成 ZE561713 / 2015.06.06 北京南(万芳橋)にて

14号車

【二等座車】
crh380cl_ze561714
CRH380CL-5617編成 ZE561714 / 2015.06.06 北京南(万芳橋)にて

15号車

【二等座車】
crh380cl_ze561715
CRH380CL-5617編成 ZE561715 / 2015.06.06 北京南(万芳橋)にて

16号車

【一等座車・商務座車】
crh380cl_zys561700
CRH380CL-5617編成 ZYS561700 / 2015.06.06 北京南(万芳橋)にて