Esempio n. 1
0
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>&nbsp;
        <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> &nbsp;<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>&nbsp;<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.');
                        }
                    }
                }
            }
        }
    }
Esempio n. 4
0
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>';
        }
    }
}