Changeset 10357
- Timestamp:
- 01/14/2009 02:18:51 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/admin-ajax.php
r10349 r10357 63 63 echo join( $results, "\n" ); 64 64 die; 65 break; 66 case 'wp-compression-test' : 67 if ( !current_user_can( 'manage_options' ) ) 68 die('-1'); 69 70 if ( isset($_GET['tested']) ) { 71 if ( 1 == $_GET['tested'] ) 72 update_option('can_compress_scripts', 1); 73 elseif ( 0 == $_GET['tested'] ) 74 update_option('can_compress_scripts', 0); 75 } 76 die('0'); 65 77 break; 66 78 default : -
trunk/wp-admin/admin-footer.php
r9964 r10357 23 23 <div class="clear"></div> 24 24 </div> 25 <?php do_action('admin_footer', ''); ?> 25 <?php 26 do_action('admin_footer', ''); 27 do_action('admin_print_footer_scripts'); 28 29 if ( false === get_option('can_compress_scripts') ) 30 compression_test(); 31 ?> 26 32 <script type="text/javascript">if(typeof wpOnload=='function')wpOnload();</script> 27 33 </body> 28 34 </html> 35 -
trunk/wp-admin/includes/template.php
r10348 r10357 3388 3388 } 3389 3389 3390 /** 3391 * Test support for compressed JavaScript and CSS 3392 * 3393 * Outputs JavaScript that tests if compression from PHP works as expected 3394 * and sets an option with the result. Has no effect when the current user 3395 * is not an administrator. To run the test again the option 'can_compress_scripts' 3396 * has to be deleted. 3397 * 3398 * @since 2.8.0 3399 */ 3400 function compression_test() { 3390 3401 ?> 3402 <script type="text/javascript" src="load-scripts.php?test=1"></script> 3403 <script type="text/javascript"> 3404 /* <![CDATA[ */ 3405 (function() { 3406 var x, test = typeof wpCompressionTest == 'undefined' ? 0 : 1; 3407 if ( window.XMLHttpRequest ) { 3408 x = new XMLHttpRequest(); 3409 } else { 3410 try{x=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{x=new ActiveXObject('Microsoft.XMLHTTP');}catch(e){};} 3411 } 3412 3413 if (x) { 3414 x.open('GET', 'admin-ajax.php?action=wp-compression-test&tested='+test+'&'+(new Date()).getTime(), true); 3415 x.send(''); 3416 } 3417 })(); 3418 /* ]]> */ 3419 </script> 3420 <?php 3421 } 3422 3423 ?> -
trunk/wp-includes/class.wp-dependencies.php
r9002 r10357 23 23 var $done = array(); 24 24 var $args = array(); 25 var $groups = array(); 26 var $group = 0; 25 27 26 28 function WP_Dependencies() { … … 39 41 * @return array Items that have been processed 40 42 */ 41 function do_items( $handles = false ) {43 function do_items( $handles = false, $group = false ) { 42 44 // Print the queue if nothing is passed. If a string is passed, print that script. If an array is passed, print those scripts. 43 45 $handles = false === $handles ? $this->queue : (array) $handles; 44 46 $this->all_deps( $handles ); 45 47 46 foreach( $this->to_do as $ handle ) {48 foreach( $this->to_do as $key => $handle ) { 47 49 if ( !in_array($handle, $this->done) && isset($this->registered[$handle]) ) { 48 if ( $this->registered[$handle]->src ) { // Else it defines a group. 49 $this->do_item( $handle ); 50 51 if ( ! $this->registered[$handle]->src ) { // Defines a group. 52 $this->done[] = $handle; 53 continue; 50 54 } 51 $this->done[] = $handle; 55 56 if ( $this->do_item( $handle, $group ) ) 57 $this->done[] = $handle; 58 59 unset( $this->to_do[$key] ); 52 60 } 53 61 } 54 62 55 $this->to_do = array();56 63 return $this->done; 57 64 } … … 70 77 * @param bool recursion Used internally when function calls itself 71 78 */ 72 function all_deps( $handles, $recursion = false ) {79 function all_deps( $handles, $recursion = false, $group = false ) { 73 80 if ( !$handles = (array) $handles ) 74 81 return false; 75 82 76 83 foreach ( $handles as $handle ) { 77 $handle = explode('?', $handle); 78 if ( isset($handle[1]) ) 79 $this->args[$handle[0]] = $handle[1]; 80 $handle = $handle[0]; 81 82 if ( isset($this->to_do[$handle]) ) // Already grobbed it and its deps 84 $handle_parts = explode('?', $handle); 85 $handle = $handle_parts[0]; 86 87 if ( in_array($handle, $this->done, true) ) // Already done 83 88 continue; 89 90 $this->set_group( $handle, $recursion, $group ); 91 92 if ( in_array($handle, $this->to_do, true) ) // Already grobbed it and its deps 93 continue; 94 95 if ( isset($handle_parts[1]) ) 96 $this->args[$handle] = $handle_parts[1]; 84 97 85 98 $keep_going = true; … … 88 101 elseif ( $this->registered[$handle]->deps && array_diff($this->registered[$handle]->deps, array_keys($this->registered)) ) 89 102 $keep_going = false; // Script requires deps which don't exist (not a necessary check. efficiency?) 90 elseif ( $this->registered[$handle]->deps && !$this->all_deps( $this->registered[$handle]->deps, true ) )103 elseif ( $this->registered[$handle]->deps && !$this->all_deps( $this->registered[$handle]->deps, true, $group ) ) 91 104 $keep_going = false; // Script requires deps which don't exist 92 105 … … 98 111 } 99 112 100 $this->to_do[ $handle] = true;113 $this->to_do[] = $handle; 101 114 } 102 115 103 if ( !$recursion ) // at the end104 $this->to_do = array_keys( $this->to_do );105 116 return true; 106 117 } … … 182 193 } 183 194 195 function set_group( $handle, $recursion, $group ) { 196 $group = (int) $group; 197 198 if ( $recursion ) 199 $group = min($this->group, $group); 200 else 201 $this->group = $group; 202 203 if ( isset($this->groups[$handle]) && $this->groups[$handle] <= $group ) 204 return false; 205 206 $this->groups[$handle] = $group; 207 return true; 208 } 209 184 210 } 185 211 -
trunk/wp-includes/class.wp-scripts.php
r10135 r10357 19 19 class WP_Scripts extends WP_Dependencies { 20 20 var $base_url; // Full URL with trailing slash 21 var $content_url; 21 22 var $default_version; 23 var $in_footer = array(); 24 var $concat = ''; 25 var $concat_version = ''; 26 var $do_concat = false; 27 var $print_html = ''; 28 var $print_code = ''; 29 var $default_dirs; 22 30 23 31 function __construct() { … … 31 39 * 32 40 * @param mixed handles (optional) Scripts to be printed. (void) prints queue, (string) prints that script, (array of strings) prints those scripts. 41 * @param int group (optional) If scripts were queued in groups prints this group number. 33 42 * @return array Scripts that have been printed 34 43 */ 35 function print_scripts( $handles = false ) {36 return $this->do_items( $handles );44 function print_scripts( $handles = false, $group = false ) { 45 return $this->do_items( $handles, $group ); 37 46 } 38 47 39 function print_scripts_l10n( $handle ) {48 function print_scripts_l10n( $handle, $echo = true ) { 40 49 if ( empty($this->registered[$handle]->extra['l10n']) || empty($this->registered[$handle]->extra['l10n'][0]) || !is_array($this->registered[$handle]->extra['l10n'][1]) ) 41 50 return false; … … 43 52 $object_name = $this->registered[$handle]->extra['l10n'][0]; 44 53 45 echo "<script type='text/javascript'>\n"; 46 echo "/* <![CDATA[ */\n"; 47 echo "\t$object_name = {\n"; 54 $data = "var $object_name = {\n"; 48 55 $eol = ''; 49 56 foreach ( $this->registered[$handle]->extra['l10n'][1] as $var => $val ) { … … 52 59 continue; 53 60 } 54 echo "$eol\t\t$var: \"" . js_escape( $val ) . '"';61 $data .= "$eol\t$var: \"" . js_escape( $val ) . '"'; 55 62 $eol = ",\n"; 56 63 } 57 echo "\n\t}\n"; 58 echo isset($after) ? "\t$after\n" : ''; 59 echo "/* ]]> */\n"; 60 echo "</script>\n"; 64 $data .= "\n};\n"; 65 $data .= isset($after) ? "$after\n" : ''; 61 66 62 return true; 67 if ( $echo ) { 68 echo "<script type='text/javascript'>\n"; 69 echo "/* <![CDATA[ */\n"; 70 echo $data; 71 echo "/* ]]> */\n"; 72 echo "</script>\n"; 73 return true; 74 } else { 75 return $data; 76 } 63 77 } 64 78 65 function do_item( $handle ) {79 function do_item( $handle, $group = false ) { 66 80 if ( !parent::do_item($handle) ) 67 81 return false; 82 83 if ( 0 === $group && $this->groups[$handle] > 0 ) { 84 $this->in_footer[] = $handle; 85 return false; 86 } 87 88 if ( false === $group && in_array($handle, $this->in_footer, true) ) 89 $this->in_footer = array_diff( $this->in_footer, (array) $handle ); 68 90 69 91 $ver = $this->registered[$handle]->ver ? $this->registered[$handle]->ver : $this->default_version; … … 72 94 73 95 $src = $this->registered[$handle]->src; 74 if ( !preg_match('|^https?://|', $src) && !preg_match('|^' . preg_quote(WP_CONTENT_URL) . '|', $src) ) { 96 97 if ( $this->do_concat ) { 98 $srce = apply_filters( 'script_loader_src', $src, $handle, $echo ); 99 if ( $this->in_default_dir($srce) ) { 100 $this->print_code .= $this->print_scripts_l10n( $handle, false ); 101 $this->concat .= $handle . ','; 102 $this->concat_version .= $ver; 103 return true; 104 } 105 } 106 107 $this->print_scripts_l10n( $handle ); 108 if ( !preg_match('|^https?://|', $src) && ! ( $this->content_url && 0 === strpos($src, $this->content_url) ) ) { 75 109 $src = $this->base_url . $src; 76 110 } 77 111 78 112 $src = add_query_arg('ver', $ver, $src); 79 $src = clean_url(apply_filters( 'script_loader_src', $src, $handle ));113 $src = clean_url(apply_filters( 'script_loader_src', $src, $handle, $echo )); 80 114 81 $this->print_scripts_l10n( $handle ); 82 83 echo "<script type='text/javascript' src='$src'></script>\n"; 115 if ( $this->do_concat ) 116 $this->print_html .= "<script type='text/javascript' src='$src'></script>\n"; 117 else 118 echo "<script type='text/javascript' src='$src'></script>\n"; 84 119 85 120 return true; … … 102 137 } 103 138 139 function set_group( $handle, $recursion, $group = false ) { 140 $grp = isset($this->registered[$handle]->extra['group']) ? (int) $this->registered[$handle]->extra['group'] : 0; 141 if ( false !== $group && $grp > $group ) 142 $grp = $group; 143 144 parent::set_group( $handle, $recursion, $grp ); 145 } 146 104 147 function all_deps( $handles, $recursion = false ) { 105 148 $r = parent::all_deps( $handles, $recursion ); … … 108 151 return $r; 109 152 } 153 154 function do_head_items() { 155 $this->do_items(false, 0); 156 return $this->done; 157 } 158 159 function do_footer_items() { 160 if ( !empty($this->in_footer) ) { 161 foreach( $this->in_footer as $key => $handle ) { 162 if ( !in_array($handle, $this->done, true) && isset($this->registered[$handle]) ) { 163 $this->do_item($handle, false, $this->doecho); 164 $this->done[] = $handle; 165 unset( $this->in_footer[$key] ); 166 } 167 } 168 } 169 return $this->done; 170 } 171 172 function in_default_dir($src) { 173 if ( ! $this->default_dirs ) 174 return true; 175 176 foreach ( (array) $this->default_dirs as $test ) { 177 if ( 0 === strpos($src, $test) ) 178 return true; 179 } 180 return false; 181 } 110 182 } -
trunk/wp-includes/class.wp-styles.php
r10258 r10357 19 19 class WP_Styles extends WP_Dependencies { 20 20 var $base_url; 21 var $content_url; 21 22 var $default_version; 22 23 var $text_direction = 'ltr'; 24 var $concat = ''; 25 var $concat_version = ''; 26 var $do_concat = false; 27 var $print_html = ''; 28 var $default_dirs; 23 29 24 30 function __construct() { … … 34 40 $ver .= '&' . $this->args[$handle]; 35 41 42 if ( $this->do_concat ) { 43 if ( $this->in_default_dir($this->registered[$handle]->src) && !isset($this->registered[$handle]->extra['conditional']) && !isset($this->registered[$handle]->extra['alt']) ) { 44 $this->concat .= $handle . ','; 45 $this->concat_version .= $ver; 46 return true; 47 } 48 } 49 36 50 if ( isset($this->registered[$handle]->args) ) 37 51 $media = attribute_escape( $this->registered[$handle]->args ); … … 43 57 $title = isset($this->registered[$handle]->extra['title']) ? "title='" . attribute_escape( $this->registered[$handle]->extra['title'] ) . "'" : ''; 44 58 45 $end_cond = '';59 $end_cond = $tag = ''; 46 60 if ( isset($this->registered[$handle]->extra['conditional']) && $this->registered[$handle]->extra['conditional'] ) { 47 echo"<!--[if {$this->registered[$handle]->extra['conditional']}]>\n";61 $tag .= "<!--[if {$this->registered[$handle]->extra['conditional']}]>\n"; 48 62 $end_cond = "<![endif]-->\n"; 49 63 } 50 64 51 echoapply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle' $title href='$href' type='text/css' media='$media' />\n", $handle );65 $tag .= apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle' $title href='$href' type='text/css' media='$media' />\n", $handle ); 52 66 if ( 'rtl' === $this->text_direction && isset($this->registered[$handle]->extra['rtl']) && $this->registered[$handle]->extra['rtl'] ) { 53 67 if ( is_bool( $this->registered[$handle]->extra['rtl'] ) ) … … 56 70 $rtl_href = $this->_css_href( $this->registered[$handle]->extra['rtl'], $ver, "$handle-rtl" ); 57 71 58 echoapply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle' $title href='$rtl_href' type='text/css' media='$media' />\n", $handle );72 $tag .= apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle' $title href='$rtl_href' type='text/css' media='$media' />\n", $handle ); 59 73 } 60 74 61 echo $end_cond; 75 $tag .= $end_cond; 76 77 if ( $this->do_concat ) 78 $this->print_html .= $tag; 79 else 80 echo $tag; 62 81 63 82 // Could do something with $this->registered[$handle]->extra here to print out extra CSS rules … … 78 97 79 98 function _css_href( $src, $ver, $handle ) { 80 if ( !preg_match('|^https?://|', $src) && ! preg_match('|^' . preg_quote(WP_CONTENT_URL) . '|', $src) ) {99 if ( !preg_match('|^https?://|', $src) && ! ( $this->content_url && 0 === strpos($src, $this->content_url) ) ) { 81 100 $src = $this->base_url . $src; 82 101 } … … 87 106 } 88 107 108 function in_default_dir($src) { 109 if ( ! $this->default_dirs ) 110 return true; 111 112 foreach ( (array) $this->default_dirs as $test ) { 113 if ( 0 === strpos($src, $test) ) 114 return true; 115 } 116 return false; 117 } 118 89 119 } -
trunk/wp-includes/default-filters.php
r10108 r10357 182 182 add_action('do_robots', 'do_robots'); 183 183 add_action('sanitize_comment_cookies', 'sanitize_comment_cookies'); 184 add_action('admin_print_scripts', 'wp_print_scripts', 20); 185 add_action('admin_print_styles', 'wp_print_styles', 20); 184 add_action('admin_print_scripts', 'wp_print_head_scripts', 20); 185 add_action('admin_print_footer_scripts', 'wp_print_footer_scripts', 20); 186 add_action('admin_print_styles', 'wp_print_admin_styles', 20); 186 187 add_action('init', 'smilies_init', 5); 187 188 add_action( 'plugins_loaded', 'wp_maybe_load_widgets', 0 ); -
trunk/wp-includes/script-loader.php
r10349 r10357 36 36 */ 37 37 function wp_default_scripts( &$scripts ) { 38 if (!$guessurl = site_url()) 38 39 if ( !$guessurl = site_url() ) 39 40 $guessurl = wp_guess_url(); 40 41 41 42 $scripts->base_url = $guessurl; 43 $scripts->content_url = WP_CONTENT_URL; 42 44 $scripts->default_version = get_bloginfo( 'version' ); 45 $scripts->default_dirs = array('/wp-admin/js/', '/wp-includes/js/'); 46 43 47 $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.dev' : ''; 44 48 49 45 50 $scripts->add( 'utils', "/wp-admin/js/utils$suffix.js", false, '20090102' ); 46 51 47 52 $scripts->add( 'common', "/wp-admin/js/common$suffix.js", array('jquery', 'hoverIntent', 'utils'), '20090106' ); 53 $scripts->add_data( 'common', 'group', 1 ); 48 54 $scripts->localize( 'common', 'commonL10n', array( 49 55 'warnDelete' => __("You are about to delete the selected items.\n 'Cancel' to stop, 'OK' to delete."), … … 52 58 53 59 $scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", false, '1.6.1' ); 60 $scripts->add_data( 'sack', 'group', 1 ); 54 61 55 62 $scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", false, '20090102' ); … … 80 87 81 88 $scripts->add( 'wp-ajax-response', "/wp-includes/js/wp-ajax-response$suffix.js", array('jquery'), '20090102' ); 89 $scripts->add_data( 'wp-ajax-response', 'group', 1 ); 82 90 $scripts->localize( 'wp-ajax-response', 'wpAjax', array( 83 91 'noPerm' => __('You do not have permission to do that.'), … … 87 95 88 96 $scripts->add( 'autosave', "/wp-includes/js/autosave$suffix.js", array('schedule', 'wp-ajax-response'), '20090106' ); 97 $scripts->add_data( 'autosave', 'group', 1 ); 89 98 90 99 $scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array('wp-ajax-response'), '20090102' ); 100 $scripts->add_data( 'wp-lists', 'group', 1 ); 91 101 $scripts->localize( 'wp-lists', 'wpListL10n', array( 92 102 'url' => admin_url('admin-ajax.php') … … 105 115 106 116 $scripts->add( 'jquery', '/wp-includes/js/jquery/jquery.js', false, '1.3b2'); 117 118 $scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.5.2' ); 119 $scripts->add_data( 'jquery-ui-core', 'group', 1 ); 120 121 $scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui.tabs.js', array('jquery-ui-core'), '1.5.2' ); 122 $scripts->add_data( 'jquery-ui-tabs', 'group', 1 ); 123 124 $scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui.sortable.js', array('jquery-ui-core'), '1.5.2c' ); 125 $scripts->add_data( 'jquery-ui-sortable', 'group', 1 ); 126 127 $scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui.draggable.js', array('jquery-ui-core'), '1.5.2' ); 128 $scripts->add_data( 'jquery-ui-draggable', 'group', 1 ); 129 130 $scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui.resizable.js', array('jquery-ui-core'), '1.5.2' ); 131 $scripts->add_data( 'jquery-ui-resizable', 'group', 1 ); 132 133 $scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui.dialog.js', array('jquery-ui-resizable', 'jquery-ui-draggable'), '1.5.2' ); 134 $scripts->add_data( 'jquery-ui-dialog', 'group', 1 ); 135 107 136 $scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '2.02m'); 137 $scripts->add_data( 'jquery-form', 'group', 1 ); 138 108 139 $scripts->add( 'jquery-color', "/wp-includes/js/jquery/jquery.color$suffix.js", array('jquery'), '2.0-4561m'); 140 $scripts->add_data( 'jquery-color', 'group', 1 ); 141 109 142 $scripts->add( 'interface', '/wp-includes/js/jquery/interface.js', array('jquery'), '1.2' ); 143 110 144 $scripts->add( 'suggest', "/wp-includes/js/jquery/suggest$suffix.js", array('jquery'), '1.1bm'); 145 $scripts->add_data( 'suggest', 'group', 1 ); 146 111 147 $scripts->add( 'schedule', '/wp-includes/js/jquery/jquery.schedule.js', array('jquery'), '20m'); 148 $scripts->add_data( 'schedule', 'group', 1 ); 149 112 150 $scripts->add( 'jquery-hotkeys', "/wp-includes/js/jquery/jquery.hotkeys$suffix.js", array('jquery'), '0.0.2m' ); 151 $scripts->add_data( 'jquery-hotkeys', 'group', 1 ); 152 113 153 $scripts->add( 'jquery-table-hotkeys', "/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js", array('jquery', 'jquery-hotkeys'), '20090102' ); 154 $scripts->add_data( 'jquery-table-hotkeys', 'group', 1 ); 155 114 156 $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20080430m'); 157 $scripts->add_data( 'thickbox', 'group', 1 ); 158 115 159 116 160 if ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) { … … 145 189 'l10n_print_after' => 'try{convertEntities(swfuploadL10n);}catch(e){};' 146 190 ) ); 147 191 148 192 $scripts->add( 'swfupload-degrade', '/wp-includes/js/swfupload/plugins/swfupload.graceful_degradation.js', array('swfupload'), '2.2.0-20081031'); 149 193 $scripts->localize( 'swfupload-degrade', 'uploadDegradeOptions', array( … … 151 195 ) ); 152 196 153 $scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.5.2' );154 $scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui.tabs.js', array('jquery-ui-core'), '1.5.2' );155 $scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui.sortable.js', array('jquery-ui-core'), '1.5.2c' );156 $scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui.draggable.js', array('jquery-ui-core'), '1.5.2' );157 $scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui.resizable.js', array('jquery-ui-core'), '1.5.2' );158 $scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui.dialog.js', array('jquery-ui-resizable', 'jquery-ui-draggable'), '1.5.2' );159 160 197 $scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js", false, '20090102'); 161 198 162 199 if ( is_admin() ) { 163 200 $scripts->add( 'ajaxcat', "/wp-admin/js/cat$suffix.js", array( 'wp-lists' ), '20090102' ); 201 $scripts->add_data( 'ajaxcat', 'group', 1 ); 164 202 $scripts->localize( 'ajaxcat', 'catL10n', array( 165 203 'add' => attribute_escape(__('Add')), … … 169 207 170 208 $scripts->add( 'admin-categories', "/wp-admin/js/categories$suffix.js", array('wp-lists'), '20090102' ); 209 $scripts->add_data( 'admin-categories', 'group', 1 ); 171 210 172 211 $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('wp-lists'), '20090102' ); 212 $scripts->add_data( 'admin-tags', 'group', 1 ); 173 213 174 214 $scripts->add( 'admin-custom-fields', "/wp-admin/js/custom-fields$suffix.js", array('wp-lists'), '20090106' ); 215 $scripts->add_data( 'admin-custom-fields', 'group', 1 ); 175 216 176 217 $scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array('jquery'), '20090102' ); 218 $scripts->add_data( 'password-strength-meter', 'group', 1 ); 177 219 $scripts->localize( 'password-strength-meter', 'pwsL10n', array( 178 220 'empty' => __('Strength indicator'), … … 185 227 186 228 $scripts->add( 'admin-comments', "/wp-admin/js/edit-comments$suffix.js", array('wp-lists', 'jquery-ui-resizable', 'quicktags'), '20090112' ); 229 $scripts->add_data( 'admin-comments', 'group', 1 ); 187 230 $scripts->localize( 'admin-comments', 'adminCommentsL10n', array( 188 231 'hotkeys_highlight_first' => isset($_GET['hotkeys_highlight_first']), … … 193 236 194 237 $scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), '20090102' ); 238 $scripts->add_data( 'postbox', 'group', 1 ); 195 239 $scripts->localize( 'postbox', 'postboxL10n', array( 196 240 'requestFile' => admin_url('admin-ajax.php') … … 198 242 199 243 $scripts->add( 'slug', "/wp-admin/js/slug$suffix.js", array('jquery'), '20090102' ); 244 $scripts->add_data( 'slug', 'group', 1 ); 200 245 $scripts->localize( 'slug', 'slugL10n', array( 201 246 'requestFile' => admin_url('admin-ajax.php'), … … 206 251 207 252 $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20090102' ); 253 $scripts->add_data( 'post', 'group', 1 ); 208 254 $scripts->localize( 'post', 'postL10n', array( 209 255 'tagsUsed' => __('Tags used on this post:'), … … 233 279 234 280 $scripts->add( 'page', "/wp-admin/js/page$suffix.js", array('jquery', 'slug', 'wp-lists', 'postbox'), '20090102' ); 281 $scripts->add_data( 'page', 'group', 1 ); 235 282 $scripts->localize( 'page', 'postL10n', array( 236 283 'cancel' => __('Cancel'), … … 255 302 256 303 $scripts->add( 'link', "/wp-admin/js/link$suffix.js", array('jquery-ui-tabs', 'wp-lists', 'postbox'), '20090102' ); 304 $scripts->add_data( 'link', 'group', 1 ); 257 305 258 306 $scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array('jquery'), '20090102' ); 307 $scripts->add_data( 'comment', 'group', 1 ); 259 308 $scripts->localize( 'comment', 'commentL10n', array( 260 309 'cancel' => __('Cancel'), … … 266 315 267 316 $scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox' ), '20090102' ); 317 $scripts->add_data( 'media-upload', 'group', 1 ); 268 318 269 319 $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'interface' ), '20090106' ); … … 278 328 279 329 $scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array( 'jquery' ), '20090102' ); 330 $scripts->add_data( 'word-count', 'group', 1 ); 280 331 $scripts->localize( 'word-count', 'wordCountL10n', array( 281 332 'count' => __('Word count: %d'), … … 291 342 292 343 $scripts->add( 'theme-preview', "/wp-admin/js/theme-preview$suffix.js", array( 'thickbox', 'jquery' ), '20090102' ); 293 294 $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'jquery-form', 'suggest' ), '20090102' ); 344 $scripts->add_data( 'theme-preview', 'group', 1 ); 345 346 $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery-form', 'suggest' ), '20090102' ); 347 $scripts->add_data( 'inline-edit-post', 'group', 1 ); 295 348 $scripts->localize( 'inline-edit-post', 'inlineEditL10n', array( 296 349 'error' => __('Error while saving the changes.'), … … 300 353 ) ); 301 354 302 $scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery', 'jquery-form' ), '20090109' ); 355 $scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery-form' ), '20090109' ); 356 $scripts->add_data( 'inline-edit-tax', 'group', 1 ); 303 357 $scripts->localize( 'inline-edit-tax', 'inlineEditL10n', array( 304 358 'error' => __('Error while saving the changes.'), … … 307 361 308 362 $scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'thickbox', 'jquery' ), '20090102' ); 363 $scripts->add_data( 'plugin-install', 'group', 1 ); 309 364 $scripts->localize( 'plugin-install', 'plugininstallL10n', array( 310 365 'plugin_information' => __('Plugin Information:'), … … 313 368 314 369 $scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' ); 370 $scripts->add_data( 'farbtastic', 'group', 1 ); 315 371 316 372 $scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox' ), '20090102' ); 373 $scripts->add_data( 'dashboard', 'group', 1 ); 317 374 318 375 $scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), '20090102' ); 376 $scripts->add_data( 'hoverIntent', 'group', 1 ); 377 378 $scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery-ui-draggable', 'jquery-ui-resizable' ), '20090113' ); 379 $scripts->add_data( 'media', 'group', 1 ); 319 380 320 381 } … … 341 402 if ( ! $guessurl = site_url() ) 342 403 $guessurl = wp_guess_url(); 404 343 405 $styles->base_url = $guessurl; 406 $styles->content_url = WP_CONTENT_URL; 344 407 $styles->default_version = get_bloginfo( 'version' ); 345 408 $styles->text_direction = 'rtl' == get_bloginfo( 'text_direction' ) ? 'rtl' : 'ltr'; 409 $styles->default_dirs = array('/wp-admin/'); 346 410 347 411 $rtl_styles = array( 'global', 'colors', 'dashboard', 'ie', 'install', 'login', 'media', 'theme-editor', 'upload', 'widgets', 'press-this', 'plugin-install', 'farbtastic' ); … … 385 449 */ 386 450 function wp_prototype_before_jquery( $js_array ) { 387 if ( false === $jquery = array_search( 'jquery', $js_array ) )451 if ( false === $jquery = array_search( 'jquery', $js_array, true ) ) 388 452 return $js_array; 389 453 390 if ( false === $prototype = array_search( 'prototype', $js_array ) )454 if ( false === $prototype = array_search( 'prototype', $js_array, true ) ) 391 455 return $js_array; 392 456 … … 462 526 } 463 527 528 /** 529 * Print the script queue in the HTML head. 530 * 531 * Postpones the scripts that were queued for the footer. 532 * wp_print_footer_scripts() has to be called in the footer to print these scripts. 533 * 534 * @since unknown 535 * @see wp_print_scripts() 536 */ 537 function wp_print_head_scripts() { 538 do_action( 'wp_print_scripts' ); 539 global $wp_scripts, $concatenate_scripts, $compress_scripts; 540 541 if ( !is_a($wp_scripts, 'WP_Scripts') ) 542 $wp_scripts = new WP_Scripts(); 543 544 if ( ! isset($concatenate_scripts) ) 545 script_concat_settings(); 546 547 $wp_scripts->do_concat = $concatenate_scripts; 548 $wp_scripts->do_head_items(); 549 550 _pring_scripts(); 551 552 $wp_scripts->do_concat = false; 553 return $wp_scripts->done; 554 } 555 556 /** 557 * Print the scripts that were queued for the footer. 558 * 559 * @since unknown 560 */ 561 function wp_print_footer_scripts() { 562 global $wp_scripts, $concatenate_scripts; 563 564 if ( !is_a($wp_scripts, 'WP_Scripts') ) 565 return array(); // No need to run if not instantiated. 566 567 if ( ! isset($concatenate_scripts) ) 568 script_concat_settings(); 569 570 $wp_scripts->do_concat = $concatenate_scripts; 571 $wp_scripts->do_footer_items(); 572 573 _pring_scripts(); 574 575 $wp_scripts->do_concat = false; 576 return $wp_scripts->done; 577 } 578 579 function _pring_scripts() { 580 global $wp_scripts, $compress_scripts; 581 582 $zip = $compress_scripts ? 1 : 0; 583 584 if ( !empty($wp_scripts->concat) ) { 585 586 if ( !empty($wp_scripts->print_code) ) { 587 echo "<script type='text/javascript'>\n"; 588 echo "/* <![CDATA[ */\n"; 589 echo $wp_scripts->print_code; 590 echo "/* ]]> */\n"; 591 echo "</script>\n"; 592 $wp_scripts->print_code = ''; 593 } 594 595 $ver = md5($wp_scripts->concat_version); 596 $src = $wp_scripts->base_url . "/wp-admin/load-scripts.php?c={$zip}&load=" . rtrim($wp_scripts->concat, ',') . "&ver=$ver"; 597 echo "<script type='text/javascript' src='$src'></script>\n"; 598 $wp_scripts->concat = $wp_scripts->concat_version = ''; 599 } 600 601 if ( !empty($wp_scripts->print_html) ) { 602 echo $wp_scripts->print_html; 603 $wp_scripts->print_html = ''; 604 } 605 } 606 607 function wp_print_admin_styles() { 608 global $wp_styles, $concatenate_scripts, $compress_scripts; 609 610 if ( !is_a($wp_styles, 'WP_Styles') ) 611 $wp_styles = new WP_Styles(); 612 613 if ( ! isset($concatenate_scripts) ) 614 script_concat_settings(); 615 616 $wp_styles->do_concat = $concatenate_scripts; 617 $zip = $compress_scripts ? 1 : 0; 618 619 $wp_styles->do_items(false); 620 621 if ( !empty($wp_styles->concat) ) { 622 $ver = md5($wp_styles->concat_version); 623 $rtl = 'rtl' === $wp_styles->text_direction ? 1 : 0; 624 $href = $wp_styles->base_url . "/wp-admin/load-styles.php?c={$zip}&rtl={$rtl}&load=" . rtrim($wp_styles->concat, ',') . "&ver=$ver"; 625 echo "<link rel='stylesheet' href='$href' type='text/css' media='all' />\n"; 626 $wp_styles->concat = $wp_styles->concat_version = ''; 627 } 628 629 if ( !empty($wp_styles->print_html) ) { 630 echo $wp_styles->print_html; 631 $wp_styles->print_html = ''; 632 } 633 634 $wp_styles->do_concat = false; 635 return $wp_styles->done; 636 } 637 638 function script_concat_settings() { 639 global $concatenate_scripts, $compress_scripts; 640 641 $concatenate_scripts = defined('CONCATENATE_SCRIPTS') ? CONCATENATE_SCRIPTS : true; 642 if ( $concatenate_scripts && -1 == get_option('concatenate_scripts') ) 643 $concatenate_scripts = false; 644 645 $compress_scripts = defined('COMPRESS_SCRIPTS') ? COMPRESS_SCRIPTS : true; 646 if ( $compress_scripts && ! get_option('can_compress_scripts') ) 647 $compress_scripts = false; 648 } 649 464 650 add_action( 'wp_default_scripts', 'wp_default_scripts' ); 465 651 add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
Note: See TracChangeset
for help on using the changeset viewer.