';
}
# 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);
}
?>
みかんの滴
http://blog.orangetone.net
サウンドスタッフよさこいプロジェクトのスタッフ達で綴る、よさこいな日々。よさこい奮闘記?!Mon, 23 Feb 2009 02:05:19 +0000http://wordpress.org/?v=2.7jahourly1サーバー移管完了
http://blog.orangetone.net/2009/02/23/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e7%ae%a1%e5%ae%8c%e4%ba%86/
http://blog.orangetone.net/2009/02/23/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e7%ae%a1%e5%ae%8c%e4%ba%86/#commentsMon, 23 Feb 2009 01:48:11 +0000Shinichi.Uhttp://blog.orangetone.net/2009/02/23/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e7%ae%a1%e5%ae%8c%e4%ba%86/http://blog.orangetone.net/2009/02/23/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e7%ae%a1%e5%ae%8c%e4%ba%86/feed/本年も宜しくお願い致します☆
http://blog.orangetone.net/2009/01/04/%e6%9c%ac%e5%b9%b4%e3%82%82%e5%ae%9c%e3%81%97%e3%81%8f%e3%81%8a%e9%a1%98%e3%81%84%e8%87%b4%e3%81%97%e3%81%be%e3%81%99%e2%98%86/
http://blog.orangetone.net/2009/01/04/%e6%9c%ac%e5%b9%b4%e3%82%82%e5%ae%9c%e3%81%97%e3%81%8f%e3%81%8a%e9%a1%98%e3%81%84%e8%87%b4%e3%81%97%e3%81%be%e3%81%99%e2%98%86/#commentsSun, 04 Jan 2009 12:39:34 +0000m☆jhttp://blog.orangetone.net/?p=51http://blog.orangetone.net/2009/01/04/%e6%9c%ac%e5%b9%b4%e3%82%82%e5%ae%9c%e3%81%97%e3%81%8f%e3%81%8a%e9%a1%98%e3%81%84%e8%87%b4%e3%81%97%e3%81%be%e3%81%99%e2%98%86/feed/よさこい新聞ページ のデータベース化完了
http://blog.orangetone.net/2008/12/18/%e3%82%88%e3%81%95%e3%81%93%e3%81%84%e6%96%b0%e8%81%9e%e3%83%9a%e3%83%bc%e3%82%b8-%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e5%8c%96%e5%ae%8c%e4%ba%86/
http://blog.orangetone.net/2008/12/18/%e3%82%88%e3%81%95%e3%81%93%e3%81%84%e6%96%b0%e8%81%9e%e3%83%9a%e3%83%bc%e3%82%b8-%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e5%8c%96%e5%ae%8c%e4%ba%86/#commentsThu, 18 Dec 2008 10:12:42 +0000Shinichi.Uhttp://blog.orangetone.net/2008/12/18/%e3%82%88%e3%81%95%e3%81%93%e3%81%84%e6%96%b0%e8%81%9e%e3%83%9a%e3%83%bc%e3%82%b8-%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e5%8c%96%e5%ae%8c%e4%ba%86/http://blog.orangetone.net/2008/12/18/%e3%82%88%e3%81%95%e3%81%93%e3%81%84%e6%96%b0%e8%81%9e%e3%83%9a%e3%83%bc%e3%82%b8-%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e5%8c%96%e5%ae%8c%e4%ba%86/feed/『WAVE OF BEAT』リリースしました!
http://blog.orangetone.net/2008/11/16/%e3%80%8ewave-of-beat%e3%80%8f%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%ef%bc%81/
http://blog.orangetone.net/2008/11/16/%e3%80%8ewave-of-beat%e3%80%8f%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%ef%bc%81/#commentsSun, 16 Nov 2008 07:15:18 +0000m☆jhttp://blog.orangetone.net/?p=35http://blog.orangetone.net/2008/11/16/%e3%80%8ewave-of-beat%e3%80%8f%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%ef%bc%81/feed/『Welcome to festa』リリースしました!
http://blog.orangetone.net/2008/09/28/welcome_to_festa/
http://blog.orangetone.net/2008/09/28/welcome_to_festa/#commentsSat, 27 Sep 2008 15:31:00 +0000m☆jhttp://blog.orangetone.net/2008/09/28/welcome_to_festa/http://blog.orangetone.net/2008/09/28/welcome_to_festa/feed/『YOSAKOIフラメンコ』リリースしました!
http://blog.orangetone.net/2008/09/25/post_3/
http://blog.orangetone.net/2008/09/25/post_3/#commentsWed, 24 Sep 2008 19:20:00 +0000Kondohttp://blog.orangetone.net/2008/09/25/post_3/http://blog.orangetone.net/2008/09/25/post_3/feed/FloorPlay
http://blog.orangetone.net/2008/09/06/post/
http://blog.orangetone.net/2008/09/06/post/#commentsFri, 05 Sep 2008 15:31:00 +0000Kondohttp://blog.orangetone.net/2008/09/06/post/http://blog.orangetone.net/2008/09/06/post/feed/ホームページリニューアル!
http://blog.orangetone.net/2008/09/01/post_2/
http://blog.orangetone.net/2008/09/01/post_2/#commentsMon, 01 Sep 2008 04:04:00 +0000Kondohttp://blog.orangetone.net/2008/09/01/post_2/http://blog.orangetone.net/2008/09/01/post_2/feed/『E-yosakoi』 リリースしました!
http://blog.orangetone.net/2008/09/01/eyosakoi/
http://blog.orangetone.net/2008/09/01/eyosakoi/#commentsSun, 31 Aug 2008 15:21:00 +0000Kondohttp://blog.orangetone.net/2008/09/01/eyosakoi/http://blog.orangetone.net/2008/09/01/eyosakoi/feed/おどるんや ~紀州よさこい祭り~ 2008!
http://blog.orangetone.net/2008/08/19/_2008/
http://blog.orangetone.net/2008/08/19/_2008/#commentsTue, 19 Aug 2008 02:42:00 +0000Shinichi.Uhttp://blog.orangetone.net/2008/08/19/_2008/http://blog.orangetone.net/2008/08/19/_2008/feed/