function weaverx_process_options_themes() { if (weaverx_submitted('set_subtheme')) { // invoked from Weaver Xtreme Subthemes tab (this file) if (isset($_POST['theme_picked'])) { $theme = weaverx_filter_textarea($_POST['theme_picked']); if (weaverx_activate_subtheme($theme)) { weaverx_save_msg(__("Subtheme Selected: ", 'weaver-xtreme') . $theme); } else { weaverx_save_msg(__("Invalid Subtheme file detected. Your installation of Weaver Xtreme may be broken.", 'weaver-xtreme')); } } else { weaverx_save_msg(__("Please select a subtheme.", 'weaver-xtreme')); } return true; } if (weaverx_submitted('save_mytheme')) { // invoked from Save/Restore tab weaverx_save_msg(__("Current settings saved in WordPress database.", 'weaver-xtreme')); global $weaverx_opts_cache; if (!$weaverx_opts_cache) { $weaverx_opts_cache = get_option(apply_filters('weaverx_options', 'weaverx_settings'), array()); } if (current_user_can('manage_options')) { $compressed = array_filter($weaverx_opts_cache, 'strlen'); // filter out all null options (strlen == 0) update_option(apply_filters('weaverx_options', 'weaverx_settings_backup'), $compressed); if (apply_filters('weaverx_xtra_type', '+backup') != 'inactive') { delete_option('weaverx_plus_backup'); } } return true; } if (weaverx_submitted('restore_mytheme')) { // invoked from Save/Restore tab global $weaverx_opts_cache; $saved = get_option(apply_filters('weaverx_options', 'weaverx_settings_backup'), array()); if (!empty($saved)) { $weaverx_opts_cache = $saved; weaverx_wpupdate_option('weaverx_settings', $weaverx_opts_cache); } weaverx_save_msg(__("Current settings restored from WordPress database.", 'weaver-xtreme')); return true; } if (weaverx_submitted('hide_thumbs')) { $hide = weaverx_getopt('_hide_theme_thumbs'); weaverx_setopt('_hide_theme_thumbs', !$hide); return true; } // save/restore options if (weaverx_submitted('weaverx_clear_messages')) { return true; } if (weaverx_submitted('reset_weaverx')) { if (!current_user_can('manage_options')) { wp_die(__('You do not have the capability to do that.', 'weaver-xtreme')); } // delete everything! weaverx_save_msg(__('All Weaver Xtreme settings have been reset to the defaults.', 'weaver-xtreme')); delete_option(apply_filters('weaverx_options', 'weaverx_settings')); global $weaverx_opts_cache; $weaverx_opts_cache = false; // clear the cache weaverx_init_opts('reset_weaverx'); delete_option(apply_filters('weaverx_options', 'weaverx_settings_backup')); do_action('weaverxplus_admin', 'reset_weaverxplus'); update_user_meta(get_current_user_id(), 'tgmpa_dismissed_notice', 0); // reset the dismiss on the plugin loader return true; } if (weaverx_submitted('uploadtheme') && function_exists('weaverx_loadtheme')) { weaverx_loadtheme(); return true; } return false; }
function weaverx_update_options($id) { global $weaverx_opts_cache; if (!$weaverx_opts_cache) { $weaverx_opts_cache = get_option(apply_filters('weaverx_options', 'weaverx_settings'), array()); } weaverx_wpupdate_option('weaverx_settings', $weaverx_opts_cache); }