public static function reset_options($contents, $ext) { if ($ext == 'wxall') { $version = weaverx_getopt('weaverx_version_id'); // get something to force load opts_cache weaverx_delete_all_options(); $restore = array(); $restore = unserialize($contents); $opts = $restore['weaverx']; // fetch base opts //if (isset($opts['fonts_added']) ) { // $opts['fonts_added'] = serialize($opts['fonts_added']); //} foreach ($opts as $key => $val) { weaverx_setopt($key, $val, false); // overwrite with saved values } weaverx_setopt('weaverx_version_id', $version); // keep version, force save of db weaverx_setopt('wvrx_css_saved', ''); weaverx_setopt('last_option', 'Weaver Xtreme'); weaverxplus_clear_opts(); $opts = $restore['weaverxplus']; // fetch plus opts foreach ($opts as $key => $val) { weaverxplus_setopt($key, $val, false); // overwrite with saved values } weaverxplus_update_opts(); weaverx_save_opts('xplus', true); } else { 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_ex_set_current_to_serialized_values($contents) { global $weaverx_opts_cache; // need to mess with the cache 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); return weaverx_f_fail(__("Wrong theme file format version", 'weaver-xtreme') . ':' . $val); /* simple check for one of ours */ } } $restore = array(); $restore = unserialize(substr($contents, 10)); if (!$restore) { return weaverx_f_fail(__("Unserialize failed", 'weaver-xtreme')); } $version = weaverx_getopt('weaverx_version_id'); // get something to force load if ($type == 'theme') { // need to clear some settings // first, pickup the per-site settings that aren't theme related... $new_cache = array(); 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 weaverx_delete_all_options(); foreach ($opts as $key => $val) { if (isset($key[0]) && $key[0] != '_') { weaverx_setopt($key, $val, false); } // overwrite with saved theme values } foreach ($new_cache as $key => $val) { // set the values we need to keep weaverx_setopt($key, $val, false); } } else { if ($type == 'backup') { weaverx_delete_all_options(); $opts = $restore['weaverx_base']; // fetch base opts foreach ($opts as $key => $val) { weaverx_setopt($key, $val, false); // overwrite with saved values } } } weaverx_setopt('weaverx_version_id', $version); // keep version, force save of db weaverx_setopt('wvrx_css_saved', ''); weaverx_setopt('last_option', 'Weaver Xtreme'); weaverx_save_opts('loading theme'); // OK, now we've saved the options, update them in the DB return true; }