function weaverx_fwrite_current_css() { // write the current generated CSS to a file - called only from Weaver II Admin if (!weaverx_f_file_access_available() || !current_user_can('edit_theme_options')) { return ''; } $save_dir = weaverx_f_uploads_base_dir() . 'weaverx-subthemes'; $save_url = weaverx_f_uploads_base_url() . 'weaverx-subthemes'; $usename = 'style-weaverxt.css'; $theme_dir_exists = weaverx_f_mkdir($save_dir); if (!$theme_dir_exists) { weaverx_f_file_access_fail(__('Unable to create directory. Probably a file system permission problem. Directory', 'weaver-xtreme') . $save_dir); } $theme_dir_writable = $theme_dir_exists; if (!weaverx_f_is_writable($save_dir)) { weaverx_f_file_access_fail(__('Directory not writable. Probably a file system permission problem. Directory: ', 'weaver-xtreme') . $save_dir); $theme_dir_writable = false; } $filename = $save_dir . '/' . $usename; // we will add txt if (!$theme_dir_writable || !$theme_dir_exists || !($handle = weaverx_f_open($filename, 'w'))) { weaverx_f_file_access_fail(__('Unable to create file. Probably a file system permission problem. File: ', 'weaver-xtreme') . $filename); return ''; } // This string goes in the generated CSS file weaverx_f_write($handle, sprintf("/* WARNING: Do not edit this file. It is dynamically generated. Any edits you make will be overwritten. */\n/* This file generated using %s %s subtheme: %s */\n", WEAVERX_THEMENAME, WEAVERX_VERSION, weaverx_getopt('wii_subtheme'))); weaverx_output_style($handle); if (!weaverx_f_close($handle)) { weaverx_f_file_access_fail(__('Unable to create file. Probably a file system permission problem. File: ', 'weaver-xtreme') . $filename); return ''; } return $save_url . '/' . $usename; }
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_saverestore() { /* admin tab for saving and restoring theme */ $weaverx_theme_dir = esc_url(weaverx_f_uploads_base_dir() . 'weaverx-theme/'); $download_path = esc_url(weaverx_relative_url('includes/download.php')); $download_img_path = esc_url(weaverx_relative_url('assets/images/download.png')); $nonce = wp_create_nonce('weaverx_download'); $a_pro = function_exists('weaverxplus_plugin_installed') ? '-plus' : ''; ?> <h3 class="atw-option-subheader" style="color:blue;"> <?php _e('Save/Restore Current Theme Settings using Your Computer', 'weaver-xtreme'); ?> </h3> <p> <?php _e('This option allows you to save and restore all current theme settings by uploading and downloading to your own computer.', 'weaver-xtreme'); ?> </p> <h3><?php _e('Download Current Settings To Your Computer', 'weaver-xtreme'); ?> </h3> <a href="<?php echo $download_path . '?_wpnonce=' . $nonce; ?> "><img src="<?php echo esc_url($download_img_path); ?> " /> <strong><?php _e('Download', 'weaver-xtreme'); ?> </strong> </a> - <?php _e('<strong>Save all</strong> current settings to file on your computer. (Full settings backup, including those marked with ♦.) <em>File:</em>', 'weaver-xtreme'); ?> <strong>weaverx-backup-settings<?php echo $a_pro; ?> .wxb</strong> <br /> <br /> <a href="<?php echo $download_path . '?_wpnoncet=' . $nonce; ?> "><img src="<?php echo esc_url($download_img_path); ?> " /> <strong><?php _e('Download', 'weaver-xtreme'); ?> </strong></a> - <?php _e('<strong><em>Save only theme related</em></strong> current settings to file on your computer. <em>File:</em> <strong>weaverx-theme-settings<?php echo $a_pro;?>.wxt</strong>', 'weaver-xtreme'); if (function_exists('weaverxplus_plugin_installed')) { echo '<p>' . __('Note: Downloaded settings include <em>Weaver Xtreme Plus</em> settings. Setting files from Weaver Xtreme Plus can be uploaded to the Free Weaver Xtreme version, but will not be used or saved by the free version.', 'weaver-xtreme') . '</p>'; } ?> <form enctype="multipart/form-data" action="<?php echo $_SERVER["REQUEST_URI"]; ?> " method="POST"> <table> <tr><td><h3><?php _e('Upload settings from file saved on your computer', 'weaver-xtreme'); ?> </h3></td></tr> <tr valign="top"> <td><?php _e('Select theme/backup file to upload:', 'weaver-xtreme'); ?> <span style="border:1px solid black;padding:2px;"><input name="uploaded" type="file" /></span> <input type="hidden" name="uploadit" value="yes" /> <?php _e('(Restores settings in file to current settings.)', 'weaver-xtreme'); ?> </td> </tr> <tr><td><span class='submit'> <input name="uploadtheme" type="submit" value="<?php _e('Upload theme/backup', 'weaver-xtreme'); ?> " /></span> <small><?php _e('<strong>Upload and Restore</strong> a theme/backup from file on your computer. Will become current settings.', 'weaver-xtreme'); ?> </small></td></tr> <tr><td> <?php if (!function_exists('weaverxplus_plugin_installed')) { echo '<small>' . __('Note: Any Weaver Xtreme Plus settings will <em>not</em> be restored for Weaver Xtreme Free version.', 'weaver-xtreme') . '</small>'; } ?> </td></tr> </table> <?php weaverx_nonce_field('uploadtheme'); ?> </form> <?php }