function weaver_save_current_css() { // write the current generated CSS to a file - called only from Weaver Admin if (!weaver_f_file_access_available()) { weaver_f_file_access_fail('Limited file access. Probably running with reduced functionality.'); return ''; } $save_dir = weaver_f_uploads_base_dir() . 'weaver-subthemes'; $save_url = weaver_f_uploads_base_url() . 'weaver-subthemes'; $usename = 'style-weaver.css'; $ttw_theme_dir_exists = weaver_f_mkdir($save_dir); if (!$ttw_theme_dir_exists) { weaver_f_file_access_fail('Unable to create directory. Probably a file system permission problem. Directory' . $save_dir); } $ttw_theme_dir_writable = $ttw_theme_dir_exists; if (!weaver_f_is_writable($save_dir)) { weaver_f_file_access_fail('Directory not writable. Probably a file system permission problem. Directory: ' . $save_dir); $ttw_theme_dir_writable = false; } $filename = $save_dir . '/' . $usename; // we will add txt if (!$ttw_theme_dir_writable || !$ttw_theme_dir_exists || !($handle = weaver_f_open($filename, 'w'))) { weaver_f_file_access_fail('Unable to create file. Probably a file system permission problem. File: ' . $filename); return ''; } weaver_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", WEAVER_THEMENAME, WEAVER_VERSION, weaver_getopt('ttw_subtheme'))); weaver_output_style($handle); if (!weaver_f_close($handle)) { weaver_f_file_access_fail('Unable to create file. Probably a file system permission problem. File: ' . $filename); return ''; } require_once 'wvr-editorcss.php'; weaver_save_editor_css($save_dir); return $save_url . '/' . $usename; }
function weaver_generate_wphead() { /* this guy does ALL the work for generating theme look - it writes out the over-rides to the standard style.css */ global $weaver_main_options, $weaver_cur_page_ID; // if ( have_posts() ) // the_post(); $weaver_cur_page_ID = get_the_ID(); // we're on a page now, so set the post id for the rest of the session // rewind_posts(); printf("\n<!-- This site is using %s %s subtheme: %s -->\n", WEAVER_THEMENAME, WEAVER_VERSION, weaver_getopt('ttw_subtheme')); if (!weaver_getopt('ttw_hide_metainfo')) { echo weaver_getopt('ttw_metainfo') . "\n"; } // handle 3 stylesheet situations // default: used weaver-style.css // no weaver-style.css: when first installed, there will not be a weaver-style.css, so use inline instead // force inline: user wants inline css if (weaver_use_inline_css(weaver_get_css_filename())) { // generate inline CSS if (!weaver_getopt('ttw_subtheme')) { // It would be nice to use wp_enqueue_style, but it is too late at this point, so we // will generate the code manually - this is a one-shot special case that happens ONLY // when the theme preview option is being used from the themes admin page echo '<link rel="stylesheet" type="text/css" media="all" href="' . get_stylesheet_directory_uri() . '/subthemes/style-weaver-preview.css" />' . "\n"; } else { require_once 'wvr-generatecss.php'; // include only now at runtime. echo '<style type="text/css">' . "\n"; $output = weaver_f_open('php://output', 'w+'); weaver_output_style($output); echo "</style> <!-- end of main options style section -->\n"; } } else { // file should have been added from header.php } /* now head options */ echo weaver_getopt('ttw_theme_head_opts'); echo weaver_getopt('ttw_head_opts'); /* let the user have the last word! */ $per_page_code = weaver_get_per_page_value('page-head-code'); if (!empty($per_page_code)) { echo $per_page_code; } weaver_fix_IE(); do_action('wvrx_extended_wp_head'); /* call extended wp_head stuff */ do_action('wvrx_plus_wp_head'); // future header plugin echo "\n<!-- End of Weaver options -->\n"; }
// use file $vers = weaver_getopt('ttw_style_version'); if (!$vers) { $vers = '0'; } else { $vers = sprintf("%d", $vers); } wp_register_style('weaver-style-sheet', weaver_get_css_url(), array(), $vres); wp_enqueue_style('weaver-style-sheet'); } else { // generate inline CSS require_once 'wvr-includes/wvr-generatecss.php'; // include only now at runtime. echo '<style type="text/css">' . "\n"; $output = weaver_f_open('php://output', 'w+'); weaver_output_style($output); echo "</style> <!-- end of main options style section -->\n"; } } else { ?> <style type="text/css"> body, p, #wrapper, #main { background: transparent; border: 0; margin: 0; padding: 0; vertical-align: baseline; } </style> <?php }