aka) Author: Christian Davén Version: 2.0 Author URI: http://www.daven.se/usefulstuff/ */ # adds an options page to the options menu function SUP_add_options_page() { if(function_exists("add_options_page")) add_options_page("Smart Update Pinger", "Smart Update Pinger", 5, basename(__FILE__), "SUP_show_options_page"); } # shows the options page function SUP_show_options_page() { $ping = get_option("SUP_ping"); $uris = get_option("ping_sites"); $pingservicesnow = "今すぐ ping を送信!"; if(isset($_POST["ping"]) && $_POST["ping"] == $pingservicesnow) { SUP_log("手動で ping を送信中 ..."); SUP_ping_services(); } elseif(isset($_POST["submit"])) { $uris = $_POST["uris"]; $ping = 0; if($_POST["ping"] == 1) $ping = 1; update_option("SUP_ping", $ping); update_option("ping_sites", $uris); echo '


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

ping 送信先のサーバ

以下に登録されている ping サーバへは記事を投稿する際,自動的に ping 送信や更新通知がなされます。WordPress が通常行うような,以前書いた記事の編集時ではありません

注意: このリストは オリジナルのアップデートサービスリストと同期します。.

複数サーバを登録する際は改行で URI を分けて下さい

Ping 送信ログ



'; } # 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 (新規の記事の投稿) ..."); 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."” の設定が変更されました)"); else SUP_log("NOT pinging services (記事が編集されました)"); } } else SUP_log("NOT pinging services (管理者が ping 送信を無効にしています)"); } # 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." への ping 送信が成功しました (拡張フォーマット)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." への ping 送信が成功しました"); } else { SUP_log("- ".$server." への ping 送信が失敗しました。 以下のエラーメッセージが返されました: “".$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); } ?> XML Sitemap

XML Sitemap

This is a XML Sitemap which is supposed to be processed by search engines which follow the XML Sitemap standard like Ask.com, Bing, Google and Yahoo.
It was generated using the WordPress content management system and the Google Sitemap Generator Plugin by Arne Brachhold.
You can find more information about XML sitemaps on sitemaps.org and Google's list of sitemap programs.

URLPriorityChange frequencyLast modified (GMT)
https://1jokerlater.com/%e3%83%a2%e3%83%87%e3%83%ab%e4%bd%93%e5%9e%8b%e3%81%ae%e7%a8%ae%e9%a1%9e%e3%81%af%ef%bc%93%e7%a8%ae%e9%a1%9e/20%Monthly2012-08-28 13:40
https://1jokerlater.com/%e3%81%82%e3%81%aa%e3%81%9f%e3%81%ae%e9%aa%a8%e7%9b%a4%e3%81%af%e3%81%a9%e3%81%a3%e3%81%a1%ef%bc%9f%e9%aa%a8%e7%9b%a4%e3%81%ae%e7%a8%ae%e9%a1%9e%e3%81%ae%e8%a6%8b%e5%88%86%e3%81%91%e6%96%b9/20%Monthly2012-08-10 13:47
https://1jokerlater.com/%e3%82%b8%e3%83%a7%e3%82%ae%e3%83%b3%e3%82%b0%e3%81%b0%e3%81%8b%e3%82%8a%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e3%81%a8%e5%a4%aa%e3%82%8b%e3%81%a3%e3%81%a6%e3%81%a9%e3%81%86%e3%81%97%e3%81%a6%ef%bc%9f/20%Monthly2012-08-03 15:26
https://1jokerlater.com/%e9%80%b1%ef%bc%92%e5%9b%9e%e7%ad%8b%e3%83%88%e3%83%ac%e3%82%92%e8%a1%8c%e3%81%86%e7%90%86%e7%94%b1%ef%bc%9f/20%Monthly2012-08-14 05:18
https://1jokerlater.com/%e3%81%9f%e3%82%93%e3%81%b1%e3%81%8f%e8%b3%aa%e3%81%af%e3%81%a9%e3%82%8c%e3%81%8f%e3%82%89%e3%81%84%e3%81%a8%e3%81%a3%e3%81%a6%e3%81%84%e3%82%8b%e3%81%ae%e3%81%8b%ef%bc%9f/20%Monthly2012-08-14 06:24
https://1jokerlater.com/%e6%9c%9d%e3%81%ae%e9%a3%9f%e4%ba%8b%e3%81%af%ef%bc%91%ef%bc%90%ef%bc%90%e7%82%b9%e6%ba%80%e7%82%b9%ef%bc%81%e8%a1%80%e7%b3%96%e5%80%a4%e3%81%a8%e6%9c%9d%e3%81%ae%e9%a3%9f%e4%ba%8b%e3%81%ae%e9%96%a2/20%Monthly2012-11-01 13:06