function nr_fo_upgrade() { $flyout_settings = get_option('nrelate_flyout_options'); $flyout_ad_settings = get_option('nrelate_flyout_options_ads'); $flyout_layout_settings = get_option('nrelate_flyout_options_styles'); $flyout_anim_settings = get_option('nrelate_flyout_anim_options_styles'); $current_version = $flyout_settings['flyout_version']; // If settings exist and we're running on old version (or version doesn't exist), then this is an upgrade if (!empty($flyout_settings) && $current_version < NRELATE_FLYOUT_PLUGIN_VERSION) { nrelate_system_check(); // run system check global $nr_fo_std_options, $nr_fo_ad_options, $nr_fo_layout_options, $nr_fo_anim_options, $nr_fo_old_checkbox_options; // move all ad settings code from flyout settings to advertising settings: v0.50.0 nrelate_upgrade_option('nrelate_flyout_options', 'flyout_display_ad', 'nrelate_flyout_options_ads', 'flyout_display_ad'); nrelate_upgrade_option('nrelate_flyout_options', 'flyout_number_of_ads', 'nrelate_flyout_options_ads', 'flyout_number_of_ads'); nrelate_upgrade_option('nrelate_flyout_options', 'flyout_ad_placement', 'nrelate_flyout_options_ads', 'flyout_ad_placement'); nrelate_upgrade_option('nrelate_flyout_options', 'flyout_ad_animation', 'nrelate_flyout_options_ads', 'flyout_ad_animation'); // re-get the latest since we just made changes $flyout_settings = get_option('nrelate_flyout_options'); $flyout_ad_settings = get_option('nrelate_flyout_options_ads'); $flyout_layout_settings = get_option('nrelate_flyout_options_styles'); $flyout_anim_settings = get_option('nrelate_flyout_anim_options_styles'); // Update new options if they don't exist $flyout_settings = wp_parse_args($flyout_settings, $nr_fo_std_options); $flyout_ad_settings = wp_parse_args($flyout_ad_settings, $nr_fo_ad_options); $flyout_layout_settings = wp_parse_args($flyout_layout_settings, $nr_fo_layout_options); $flyout_anim_settings = wp_parse_args($flyout_anim_settings, $nr_fo_anim_options); // now update again update_option('nrelate_flyout_options', $flyout_settings); update_option('nrelate_flyout_options_ads', $flyout_ad_settings); update_option('nrelate_flyout_options_styles', $flyout_layout_settings); update_option('nrelate_flyout_anim_options_styles', $flyout_anim_settings); // Update version number in DB $flyout_settings = get_option('nrelate_flyout_options'); $flyout_settings['flyout_version'] = NRELATE_FLYOUT_PLUGIN_VERSION; update_option('nrelate_flyout_options', $flyout_settings); // Ping nrelate servers about the upgrade $body = array('DOMAIN' => NRELATE_BLOG_ROOT, 'VERSION' => NRELATE_FLYOUT_PLUGIN_VERSION, 'KEY' => get_option('nrelate_key'), 'PLUGIN' => "flyout"); $url = 'http://api.nrelate.com/common_wp/' . NRELATE_LATEST_ADMIN_VERSION . '/versionupdate.php'; $result = wp_remote_post($url, array('body' => $body, 'blocking' => false, 'timeout' => 15)); // Calculate plugin file path $dir = substr(realpath(dirname(__FILE__) . '/..'), strlen(WP_PLUGIN_DIR)); $file = key(get_plugins($dir)); $plugin_file = substr($dir, 1) . '/' . $file; // Update the WP database with the new version number and additional info about this plugin nrelate_products("flyout", NRELATE_FLYOUT_PLUGIN_VERSION, NRELATE_FLYOUT_ADMIN_VERSION, 1, $plugin_file); } }
function nr_rc_upgrade() { $related_settings = get_option('nrelate_related_options'); $related_ad_settings = get_option('nrelate_related_options_ads'); $related_layout_settings = get_option('nrelate_related_options_styles'); $current_version = $related_settings['related_version']; // If settings exist and we're running on old version (or version doesn't exist), then this is an upgrade if (!empty($related_settings) && $current_version < NRELATE_RELATED_PLUGIN_VERSION) { nrelate_system_check(); // run system check global $nr_rc_std_options, $nr_rc_ad_options, $nr_rc_layout_options, $nr_rc_old_checkbox_options, $nr_rc_ad_old_checkbox_options; // move custom field option from related settings to admin settings: v.0.42.2 nrelate_upgrade_option('nrelate_related_options', 'related_custom_field', 'nrelate_admin_options', 'admin_custom_field'); // move ad code field option from related settings to admin settings: v0.42.6 nrelate_upgrade_option('nrelate_related_options', 'related_validate_ad', 'nrelate_admin_options', 'admin_validate_ad'); // move all ad settings code from related settings to advertising settings: v0.50.0 nrelate_upgrade_option('nrelate_related_options', 'related_display_ad', 'nrelate_related_options_ads', 'related_display_ad'); nrelate_upgrade_option('nrelate_related_options', 'related_number_of_ads', 'nrelate_related_options_ads', 'related_number_of_ads'); nrelate_upgrade_option('nrelate_related_options', 'related_ad_placement', 'nrelate_related_options_ads', 'related_ad_placement'); nrelate_upgrade_option('nrelate_related_options', 'related_ad_animation', 'nrelate_related_options_ads', 'related_ad_animation'); // re-get the latest since we just made changes $related_settings = get_option('nrelate_related_options'); $related_ad_settings = get_option('nrelate_related_options_ads'); $related_layout_settings = get_option('nrelate_related_options_styles'); // Sanitize settings for versions <= 0.46.0 if ($current_version <= '0.46.0') { // User is upgrading from version < 0.46.0 if ($current_version < '0.46.0') { // Apply 0.46.0 defaults before running standard upgrade $nr_rc_old_checkbox_options["related_show_post_title"] = 'on'; $nr_rc_ad_old_checkbox_options["related_ad_animation"] = 'on'; } $related_settings = wp_parse_args($related_settings, $nr_rc_old_checkbox_options); $related_ad_settings = wp_parse_args($related_ad_settings, $nr_rc_ad_old_checkbox_options); } // Update new options if they don't exist $related_settings = wp_parse_args($related_settings, $nr_rc_std_options); $related_ad_settings = wp_parse_args($related_ad_settings, $nr_rc_ad_options); $related_layout_settings = wp_parse_args($related_layout_settings, $nr_rc_layout_options); /** * Backwards compatibility * Transforms related_blogoption setting from On|Off to * an array of link category ids * * @since 0.49.0 */ if (isset($related_settings['related_blogoption']) && !is_array($related_settings['related_blogoption'])) { if ($related_settings['related_blogoption'] == 'On') { $taxonomy = 'link_category'; $tax = get_taxonomy($taxonomy); $link_categories = (array) get_terms($taxonomy, array('get' => 'all')); foreach ($link_categories as $category) { if ($category->name == 'Blogroll') { $related_settings['related_blogoption'] = array($category->term_id); break; } } } else { $related_settings['related_blogoption'] = array(); } } // now update again update_option('nrelate_related_options', $related_settings); update_option('nrelate_related_options_ads', $related_ad_settings); update_option('nrelate_related_options_styles', $related_layout_settings); // Update version number in DB $related_settings = get_option('nrelate_related_options'); $related_settings['related_version'] = NRELATE_RELATED_PLUGIN_VERSION; update_option('nrelate_related_options', $related_settings); // Ping nrelate servers about the upgrade $body = array('DOMAIN' => NRELATE_BLOG_ROOT, 'VERSION' => NRELATE_RELATED_PLUGIN_VERSION, 'KEY' => get_option('nrelate_key'), 'PLUGIN' => "related"); $url = 'http://api.nrelate.com/common_wp/' . NRELATE_LATEST_ADMIN_VERSION . '/versionupdate.php'; $result = wp_remote_post($url, array('body' => $body, 'blocking' => false, 'timeout' => 15)); // Calculate plugin file path $dir = substr(realpath(dirname(__FILE__) . '/..'), strlen(WP_PLUGIN_DIR)); $file = key(get_plugins($dir)); $plugin_file = substr($dir, 1) . '/' . $file; // Update the WP database with the new version number and additional info about this plugin nrelate_products("related", NRELATE_RELATED_PLUGIN_VERSION, NRELATE_RELATED_ADMIN_VERSION, 1, $plugin_file); } }