function weaverii_save_current_css() { // write the current generated CSS to a file - called only from Weaver II Admin if (!weaverii_f_file_access_available() || !current_user_can('edit_theme_options')) { return ''; } $save_dir = weaverii_f_uploads_base_dir() . 'weaverii-subthemes'; $save_url = weaverii_f_uploads_base_url() . 'weaverii-subthemes'; $usename = 'style-weaverii.css'; $wii_theme_dir_exists = weaverii_f_mkdir($save_dir); if (!$wii_theme_dir_exists) { weaverii_f_file_access_fail('Unable to create directory. Probably a file system permission problem. Directory' . $save_dir); } $wii_theme_dir_writable = $wii_theme_dir_exists; if (!weaverii_f_is_writable($save_dir)) { weaverii_f_file_access_fail('Directory not writable. Probably a file system permission problem. Directory: ' . $save_dir); $wii_theme_dir_writable = false; } $filename = $save_dir . '/' . $usename; // we will add txt if (!$wii_theme_dir_writable || !$wii_theme_dir_exists || !($handle = weaverii_f_open($filename, 'w'))) { weaverii_f_file_access_fail('Unable to create file. Probably a file system permission problem. File: ' . $filename); return ''; } weaverii_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", WEAVERII_THEMENAME, WEAVERII_VERSION, weaverii_getopt('wii_subtheme'))); weaverii_output_style($handle); if (!weaverii_f_close($handle)) { weaverii_f_file_access_fail('Unable to create file. Probably a file system permission problem. File: ' . $filename); return ''; } return $save_url . '/' . $usename; }
function weaverii_child_show_extrathemes_action() { echo '<h3 class="wvr-option-subheader">Select an Add-on Subtheme You Have Uploaded</h3>'; $addon_dir = weaverii_f_uploads_base_dir() . 'weaverii-subthemes/addon-subthemes/'; $addon_url = weaverii_f_uploads_base_url() . 'weaverii-subthemes/addon-subthemes/'; $addon_list = array(); if ($media_dir = @opendir($addon_dir)) { // build the list of themes from directory while ($m_file = readdir($media_dir)) { $len = strlen($m_file); $base = substr($m_file, 0, $len - 4); $ext = $len > 4 ? substr($m_file, $len - 4, 4) : ''; if ($ext == '.w2t') { $addon_list[] = $base; } } } if (!empty($addon_list)) { natcasesort($addon_list); $cur_addon = weaverii_getopt('wii_addon_name'); if ($cur_addon) { echo '<h3>Currently selected Add-on Subtheme: ' . ucwords(str_replace('-', ' ', $cur_addon)) . '</h3>'; } ?> <form enctype="multipart/form-data" name='pick_added_theme' method='post'> <h4>Select an add-on subtheme: </h4> <?php foreach ($addon_list as $addon) { $name = ucwords(str_replace('-', ' ', $addon)); ?> <div style="float:left; width:200px;"> <label><input type="radio" name="wii_addon_name" <?php echo 'value="' . $addon . '"' . (weaverii_getopt('wii_addon_name') == $addon ? 'checked' : '') . '/> <strong>' . $name . '</strong><br /> <img style="border: 1px solid gray; margin: 5px 0px 10px 0px;" src="' . $addon_url . $addon . '.jpg" width="150px" height="113px" /><label></div>' . "\n"; } ?> <div style="clear:both;"></div> <br /><span class='submit'><input name="set_added_subtheme" type="submit" value="Set to Selected Add-on Subtheme" /></span> <span style="color:#b00;"><strong>Note:</strong> Selecting a new subtheme will change only theme related settings. Most Advanced Options will be retained. You can use the Save/Restore tab to save a copy of all your current settings first.</span> <?php weaverii_nonce_field('set_added_subtheme'); ?> <br /><br /><span class='wvr-small-submit' style="margin-left:100px;"><input name="delete_added_subtheme" type="submit" value="Delete Selected Add-on Subtheme" /></span> <small>This will delete the selected Add-on Subtheme from the Add-on directory</small> <?php weaverii_nonce_field('delete_added_subtheme'); ?> </form> <?php } else { ?> <p>You have not uploaded any Add-on Subthemes yet.</p> <?php } echo '<h3 class="wvr-option-subheader">Upload an Add-on Subtheme From Your Computer</h3>'; ?> <form name='form_added_theme' enctype="multipart/form-data" action="<?php echo $_SERVER["REQUEST_URI"]; ?> " method="POST"> <table> <tr valign="top"> <td><strong>Select Add-on Subtheme .zip file to upload:</strong> <input name="uploaded_addon" type="file" /> <input type="hidden" name="uploadaddon" value="yes" /> </td> </tr> <tr><td> <span style="margin-left:50px;" class='submit'> <input name="upload_addon" type="submit" value="Upload Add-on Subtheme" /> </span> <small><strong>Upload and Save</strong> an Add-on Subtheme or Subtheme collection from .zip file on your computer. Will be saved on your site's filesystem.</small> </td></tr> </table> <?php weaverii_nonce_field('upload_addon'); ?> </form> <?php }
function weaverii_child_process_options() { if (!defined('WEAVERII_EXTRAS_ADMIN_HELPERS')) { require_once dirname(__FILE__) . '/includes/wtx-admin-page.php'; } // admin info if (weaverii_submitted('set_added_subtheme')) { // Set to selected addon - theme if (isset($_POST['wii_addon_name'])) { $name = $_POST['wii_addon_name']; $openname = weaverii_f_uploads_base_dir() . 'weaverii-subthemes/addon-subthemes/' . $name . '.w2t'; $contents = file_get_contents($openname); if (!weaverii_ex_set_current_to_serialized_values($contents, 'weaverii_uploadit:' . $openname)) { echo '<div id="message" class="updated fade"><p><strong><em style="color:red;">Sorry, there was a problem uploading your add on theme. The name you picked did not have a valid Weaver II theme file in the /wevaerii-subthemes/addon-subthemes directory.</em></strong></p></div>'; } else { weaverii_save_msg('Weaver II theme options reset to ' . ucwords(str_replace('-', ' ', $name)) . ' add-on subtheme.'); weaverii_setopt('wii_addon_name', $name); } } } else { if (weaverii_submitted('delete_added_subtheme')) { // Delete selected addon theme if (isset($_POST['wii_addon_name'])) { $name = $_POST['wii_addon_name']; @unlink(weaverii_f_uploads_base_dir() . 'weaverii-subthemes/addon-subthemes/' . $name . '.w2t'); @unlink(weaverii_f_uploads_base_dir() . 'weaverii-subthemes/addon-subthemes/' . $name . '.jpg'); weaverii_save_msg('Deleted ' . ucwords(str_replace('-', ' ', $name)) . ' add-on subtheme.'); } } else { if (weaverii_submitted('upload_addon') && isset($_POST['uploadaddon']) && $_POST['uploadaddon'] == 'yes') { // upload theme from users computer // they've supplied and uploaded a file $ok = weaverii_unpackzip('uploaded_addon', weaverii_f_uploads_base_dir() . 'weaverii-subthemes/addon-subthemes/'); } else { if (weaverii_submitted('upload_theme')) { // upload theme from users computer // they've supplied and uploaded a file if (isset($_FILES['uploaded_theme']['name'])) { // uploaded_theme $filename = $_FILES['uploaded_theme']['name']; } else { $filename = ""; } $to = weaverii_f_themes_dir(); if (strpos($filename, 'weaver-ii-pro-') === false && strpos($filename, 'weaver-ii-') === false) { ?> <div id="message" class="updated fade"><p><strong><em style="color:red;">ERROR</em></strong></p> <p>You did not select a Weaver II theme .zip file: "<?php echo $filename; ?> ". The theme file name must start with 'weaver-ii-' or 'weaver-ii-pro-'. Please use a file you downloaded from WeaverTheme.com.</p> </div> <?php return; } $ok = weaverii_unpackzip('uploaded_theme', $to); if ($ok) { weaverii_save_msg('Your Weaver II Theme has been successfully updated. Please click "Clear Messages" button right now to refresh the scrren and start using the updated version.'); } } } } } }
function weaverii_subtheme_list($lbl) { // output the form to select a file list from weaverii-subthemes directory ?> <select name="<?php echo $lbl; ?> " id="<?php echo $lbl; ?> "> <option value="None">-- Select File --</option> <?php // echo the theme file list $theme_dir = weaverii_f_uploads_base_dir() . 'weaverii-subthemes/'; if ($media_dir = opendir($theme_dir)) { while ($m_file = readdir($media_dir)) { $len = strlen($m_file); $ext = $len > 4 ? substr($m_file, $len - 4, 4) : ''; if ($ext == '.w2t' || $ext == '.w2b') { echo '<option value="' . $m_file . '">' . $m_file . '</option>'; } } } ?> </select> <?php }
function weaverii_process_options_admin_pro() { if (weaverii_submitted('backup_settings')) { $name = weaverii_savebackup(); if ($name !== false) { weaverii_save_msg(weaverii_t_('All current main and advanced options backed up in:') . ' "' . $name . '.w2b"'); } else { weaverii_save_msg(weaverii_t_('ERROR: Saving backup failed.')); } } if (weaverii_submitted('filesavetheme')) { $base = sanitize_file_name($_POST['savethemename']); if (weaverii_dev_mode()) { weaverii_setopt('wii_hide_old_weaver', 0); } $temp_url = weaverii_write_current_theme($base); if ($temp_url == '') { weaverii_save_msg(weaverii_t_('Invalid name supplied to save theme to file.')); } else { weaverii_save_msg(weaverii_t_("All current main and advanced options saved in ") . $temp_url); } } if (weaverii_submitted('restoretheme')) { $base = $_POST['wii_restorename']; $valid = validate_file($base); // make sure an ok file name $fn = weaverii_f_uploads_base_dir() . 'weaverii-subthemes/' . $base; if ($valid < 1 && weaverii_upload_theme($fn)) { $t = weaverii_getopt('wii_themename'); if ($t == '') { $t = weaverii_getopt('wii_subtheme'); } if ($t == '') { $t = 'Antique Ivory'; } /* did we save a theme? */ weaverii_setopt('wii_theme_filename', 'custom'); // we have a custom theme now... weaverii_save_msg(weaverii_t_("Weaver II theme restored from file: ") . $t); } else { weaverii_save_msg('<em style="color:red;">' . weaverii_t_('INVALID FILE NAME PROVIDED - Try Again') . "({$fn})" . '</em>'); } } if (weaverii_submitted('save_mobiletheme')) { weaverii_save_msg(weaverii_t_("Current settings saved in alternate Mobile View database entry.")); $weaverii_opts = get_option(apply_filters('weaver_options', 'weaverii_settings'), array()); $weaverii_opts['_wii_mobile_alt_theme'] = 'saved_mobile'; // force these two $weaverii_opts['_wii_sim_mobile'] = false; $weaverii_opts['_wii_inline_style'] = 'on'; weaverii_wpupdate_option('weaverii_settings_mobile', $weaverii_opts, 'save_mobiletheme'); $weaverii_pro_opts = get_option(apply_filters('weaver_options', 'weaverii_pro'), array()); weaverii_wpupdate_option('weaverii_pro_mobile', $weaverii_pro_opts, 'save_mobile_theme'); } if (weaverii_submitted('renametheme')) { $name = isset($_POST['wii_themename']) ? $_POST['wii_themename'] : ''; $desc = isset($_POST['wii_theme_description']) ? $_POST['wii_theme_description'] : ''; if ($name) { weaverii_setopt('wii_themename', $name); } if ($desc) { weaverii_setopt('wii_theme_description', $desc); } } if (weaverii_submitted('deletetheme')) { $myFile = isset($_POST['selectName']) ? $_POST['selectName'] : ''; $valid = validate_file($myFile); if ($valid < 1 && $myFile != "None") { weaverii_f_delete(weaverii_f_uploads_base_dir() . 'weaverii-subthemes/' . $myFile); echo '<div style="background-color: rgb(255, 251, 204);" id="message" class="updated fade"><p>File: <strong>' . $myFile . '</strong> has been deleted.</p></div>'; } else { echo '<div style="background-color: rgb(255, 251, 204);" id="message" class="updated fade"><p>File: <strong>' . $myFile . '</strong> invalid file name, not deleted.</p></div>'; } } }