function wds_sitemaps_dashboard_widget() { $sitemap = get_option('wds_sitemap_options'); $opts = get_option('wds_sitemap_dashboard'); $engines = get_option('wds_engine_notification'); $date = @$opts['time'] ? date(get_option('date_format'), $opts['time']) : false; $time = @$opts['time'] ? date(get_option('time_format'), $opts['time']) : false; $datetime = $date && $time ? sprintf(__('It was last updated on %s, at %s.', 'wds'), $date, $time) : __("Your sitemap hasn't been updated recently.", 'wds'); $update_sitemap = __('Update sitemap now', 'wds'); $update_engines = __('Force search engines notification', 'wds'); $working = __('Updating...', 'wds'); $sitemap_url = wds_get_sitemap_url(); echo "<div style='width:45%;float:left'>"; echo '<div>' . sprintf(__('Your sitemap contains <a href="%s" target="_blank"><b>%d</b> items</a>.', 'wds'), $sitemap_url, (int) @$opts['items']) . '</div>'; echo "<br />{$datetime}"; echo "<p><a href='#update_sitemap' id='wds_update_now'>{$update_sitemap}</a></p>"; echo "</div>"; echo "<div style='width:45%;float:right'>"; if ($engines) { echo "<ul>"; foreach ($engines as $key => $engine) { $service = ucfirst($key); $edate = @$engine['time'] ? date(get_option('date_format'), $engine['time']) : false; $etime = @$engine['time'] ? date(get_option('time_format'), $engine['time']) : false; $edatetime = $edate && $etime ? sprintf(__('Last notified on %s, at %s.', 'wds'), $date, $time) : __("Not notified", 'wds'); echo "<li><b>{$service}:</b> {$edatetime}</li>"; } echo "</ul>"; } else { _e("<div>Search engines haven't been recently updated</div>", 'wds'); } echo "<p><a href='#update_search_engines' id='wds_update_engines'>{$update_engines}</a></p>"; echo "</div>"; echo "<div style='clear:both'></div>"; echo <<<EOSitemapsWidgetJs <script type="text/javascript"> (function (\$) { \$(function () { \$("#wds_update_now").click(function () { \tvar me = \$(this); \tme.html("{$working}"); \t\$.post(ajaxurl, {"action": "wds_update_sitemap"}, function () { \t\tme.html("{$update_sitemap}"); \t\twindow.location.reload(); \t}); \treturn false; }); \$("#wds_update_engines").click(function () { \tvar me = \$(this); \tme.html("{$working}"); \t\$.post(ajaxurl, {"action": "wds_update_engines"}, function () { \t\tme.html("{$update_engines}"); \t\twindow.location.reload(); \t}); \treturn false; }); }); })(jQuery); </script> EOSitemapsWidgetJs; }
public static function notify_engines($forced = false) { if (wds_is_switch_active('WDS_SITEMAP_SKIP_SE_NOTIFICATION')) { return false; } global $wds_options; if (!@$wds_options['sitemapurl']) { return false; } $result = array(); $now = time(); if ($forced || @$wds_options['ping-google']) { do_action('wds_before_search_engine_update', 'google'); $resp = wp_remote_get('http://www.google.com/webmasters/tools/ping?sitemap=' . esc_url(wds_get_sitemap_url())); $result['google'] = array('response' => $resp, 'time' => $now); if (is_wp_error($resp)) { do_action('wds_after_search_engine_update', 'google', false, $resp); } else { do_action('wds_after_search_engine_update', 'google', (bool) (@$resp['response']['code'] == '200'), $resp); } } /* // Yahoo SiteExporer is dead. if ($forced || @$wds_options['ping-yahoo']) { do_action('wds_before_search_engine_update', 'yahoo'); $resp = wp_remote_get('http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=' . esc_url($wds_options['sitemapurl'])); $result['yahoo'] = array( 'response' => $resp, 'time' => $now, ); if (is_wp_error($resp)) { do_action('wds_after_search_engine_update', 'yahoo', false, $resp); } else { do_action('wds_after_search_engine_update', 'yahoo', (bool)(@$resp['response']['code'] == '200'), $resp); } } */ if ($forced || @$wds_options['ping-bing']) { do_action('wds_before_search_engine_update', 'bing'); $resp = wp_remote_get('http://www.bing.com/webmaster/ping.aspx?sitemap=' . esc_url(wds_get_sitemap_url())); $result['bing'] = array('response' => $resp, 'time' => $now); if (is_wp_error($resp)) { do_action('wds_after_search_engine_update', 'bing', false, $resp); } else { do_action('wds_after_search_engine_update', 'bing', (bool) (@$resp['response']['code'] == '200'), $resp); } } // Ask.com doesn't accept sitemap pings on this address anymore /* if ($forced || @$wds_options['ping-ask']) { do_action('wds_before_search_engine_update', 'ask'); $resp = wp_remote_get('http://submissions.ask.com/ping?sitemap=' . esc_url($wds_options['sitemapurl'])); $result['ask'] = array( 'response' => $resp, 'time' => $now, ); if (is_wp_error($resp)) { do_action('wds_after_search_engine_update', 'ask', false, $resp); } else { do_action('wds_after_search_engine_update', 'ask', (bool)(@$resp['response']['code'] == '200'), $resp); } } */ update_option('wds_engine_notification', $result); }