Updates bonanza

This commit is contained in:
nikolark committed 2014-07-24 14:38:32 +02:00
1 parent d26191c9f8
commit 9d480fc3c5
1366 files changed
+220321 -90180

No files matched your search

@@ -3,74 +3,87 @@
* @package XML_Sitemaps
*/
if ( !defined('WPSEO_VERSION') ) {
header('HTTP/1.0 403 Forbidden');
die;
if ( ! defined( 'WPSEO_VERSION' ) ) {
header( 'Status: 403 Forbidden' );
header( 'HTTP/1.1 403 Forbidden' );
exit();
}
/**
* Class that handles the Admin side of XML sitemaps
*/
class WPSEO_Sitemaps_Admin {
if ( ! class_exists( 'WPSEO_Sitemaps_Admin' ) ) {
/**
* Class constructor
* Class that handles the Admin side of XML sitemaps
*/
function __construct() {
class WPSEO_Sitemaps_Admin {
$options = get_option( 'wpseo_xml' );
if ( !isset( $options[ 'enablexmlsitemap' ] ) || !$options[ 'enablexmlsitemap' ] )
return;
/**
* Class constructor
*/
function __construct() {
add_action( 'transition_post_status', array( $this, 'status_transition' ), 10, 3 );
add_action( 'admin_init', array( $this, 'delete_sitemaps' ) );
}
add_action( 'transition_post_status', array( $this, 'status_transition' ), 10, 3 );
add_action( 'admin_init', array( $this, 'delete_sitemaps' ) );
}
/**
* Find sitemaps residing on disk as they will block our rewrite.
*
* @todo issue #561 https://github.com/Yoast/wordpress-seo/issues/561
*/
function delete_sitemaps() {
$options = WPSEO_Options::get_all();
if ( $options['enablexmlsitemap'] === true ) {
/**
* Remove sitemaps residing on disk as they will block our rewrite.
*/
function delete_sitemaps() {
$options = get_option( 'wpseo' );
if ( isset( $options[ 'enablexmlsitemap' ] ) && $options[ 'enablexmlsitemap' ] ) {
$file = ABSPATH . 'sitemap_index.xml';
if ( ( !isset( $options[ 'blocking_files' ] ) || !is_array( $options[ 'blocking_files' ] ) || !in_array( $file, $options[ 'blocking_files' ] ) ) &&
file_exists( $file )
) {
if ( !is_array( $options[ 'blocking_files' ] ) )
$options[ 'blocking_files' ] = array();
$options[ 'blocking_files' ][ ] = $file;
update_option( 'wpseo', $options );
$file_to_check_for = array(
//ABSPATH . 'sitemap.xml',
//ABSPATH . 'sitemap.xslt',
//ABSPATH . 'sitemap.xsl',
ABSPATH . 'sitemap_index.xml',
);
$new_files_found = false;
foreach ( $file_to_check_for as $file ) {
if ( ( $options['blocking_files'] === array() || ( $options['blocking_files'] !== array() && in_array( $file, $options['blocking_files'] ) === false ) ) && file_exists( $file ) ) {
$options['blocking_files'][] = $file;
$new_files_found = true;
}
}
if ( $new_files_found === true ) {
update_option( 'wpseo', $options );
}
}
}
}
/**
* Hooked into transition_post_status. Will initiate search engine pings
* if the post is being published, is a post type that a sitemap is built for
* and is a post that is included in sitemaps.
*/
function status_transition( $new_status, $old_status, $post ) {
if ( $new_status != 'publish' )
return;
/**
* Hooked into transition_post_status. Will initiate search engine pings
* if the post is being published, is a post type that a sitemap is built for
* and is a post that is included in sitemaps.
*/
function status_transition( $new_status, $old_status, $post ) {
if ( $new_status != 'publish' ) {
return;
}
wp_cache_delete( 'lastpostmodified:gmt:' . $post->post_type, 'timeinfo' ); // #17455
wp_cache_delete( 'lastpostmodified:gmt:' . $post->post_type, 'timeinfo' ); // #17455
$options = get_wpseo_options();
if ( isset( $options[ 'post_types-' . $post->post_type . '-not_in_sitemap' ] ) && $options[ 'post_types-' . $post->post_type . '-not_in_sitemap' ] )
return;
$options = WPSEO_Options::get_all();
if ( isset( $options[ 'post_types-' . $post->post_type . '-not_in_sitemap' ] ) && $options[ 'post_types-' . $post->post_type . '-not_in_sitemap' ] === true ) {
return;
}
if ( WP_CACHE )
wp_schedule_single_event( time() + 300, 'wpseo_hit_sitemap_index' );
if ( WP_CACHE ) {
wp_schedule_single_event( time() + 300, 'wpseo_hit_sitemap_index' );
}
// Allow the pinging to happen slightly after the hit sitemap index so the sitemap is fully regenerated when the ping happens.
if ( wpseo_get_value( 'sitemap-include', $post->ID ) != 'never' ) {
if ( defined( 'YOAST_SEO_PING_IMMEDIATELY' ) && YOAST_SEO_PING_IMMEDIATELY )
wpseo_ping_search_engines();
else
wp_schedule_single_event( ( time() + 300 ), 'wpseo_ping_search_engines' );
// Allow the pinging to happen slightly after the hit sitemap index so the sitemap is fully regenerated when the ping happens.
if ( WPSEO_Meta::get_value( 'sitemap-include', $post->ID ) !== 'never' ) {
if ( defined( 'YOAST_SEO_PING_IMMEDIATELY' ) && YOAST_SEO_PING_IMMEDIATELY ) {
wpseo_ping_search_engines();
}
else {
wp_schedule_single_event( ( time() + 300 ), 'wpseo_ping_search_engines' );
}
}
}
}
}
} /* End of class */
// Instantiate class
$wpseo_sitemaps_admin = new WPSEO_Sitemaps_Admin();
} /* End of class-exists wrapper */