Ticket #35229: 35229.diff
File 35229.diff, 10.3 KB (added by , 9 years ago) |
---|
-
src/wp-admin/load-styles.php
3 3 /** 4 4 * Disable error reporting 5 5 * 6 6 * Set this to error_reporting( -1 ) for debugging 7 7 */ 8 8 error_reporting(0); 9 9 10 10 /** Set ABSPATH for execution */ 11 11 define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' ); 12 12 define( 'WPINC', 'wp-includes' ); 13 13 14 14 require( ABSPATH . 'wp-admin/includes/noop.php' ); 15 15 require( ABSPATH . WPINC . '/script-loader.php' ); 16 16 require( ABSPATH . WPINC . '/version.php' ); 17 17 18 $load = preg_replace( '/[^a-z0-9,_-]+/i', '', $_GET['load'] ); 18 $load = $_GET['load']; 19 if ( is_array( $load ) ) 20 $load = implode( '', $load ); 21 22 $load = preg_replace( '/[^a-z0-9,_-]+/i', '', $load ); 19 23 $load = array_unique( explode( ',', $load ) ); 20 24 21 25 if ( empty($load) ) 22 26 exit; 23 27 24 28 $compress = ( isset($_GET['c']) && $_GET['c'] ); 25 29 $force_gzip = ( $compress && 'gzip' == $_GET['c'] ); 26 30 $rtl = ( isset($_GET['dir']) && 'rtl' == $_GET['dir'] ); 27 31 $expires_offset = 31536000; // 1 year 28 32 $out = ''; 29 33 30 34 $wp_styles = new WP_Styles(); 31 35 wp_default_styles($wp_styles); 32 36 33 37 foreach ( $load as $handle ) { 34 38 if ( !array_key_exists($handle, $wp_styles->registered) ) 35 39 continue; 36 40 37 41 $style = $wp_styles->registered[$handle]; 42 43 if ( ! $style->src ) { 44 continue; 45 } 46 38 47 $path = ABSPATH . $style->src; 39 48 40 49 if ( $rtl && ! empty( $style->extra['rtl'] ) ) { 41 50 // All default styles have fully independent RTL files. 42 51 $path = str_replace( '.min.css', '-rtl.min.css', $path ); 43 52 } 44 53 45 54 $content = get_file( $path ) . "\n"; 46 55 47 56 if ( strpos( $style->src, '/' . WPINC . '/css/' ) === 0 ) { 48 57 $content = str_replace( '../images/', '../' . WPINC . '/images/', $content ); 49 58 $content = str_replace( '../js/tinymce/', '../' . WPINC . '/js/tinymce/', $content ); 50 59 $content = str_replace( '../fonts/', '../' . WPINC . '/fonts/', $content ); 51 60 $out .= $content; 52 61 } else { -
src/wp-includes/script-loader.php
function wp_default_styles( &$styles ) { 702 702 $subsets .= ',greek,greek-ext'; 703 703 } elseif ( 'vietnamese' == $subset ) { 704 704 $subsets .= ',vietnamese'; 705 705 } 706 706 707 707 // Hotlink Open Sans, for now 708 708 $open_sans_font_url = "https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets"; 709 709 } 710 710 711 711 // Register a stylesheet for the selected admin color scheme. 712 712 $styles->add( 'colors', true, array( 'wp-admin', 'buttons', 'open-sans', 'dashicons' ) ); 713 713 714 714 $suffix = SCRIPT_DEBUG ? '' : '.min'; 715 715 716 716 // Admin CSS 717 $styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css", array( 'open-sans', 'dashicons' ) ); 717 $styles->add( 'common', "/wp-admin/css/common$suffix.css" ); 718 $styles->add( 'forms', "/wp-admin/css/forms$suffix.css" ); 719 $styles->add( 'admin-menu', "/wp-admin/css/admin-menu$suffix.css" ); 720 $styles->add( 'dashboard', "/wp-admin/css/dashboard$suffix.css" ); 721 $styles->add( 'list-tables', "/wp-admin/css/list-tables$suffix.css" ); 722 $styles->add( 'edit', "/wp-admin/css/edit$suffix.css" ); 723 $styles->add( 'revisions', "/wp-admin/css/revisions$suffix.css" ); 724 $styles->add( 'media', "/wp-admin/css/media$suffix.css" ); 725 $styles->add( 'themes', "/wp-admin/css/themes$suffix.css" ); 726 $styles->add( 'about', "/wp-admin/css/about$suffix.css" ); 727 $styles->add( 'nav-menus', "/wp-admin/css/nav-menus$suffix.css" ); 728 $styles->add( 'widgets', "/wp-admin/css/widgets$suffix.css" ); 729 $styles->add( 'site-icon', "/wp-admin/css/site-icon$suffix.css" ); 730 $styles->add( 'l10n', "/wp-admin/css/l10n$suffix.css" ); 731 732 $styles->add( 'wp-admin', false, array( 'common', 'forms', 'admin-menu', 'dashboard', 'list-tables', 'edit', 'revisions', 'media', 'themes', 'about', 'nav-menus', 'widgets', 'site-icon', 'l10n', 'open-sans', 'dashicons' ) ); 733 718 734 $styles->add( 'login', "/wp-admin/css/login$suffix.css", array( 'buttons', 'open-sans', 'dashicons' ) ); 719 735 $styles->add( 'install', "/wp-admin/css/install$suffix.css", array( 'buttons', 'open-sans' ) ); 720 736 $styles->add( 'wp-color-picker', "/wp-admin/css/color-picker$suffix.css" ); 721 737 $styles->add( 'customize-controls', "/wp-admin/css/customize-controls$suffix.css", array( 'wp-admin', 'colors', 'ie', 'imgareaselect' ) ); 722 738 $styles->add( 'customize-widgets', "/wp-admin/css/customize-widgets$suffix.css", array( 'wp-admin', 'colors' ) ); 723 739 $styles->add( 'customize-nav-menus', "/wp-admin/css/customize-nav-menus$suffix.css", array( 'wp-admin', 'colors' ) ); 724 740 $styles->add( 'press-this', "/wp-admin/css/press-this$suffix.css", array( 'open-sans', 'buttons' ) ); 725 741 726 742 $styles->add( 'ie', "/wp-admin/css/ie$suffix.css" ); 727 743 $styles->add_data( 'ie', 'conditional', 'lte IE 7' ); 728 744 729 745 // Common dependencies 730 746 $styles->add( 'buttons', "/wp-includes/css/buttons$suffix.css" ); 731 747 $styles->add( 'dashicons', "/wp-includes/css/dashicons$suffix.css" ); 732 748 $styles->add( 'open-sans', $open_sans_font_url ); … … function print_late_styles() { 1118 1134 * Print styles (internal use only) 1119 1135 * 1120 1136 * @ignore 1121 1137 * 1122 1138 * @global bool $compress_css 1123 1139 */ 1124 1140 function _print_styles() { 1125 1141 global $compress_css; 1126 1142 1127 1143 $wp_styles = wp_styles(); 1128 1144 1129 1145 $zip = $compress_css ? 1 : 0; 1130 1146 if ( $zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP ) 1131 1147 $zip = 'gzip'; 1132 1148 1133 if ( !empty($wp_styles->concat) ) {1149 if ( $concat = trim( $wp_styles->concat, ', ' ) ) { 1134 1150 $dir = $wp_styles->text_direction; 1135 1151 $ver = $wp_styles->default_version; 1136 $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&load=" . trim($wp_styles->concat, ', ') . '&ver=' . $ver; 1152 1153 $concat = str_split( $concat, 128 ); 1154 $concat = 'load%5B%5D=' . implode( '&load%5B%5D=', $concat ); 1155 1156 $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&" . $concat . '&ver=' . $ver; 1137 1157 echo "<link rel='stylesheet' href='" . esc_attr($href) . "' type='text/css' media='all' />\n"; 1138 1158 1139 1159 if ( !empty($wp_styles->print_code) ) { 1140 1160 echo "<style type='text/css'>\n"; 1141 1161 echo $wp_styles->print_code; 1142 1162 echo "\n</style>\n"; 1143 1163 } 1144 1164 } 1145 1165 1146 1166 if ( !empty($wp_styles->print_html) ) 1147 1167 echo $wp_styles->print_html; 1148 1168 } 1149 1169 1150 1170 /** 1151 1171 * Determine the concatenation and compression settings for scripts and styles. -
Gruntfile.js
module.exports = function(grunt) { 81 81 '!wp-includes/js/backbone.js', 82 82 '!wp-includes/js/underscore.js', 83 83 '!wp-includes/js/jquery/jquery.masonry.js', 84 84 '!wp-includes/js/jquery/ui/*.js', 85 85 '!wp-includes/js/tinymce/tinymce.js', 86 86 '!wp-includes/version.php' // Exclude version.php 87 87 ], 88 88 dest: BUILD_DIR 89 89 }, 90 90 { 91 91 src: 'wp-config-sample.php', 92 92 dest: BUILD_DIR 93 93 } 94 94 ] 95 95 }, 96 'wp-admin- rtl': {96 'wp-admin-css-compat-rtl': { 97 97 options: { 98 98 processContent: function( src ) { 99 99 return src.replace( /\.css/g, '-rtl.css' ); 100 100 } 101 101 }, 102 102 src: SOURCE_DIR + 'wp-admin/css/wp-admin.css', 103 103 dest: BUILD_DIR + 'wp-admin/css/wp-admin-rtl.css' 104 104 }, 105 'wp-admin-css-compat-min': { 106 options: { 107 processContent: function( src ) { 108 return src.replace( /\.css/g, '.min.css' ); 109 } 110 }, 111 files: [ 112 { 113 src: SOURCE_DIR + 'wp-admin/css/wp-admin.css', 114 dest: BUILD_DIR + 'wp-admin/css/wp-admin.min.css' 115 }, 116 { 117 src: BUILD_DIR + 'wp-admin/css/wp-admin-rtl.css', 118 dest: BUILD_DIR + 'wp-admin/css/wp-admin-rtl.min.css' 119 } 120 ] 121 }, 105 122 version: { 106 123 options: { 107 124 processContent: function( src ) { 108 125 return src.replace( /^\$wp_version = '(.+?)';/m, function( str, version ) { 109 126 version = version.replace( /-src$/, '' ); 110 127 111 128 // If the version includes an SVN commit (-12345), it's not a released alpha/beta. Append a date. 112 129 version = version.replace( /-[\d]{5}$/, '-' + grunt.template.today( 'yyyymmdd' ) ); 113 130 114 131 /* jshint quotmark: true */ 115 132 return "$wp_version = '" + version + "';"; 116 133 }); 117 134 } 118 135 }, 119 136 src: SOURCE_DIR + 'wp-includes/version.php', … … module.exports = function(grunt) { 142 159 browserify: mediaConfig, 143 160 sass: { 144 161 colors: { 145 162 expand: true, 146 163 cwd: SOURCE_DIR, 147 164 dest: BUILD_DIR, 148 165 ext: '.css', 149 166 src: ['wp-admin/css/colors/*/colors.scss'], 150 167 options: { 151 168 outputStyle: 'expanded' 152 169 } 153 170 } 154 171 }, 155 172 cssmin: { 156 173 options: { 157 'wp-admin': ['wp-admin', 'color-picker', 'customize-controls', 'customize-widgets', 'customize-nav-menus', 'ie', 'install', 'login', 'press-this', 'deprecated-*'],158 174 compatibility: 'ie7' 159 175 }, 160 176 core: { 161 177 expand: true, 162 178 cwd: SOURCE_DIR, 163 179 dest: BUILD_DIR, 164 180 ext: '.min.css', 165 181 src: [ 166 'wp-admin/css/{<%= cssmin.options["wp-admin"] %>}.css', 182 'wp-admin/css/*.css', 183 '!wp-admin/css/wp-admin*.css', 167 184 'wp-includes/css/*.css' 168 185 ] 169 186 }, 170 187 rtl: { 171 188 expand: true, 172 189 cwd: BUILD_DIR, 173 190 dest: BUILD_DIR, 174 191 ext: '.min.css', 175 192 src: [ 176 'wp-admin/css/{<%= cssmin.options["wp-admin"] %>}-rtl.css', 193 'wp-admin/css/*-rtl.css', 194 '!wp-admin/css/wp-admin*.css', 177 195 'wp-includes/css/*-rtl.css' 178 196 ] 179 197 }, 180 198 colors: { 181 199 expand: true, 182 200 cwd: BUILD_DIR, 183 201 dest: BUILD_DIR, 184 202 ext: '.min.css', 185 203 src: [ 186 204 'wp-admin/css/colors/*/*.css' 187 205 ] 188 206 } 189 207 }, 190 208 rtlcss: { 191 209 options: { … … module.exports = function(grunt) { 635 653 636 654 grunt.task.run( '_' + this.nameArgs ); 637 655 } ); 638 656 639 657 grunt.registerTask( 'precommit', 'Runs front-end dev/test tasks in preparation for a commit.', [ 640 658 'postcss:core', 641 659 'imagemin:core', 642 660 'browserify', 643 661 'jshint:corejs', 644 662 'uglify:bookmarklet', 645 663 'qunit:compiled' 646 664 ] ); 647 665 648 666 grunt.registerTask( 'copy:all', [ 649 667 'copy:files', 650 'copy:wp-admin-rtl', 668 'copy:wp-admin-css-compat-rtl', 669 'copy:wp-admin-css-compat-min', 651 670 'copy:version' 652 671 ] ); 653 672 654 673 grunt.registerTask( 'build', [ 655 674 'clean:all', 656 675 'copy:all', 657 676 'cssmin:core', 658 677 'colors', 659 678 'rtl', 660 679 'cssmin:rtl', 661 680 'cssmin:colors', 662 681 'uglify:core', 663 682 'uglify:embed', 664 683 'uglify:jqueryui', 665 684 'concat:tinymce',