These are the lastest actions performed by the plugin.
# telling WordPress to ping if the post is new, but not if it's just been edited
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(
# 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"])
SUP_log("Pinging services (new post: “".$post_title."”) ...");
SUP_log("Pinging services (new post) ...");
# 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!
SUP_log("NOT pinging services (“".$post_title."” was edited)");
SUP_log("NOT pinging services (a post was edited)");
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.
$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)
# 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 = '')
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)");
# pinging was unsuccessful, trying regular ping format
if($client->query('weblogUpdates.ping', get_settings('blogname'), $home))
SUP_log("- ".$server." was successfully pinged");
SUP_log("- ".$server." could not be pinged. Error message: “".$client->error->message."”");
$post_title = "";
# Receives the title of the post from a filter below
$post_title = $title;
# Log stuff
$logfile = ABSPATH."wp-content/smart-update-pinger.log";
# for debugging
$fh = @fopen($logfile, "a");
@fwrite($fh, strftime("%D %T")."\t$line\n");
$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.";
$lines = array_slice($lines, count($lines) - $num);
$msg = "";
foreach($lines as $line)
$msg .= trim($line)." ";
# adds a filter to receive the title of the post before publishing
# adds some hooks
# shows the options in the administration panel
# calls SUP_ping whenever a post is published
# 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
# 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)
<title> 2010 World Green Car of the Year Award goes to VW Blue Motion models</title>
Prof. Dr. Martin Winterkorn, Chairman of the Board of Management of Volkswagen AG can be proud with a reason: Volkswagen just got the 2010 World Green Car of the Year Award.
Polo, Golf and Passat models equipped with highly efficient and clean diesel engine well known as the VW Blue Motion models are the winners this year. For the Blue Motion family were voting from the 25 countries around the whole world. For Volkswagen this global Green Car of the year award is important because they win among the most prestigious clean cars in the world like Toyota Prius and Honda Insight.
The highly logical Germans from Berliner Street in Wolfsburg realized that they do not need to fool around with hybrids and electric motors in order to make a clean and fuel saving car.
When most of the other automotive giants were spending millions of dollars in the R&D programs for a new 21 century hybrid vehicles the down to the earth no nonsense Germans did something very simple and cheaper than developing the whole new technology. They just get their most fuel saving diesel engine and they just made it even more efficient, cleaner and probably more affordable than expensive gasoline electric hybrids.
Today the Blue Motion VW cars are the No.1 fuel savers in the world or at least among the top five fuel savers. With the almost the same price tag with Toyota Prius and Honda Insight and in a higher class than this two hybrid compacts, Blue Motion VW Passat can travel more than 1500 km or 1000 miles just with one fuel tank.
The award was received by Walter de’Silva, head of design for Volkswagen Group at the New York International Auto Show on Thursday morning.