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);
}
?>
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 51
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 51
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 55
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 55
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 59
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 63
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 64
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 68
Warning: Trying to access array offset on value of type bool in /home/pedja/public_html/wp-content/plugins/cforms2-really-simple-captcha/cforms2_really_simple_captcha.php on line 71
Warning: Cannot modify header information - headers already sent by (output started at /home/pedja/public_html/wp-content/plugins/smart-update-pinger.php:1) in /home/pedja/public_html/wp-content/plugins/download-monitor/src/DownloadHandler.php on line 389
Warning: Cannot modify header information - headers already sent by (output started at /home/pedja/public_html/wp-content/plugins/smart-update-pinger.php:1) in /home/pedja/public_html/wp-includes/feed-rss2.php on line 8
орао – Пеђа Супуровић, бележница
https://pedja.supurovic.net
Предраг Супуровић - упутства, идеје, погледи, белешке…Thu, 17 Apr 2014 14:29:05 +0000sr-RS
hourly
1 https://wordpress.org/?v=7.0.8https://pedja.supurovic.net/wp-content/uploads/2020/09/pedja-logo.pngорао – Пеђа Супуровић, бележница
https://pedja.supurovic.net
3232
Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method runPHP::DetermineAllEvaldPosts() cannot be called statically in /home/pedja/public_html/wp-includes/class-wp-hook.php:341
Stack trace:
#0 /home/pedja/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#1 /home/pedja/public_html/wp-includes/plugin.php(522): WP_Hook->do_action()
#2 /home/pedja/public_html/wp-includes/feed-rss2.php(83): do_action()
#3 /home/pedja/public_html/wp-includes/template.php(880): require_once('/home/pedja/pub...')
#4 /home/pedja/public_html/wp-includes/functions.php(1679): load_template()
#5 /home/pedja/public_html/wp-includes/class-wp-hook.php(343): do_feed_rss2()
#6 /home/pedja/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#7 /home/pedja/public_html/wp-includes/plugin.php(522): WP_Hook->do_action()
#8 /home/pedja/public_html/wp-includes/functions.php(1641): do_action()
#9 /home/pedja/public_html/wp-includes/template-loader.php(58): do_feed()
#10 /home/pedja/public_html/wp-blog-header.php(19): require_once('/home/pedja/pub...')
#11 /home/pedja/public_html/index.php(17): require('/home/pedja/pub...')
#12 {main}
thrown in /home/pedja/public_html/wp-includes/class-wp-hook.php on line 341