The following services will automatically be pinged/notified when you publish posts. Not when you edit previously published posts, as WordPress does by default.
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);
}
?>
Soffe Blog
http://www.soffe.com/blog
this weblog is all about SoffeTue, 10 Feb 2009 20:45:20 +0000http://backend.userland.com/rss092enSoffe launches a new Soffe Fan Club design - News ReleaseSeveral months in production, an overhaul to the Soffe Fan Club website has been rolled out to include several major improvements both on the surface for the fans visiting the site, and in the code for the people updating the site. The design features a simplified sign up process, more vibrant look, ...
http://www.soffe.com/blog/?p=26
News Release - Soffe featured in GS MagazineJim Soffe the CEO of the M. J. Soffe Company is featured on the cover of the January/Feburary 2008 issue of GS Magazine (The Exclusive Lifestyle Magazine of the Grand Strand)Got your Soffes?How M. J. Soffe Company CEO Jim Soffe made his athleticwear a household name"Jim Soffe has spent ...
http://www.soffe.com/blog/?p=25
Soffe Video Contest on YouTube - Winners AnnouncedFirst Place:
Second Place:
Third Place:
Watch all the video entries here on youtube.ShareThis
http://www.soffe.com/blog/?p=24
Soffe on MySpace and FaceBookAre you a MySpace or FaceBook user? If so, be sure to add Soffe as a friend.
FaceBook
Soffe has created a page on FaceBook for college age Soffe Fans. The Soffe Facebook profile has pictures, videos, links, comments and events. We want to add you as a friend so you can ...
http://www.soffe.com/blog/?p=22
Soffe Video Contest - Win an iPod TouchListen up Soffe Fans! Here's your chance to show the world your skills with a video camera! The M.J. Soffe Company is sponsoring a video contest and if the judges love your video the most, you will win an Apple® iPod Touch® , $100 of Soffe merchandise, and your ...
http://www.soffe.com/blog/?p=21
Soffe Fan Clubber’s GuideSoffe launches an eBook for the Soffe Fan Club.
The Ultimate Fan Clubber's Guide - to Fame, Fashion, Trends and Friends!
Whether your dreams include glistening fashion runways or running marathons... this is your INSIDE GUIDE to feeling confident, comfortable, powerful and chic with hot Soffe styles 24/7.ShareThis
http://www.soffe.com/blog/?p=19
Soffe Spring 2008 CatalogDownload and view the Soffe Spring 2008 Catalog PDF.
Click here to download the Soffe spring 2008 PDF file
Featuring some of Soffe's newest styles like the Surfer Girl Tissue Hoodie, Board Short, Soffe Football Tee, Deep V Hood, Print Dorm Pants, Soffe Mesh Teeny Tiny Short, and many other junior and ...
http://www.soffe.com/blog/?p=18
Cheerleading - Practice and Camp Wear (Team Intelligence article)"For a coordinated look at practice and cheer camps, cheer teams typically buy two or three coordinating outfits. When it comes to bottoms, most teams still opt for Soffe and "Soffe-style" shorts, generically known as cheer shorts. These simple, elastic waist cotton shorts are cute, comfortable and availible in a ...
http://www.soffe.com/blog/?p=17
Soffe and Cheer Ltd. - Press ReleaseSOFFE AND CHEER LTD. ANNOUNCE
LAUNCH OF CHAMPIONSHIP SERIES
FAYETTEVILLE--M.J. Soffe has purchased title sponsorship of the new Open Cheerleading and Dance Championship series designed and produced by Cheer Ltd. Inc.
The strong market potential of the launch of the Soffe Spirit Open Championship Series is driven by the fact there is no ...
http://www.soffe.com/blog/?p=16
Soffe Fan Club - updateThe Soffe Fan Club has not only been a huge hit online, it has produced a major ad campaign that has grabbed the attention of every Seventeen and CosmoGirl reader. It has also produced a search for the next "Face of Soffe" through CosmoGirl. The contest will direct ...
http://www.soffe.com/blog/?p=15