Ticket #35229: 35229.2.diff
File 35229.2.diff, 16.4 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' ) ); 718 $styles->add( 'login', "/wp-admin/css/login$suffix.css", array( 'buttons', '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 734 $styles->add( 'login', "/wp-admin/css/login$suffix.css", array( 'buttons', 'forms', 'l10n', '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 ); 733 749 … … function wp_default_styles( &$styles ) { 745 761 $styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' ); 746 762 $styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array( 'dashicons' ) ); 747 763 $styles->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.18.1' ); 748 764 $styles->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement.css", array( 'mediaelement' ) ); 749 765 $styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ) ); 750 766 751 767 // Deprecated CSS 752 768 $styles->add( 'media', "/wp-admin/css/deprecated-media$suffix.css" ); 753 769 $styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u1' ); 754 770 $styles->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop.min.css", array(), '0.9.12' ); 755 771 $styles->add( 'colors-fresh', false, array( 'wp-admin', 'buttons' ) ); // Old handle. 756 772 757 773 // RTL CSS 758 774 $rtl_styles = array( 759 775 // wp-admin 760 'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'customize-nav-menus', 'ie', 'login', 'press-this', 776 'common', 'forms', 'admin-menu', 'dashboard', 'list-tables', 'edit', 'revisions', 'media', 'themes', 'about', 'nav-menus', 777 'widgets', 'site-icon', 'l10n', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'customize-nav-menus', 778 'ie', 'login', 'press-this', 761 779 // wp-includes 762 780 'buttons', 'admin-bar', 'wp-auth-check', 'editor-buttons', 'media-views', 'wp-pointer', 763 781 'wp-jquery-ui-dialog', 764 782 // deprecated 765 783 'media', 'farbtastic', 766 784 ); 767 785 768 786 foreach ( $rtl_styles as $rtl_style ) { 769 787 $styles->add_data( $rtl_style, 'rtl', 'replace' ); 770 788 if ( $suffix ) { 771 789 $styles->add_data( $rtl_style, 'suffix', $suffix ); 772 790 } 773 791 } 774 792 } 775 793 … … function print_admin_styles() { 1084 1102 * 1085 1103 * @since 3.3.0 1086 1104 * 1087 1105 * @global WP_Styles $wp_styles 1088 1106 * @global bool $concatenate_scripts 1089 1107 * 1090 1108 * @return array|void 1091 1109 */ 1092 1110 function print_late_styles() { 1093 1111 global $wp_styles, $concatenate_scripts; 1094 1112 1095 1113 if ( ! ( $wp_styles instanceof WP_Styles ) ) { 1096 1114 return; 1097 1115 } 1098 1116 1117 script_concat_settings(); 1099 1118 $wp_styles->do_concat = $concatenate_scripts; 1100 1119 $wp_styles->do_footer_items(); 1101 1120 1102 1121 /** 1103 1122 * Filter whether to print the styles queued too late for the HTML head. 1104 1123 * 1105 1124 * @since 3.3.0 1106 1125 * 1107 1126 * @param bool $print Whether to print the 'late' styles. Default true. 1108 1127 */ 1109 1128 if ( apply_filters( 'print_late_styles', true ) ) { 1110 1129 _print_styles(); 1111 1130 } 1112 1131 1113 1132 $wp_styles->reset(); … … function print_late_styles() { 1118 1137 * Print styles (internal use only) 1119 1138 * 1120 1139 * @ignore 1121 1140 * 1122 1141 * @global bool $compress_css 1123 1142 */ 1124 1143 function _print_styles() { 1125 1144 global $compress_css; 1126 1145 1127 1146 $wp_styles = wp_styles(); 1128 1147 1129 1148 $zip = $compress_css ? 1 : 0; 1130 1149 if ( $zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP ) 1131 1150 $zip = 'gzip'; 1132 1151 1133 if ( !empty($wp_styles->concat) ) {1152 if ( $concat = trim( $wp_styles->concat, ', ' ) ) { 1134 1153 $dir = $wp_styles->text_direction; 1135 1154 $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; 1155 1156 $concat = str_split( $concat, 128 ); 1157 $concat = 'load%5B%5D=' . implode( '&load%5B%5D=', $concat ); 1158 1159 $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&dir={$dir}&" . $concat . '&ver=' . $ver; 1137 1160 echo "<link rel='stylesheet' href='" . esc_attr($href) . "' type='text/css' media='all' />\n"; 1138 1161 1139 1162 if ( !empty($wp_styles->print_code) ) { 1140 1163 echo "<style type='text/css'>\n"; 1141 1164 echo $wp_styles->print_code; 1142 1165 echo "\n</style>\n"; 1143 1166 } 1144 1167 } 1145 1168 1146 1169 if ( !empty($wp_styles->print_html) ) 1147 1170 echo $wp_styles->print_html; 1148 1171 } 1149 1172 1150 1173 /** 1151 1174 * Determine the concatenation and compression settings for scripts and styles. 1152 1175 * 1153 1176 * @since 2.8.0 1154 1177 * 1155 1178 * @global bool $concatenate_scripts 1156 1179 * @global bool $compress_scripts 1157 1180 * @global bool $compress_css 1158 1181 */ 1159 1182 function script_concat_settings() { 1160 1183 global $concatenate_scripts, $compress_scripts, $compress_css; 1161 1184 1162 1185 $compressed_output = ( ini_get('zlib.output_compression') || 'ob_gzhandler' == ini_get('output_handler') ); 1163 1186 1164 1187 if ( ! isset($concatenate_scripts) ) { 1165 1188 $concatenate_scripts = defined('CONCATENATE_SCRIPTS') ? CONCATENATE_SCRIPTS : true; 1166 if ( ! is_admin() || ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) )1189 if ( ( ! is_admin() && ! did_action( 'login_init' ) ) || ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ) 1167 1190 $concatenate_scripts = false; 1168 1191 } 1169 1192 1170 1193 if ( ! isset($compress_scripts) ) { 1171 1194 $compress_scripts = defined('COMPRESS_SCRIPTS') ? COMPRESS_SCRIPTS : true; 1172 1195 if ( $compress_scripts && ( ! get_site_option('can_compress_scripts') || $compressed_output ) ) 1173 1196 $compress_scripts = false; 1174 1197 } 1175 1198 1176 1199 if ( ! isset($compress_css) ) { 1177 1200 $compress_css = defined('COMPRESS_CSS') ? COMPRESS_CSS : true; 1178 1201 if ( $compress_css && ( ! get_site_option('can_compress_scripts') || $compressed_output ) ) 1179 1202 $compress_css = false; 1180 1203 } 1181 1204 } -
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', -
src/wp-admin/css/login.css
1 @import url(forms.css);2 @import url(l10n.css);3 4 1 html, 5 2 body { 6 3 height: 100%; 7 4 margin: 0; 8 5 padding: 0; 9 6 } 10 7 11 8 html { 12 9 background: #f1f1f1; 13 10 } 14 11 15 12 body { 16 13 background: #f1f1f1; 17 14 min-width: 0; 18 15 color: #444; -
src/wp-login.php
function login_header( $title = 'Log In' 56 56 if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) ) 57 57 add_action( 'login_head', 'wp_shake_js', 12 ); 58 58 59 59 ?><!DOCTYPE html> 60 60 <!--[if IE 8]> 61 61 <html xmlns="http://www.w3.org/1999/xhtml" class="ie8" <?php language_attributes(); ?>> 62 62 <![endif]--> 63 63 <!--[if !(IE 8) ]><!--> 64 64 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> 65 65 <!--<![endif]--> 66 66 <head> 67 67 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> 68 68 <title><?php bloginfo('name'); ?> › <?php echo $title; ?></title> 69 69 <?php 70 70 71 wp_ admin_css( 'login', true);71 wp_enqueue_style( 'login' ); 72 72 73 73 /* 74 74 * Remove all stored post data on logging out. 75 75 * This could be added by add_action('login_head'...) like wp_shake_js(), 76 76 * but maybe better if it's not removable by plugins 77 77 */ 78 78 if ( 'loggedout' == $wp_error->get_error_code() ) { 79 79 ?> 80 80 <script>if("sessionStorage" in window){try{for(var key in sessionStorage){if(key.indexOf("wp-autosave-")!=-1){sessionStorage.removeItem(key)}}}catch(e){}};</script> 81 81 <?php 82 82 } 83 83 84 84 /** 85 85 * Enqueue scripts and styles for the login page. 86 86 * 87 87 * @since 3.1.0 88 88 */ 89 89 do_action( 'login_enqueue_scripts' ); 90 90 91 /** 91 92 * Fires in the login page header after scripts are enqueued. 92 93 * 93 94 * @since 2.1.0 94 95 */ 95 96 do_action( 'login_head' ); 96 97 97 98 if ( is_multisite() ) { 98 99 $login_header_url = network_home_url(); 99 100 $login_header_title = get_current_site()->site_name; 100 101 } else { 101 102 $login_header_url = __( 'https://wordpress.org/' ); 102 103 $login_header_title = __( 'Powered by WordPress' ); 103 104 } 104 105