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_unpackzip($uploaded, $to_dir)
{
    // upload theme from users computer
    // they've supplied and uploaded a file
    $ok = true;
    // no errors so far
    if (isset($_FILES[$uploaded]['name'])) {
        // uploaded_addon
        $filename = $_FILES[$uploaded]['name'];
    } else {
        $filename = "";
    }
    if (isset($_FILES[$uploaded]['tmp_name'])) {
        $openname = $_FILES[$uploaded]['tmp_name'];
    } else {
        $openname = "";
    }
    //Check the file extension
    $check_file = strtolower($filename);
    $exp = explode('.', $check_file);
    // call by ref workaround
    $ext_check = end($exp);
    if (false && !weaverii_f_file_access_available()) {
        $errors[] = "Sorry - Weaver II unable to access files.<br />";
        $ok = false;
    }
    if ($filename == "") {
        $errors[] = "You didn't select a file to upload.<br />";
        $ok = false;
    }
    if ($ok && $ext_check != 'zip') {
        $errors[] = "Uploaded files must have <em>.zip</em> extension.<br />";
        $ok = false;
    }
    if ($ok) {
        if (!weaverii_f_exists($openname)) {
            $errors[] = '<strong><em style="color:red;">
Sorry, there was a problem uploading your file. You may need to check your folder permissions
or other server settings.</em></strong><br />' . "(Trying to use file '{$openname}')";
            $ok = false;
        }
    }
    if ($ok) {
        // should be ready to go, but check out WP_Filesystem
        if (!WP_Filesystem()) {
            function weaveriiex_return_direct()
            {
                return 'direct';
            }
            add_filter('filesystem_method', 'weaveriiex_return_direct');
            $try2 = WP_Filesystem();
            remove_filter('filesystem_method', 'weaveriiex_return_direct');
            if (!$try2) {
                $errors[] = 'Sorry, there\'s a problem trying to use the WordPress unzip function. Please
    see the FAQ at weavertheme.com support for more information.';
                $ok = false;
            }
        }
    }
    if ($ok) {
        // $openname has uploaded .zip file to use
        // $filename has name of file uploaded
        $is_error = unzip_file($openname, $to_dir);
        if (!is_wp_error($is_error)) {
            weaverii_save_msg('File ' . $filename . ' successfully uploaded and unpacked to: <br />' . $to_dir);
            @unlink($openname);
            // delete temp file...
        } else {
            $errors[] = "Sorry, unpacking the .zip you selected file failed. You may have a corrupt .zip file, or there many a file permissions problem on your WordPress installation.";
            $errors[] = $is_error->get_error_message();
            $ok = false;
        }
    }
    if (!$ok) {
        echo '<div id="message" class="updated fade"><p><strong><em style="color:red;">ERROR</em></strong></p><p>';
        foreach ($errors as $error) {
            echo $error . '<br />';
        }
        echo '</p></div>';
    }
    return $ok;
}
Esempio n. 3
0
function weaverii_use_inline_css($css_file)
{
    return weaverii_getopt_checked('_wii_inline_style') || !weaverii_f_file_access_available() || !weaverii_f_exists($css_file) || weaverii_dev_mode();
}