public static function reset_options($contents) { if (substr($contents, 0, 10) == 'WXT-V01.00') { $type = 'theme'; } else { if (substr($contents, 0, 10) == 'WXB-V01.00') { $type = 'backup'; } else { $val = substr($contents, 0, 10); self::$wvrx_error = __("Wrong theme file format version", 'weaver-xtreme') . ':' . $val; return false; /* simple check for one of ours */ } } $restore = array(); $restore = unserialize(substr($contents, 10)); if (!$restore) { self::$wvrx_error = __("Unserialize failed", 'weaver-xtreme'); return false; } $version = weaverx_getopt('weaverx_version_id'); // get something to force load $new_cache = array(); global $weaverx_opts_cache; if ($type == 'theme') { // need to clear some settings // first, pickup the per-site settings that aren't theme related... foreach ($weaverx_opts_cache as $key => $val) { if (isset($key[0]) && $key[0] == '_') { // these are non-theme specific settings $new_cache[$key] = $val; } // keep } $opts = $restore['weaverx_base']; // fetch base opts foreach ($opts as $key => $val) { if (isset($key[0]) && $key[0] != '_') { $new_cache[$key] = $val; } // and add rest from restore } } else { if ($type == 'backup') { $opts = $restore['weaverx_base']; // fetch base opts foreach ($opts as $key => $val) { $new_cache[$key] = $val; // overwrite with saved values } } } $new_cache['weaverx_version_id'] = $version; $new_cache['wvrx_css_saved'] = ''; $new_cache['last_option'] = 'Weaver Xtreme'; $new_cache['style_date'] = date('Y-m-d-H:i:s'); delete_option('weaverx_settings'); update_option('weaverx_settings', $new_cache); $save_dir = weaverx_f_uploads_base_dir() . 'weaverx-subthemes'; $usename = 'style-weaverxt.css'; $filename = $save_dir . '/' . $usename; @unlink($filename); $weaverx_opts_cache = $new_cache; if (weaverx_f_file_access_available()) { // and now is the time to update the style file require_once get_template_directory() . '/includes/generatecss.php'; weaverx_fwrite_current_css(); } return true; }
function weaverx_save_opts($who = '', $bump = true) { // Save options // Here's the strategy. Using weaverx_getopt always loads the cache if it hasn't been. // Using weaverx_setopt will save the cache to the database by default // So we take advantage of this by bumping the style version, and using weaverx_setopt, // which saves to the database //$vers = weaverx_getopt('style_version'); if ($who == 'customizer') { // really need to refresh the cache weaverx_clear_opt_cache($who); $old = weaverx_getopt('style_date'); // and reload the cache } if ($bump) { //$vers = $vers ? $vers + 1 : 1; // bump or init // put the CSS into the DB require_once get_template_directory() . '/includes/generatecss.php'; unset($GLOBALS['wvrx_css_saved']); $GLOBALS['wvrx_css_saved'] = ''; weaverx_f_write('wvrx_css_saved', '/* -wvrx_css- */'); weaverx_output_style('wvrx_css_saved'); weaverx_setopt('wvrx_css_saved', $GLOBALS['wvrx_css_saved']); unset($GLOBALS['wvrx_css_saved']); } weaverx_setopt('style_date', date('Y-m-d-H:i:s'), $bump); //weaverx_setopt('style_version',$vers, $bump); // update options, style version if (weaverx_f_file_access_available()) { // and now is the time to update the style file require_once get_template_directory() . '/includes/generatecss.php'; weaverx_fwrite_current_css(); } }