Peter Wilson
0735fa8ce0
Script Loader: Refactor Etag generation for concatenated assets.
...
Move Etag HTTP header generation in `load-scripts.php` and `load-styles.php` to `WP_Dependencies`.
Introduces the method `WP_Dependencies::get_etag()` and associated unit tests.
Follow up to [57943].
Props vrajadas, martinkrcho, mukesh27.
Fixes #61485 .
Built from https://develop.svn.wordpress.org/trunk@58935
git-svn-id: http://core.svn.wordpress.org/trunk@58331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-08-25 23:48:13 +00:00
Sergey Biryukov
8efc6e1807
Script Loader: Check if `error_reporting()` exists in `load-(scripts|styles).php`.
...
This avoids a fatal error on PHP 8 if `error_reporting()` is disabled in `php.ini`.
On systems with this function disabled, it's best to add a dummy function to the `wp-config.php` file, as there are multiple other calls in core or plugins.
However, as this call to the function is run prior to `wp-config.php` loading, it is now wrapped in a `function_exists()` check.
Follow-up to [50447].
Props gansbrest, sabernhardt, jrf, martin.krcho, SergeyBiryukov.
Fixes #61873 .
Built from https://develop.svn.wordpress.org/trunk@58905
git-svn-id: http://core.svn.wordpress.org/trunk@58301 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-08-16 14:29:15 +00:00
Peter Wilson
f4fb98f366
Script Loader: Improve asset concatenation Etags.
...
Include the asset version of JavaScript and CSS files when generating the ETag for concatenated assets in `load-scripts.php` and `load-styles.php`. This ensures the ETag is updated as script versions change (for example editor package updates) rather than only when the WordPress version changes.
The `W\` prefix is added to the generated ETag to allow for CDNs and proxy servers modifying the script to add or improve the compression algorithm.
Props azaozz, dav4, ironprogrammer, johnbillion, kkmuffme, monzuralam, peterwilsoncc, sergeybiryukov.
Fixes #58433 .
Built from https://develop.svn.wordpress.org/trunk@57943
git-svn-id: http://core.svn.wordpress.org/trunk@57440 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-04-07 23:53:19 +00:00
Sergey Biryukov
75fc6b755b
Docs: Update a comment in `wp-admin/load-styles.php` per the documentation standards.
...
Follow-up to [52352].
See #53399 .
Built from https://develop.svn.wordpress.org/trunk@52356
git-svn-id: http://core.svn.wordpress.org/trunk@51948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-12-12 14:52:02 +00:00
Sergey Biryukov
3beb1d25ab
Docs: Correct the format of some comments per the documentation standards.
...
Follow-up to [10357], [10939], [43309], [51003], [51266], [51653], [51738], [52110].
See #53399 .
Built from https://develop.svn.wordpress.org/trunk@52352
git-svn-id: http://core.svn.wordpress.org/trunk@51944 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-12-10 20:30:05 +00:00
davidbaumwald
d5f7417686
Bootstrap/Load: Add `HTTP/3` as a valid HTTP protocol.
...
As of November 2021, the `HTTP/3` protocol is still officially an Internet Draft, but is already supported by 74% of running web browsers and, according to W3Techs, 23% of the top 10 million websites. It has been supported by Google Chrome (including Chrome for Android, and Microsoft Edge, which is based on it) since April 2020 and by Mozilla Firefox since May 2021. Safari 14 (on macOS Big Sur and iOS 14) has also implemented the protocol but support is hidden behind a feature flag.
Based on the wide support, this change adds `HTTP/3` as a valid HTTP protocol.
Props malthert.
Fixes #54404 .
Built from https://develop.svn.wordpress.org/trunk@52087
git-svn-id: http://core.svn.wordpress.org/trunk@51679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-11-09 23:07:01 +00:00
Sergey Biryukov
7b192d406a
Coding Standards: Fix instances of `Generic.WhiteSpace.ArbitraryParenthesesSpacing.FoundEmpty`.
...
See #49542 .
Built from https://develop.svn.wordpress.org/trunk@47855
git-svn-id: http://core.svn.wordpress.org/trunk@47631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-26 09:37:10 +00:00
Sergey Biryukov
38676936ba
Coding Standards: Use strict type check for `in_array()` and `array_search()` where strings are involved.
...
This reduces the number of `WordPress.PHP.StrictInArray.MissingTrueStrict` issues from 486 to 50.
Includes minor code layout fixes for better readability.
See #49542 .
Built from https://develop.svn.wordpress.org/trunk@47550
git-svn-id: http://core.svn.wordpress.org/trunk@47325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-05 03:02:11 +00:00
Sergey Biryukov
47ed56f38f
Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant.
...
This avoids the performance overhead of the function call every time `dirname( __FILE__ )` was used instead of `__DIR__`.
This commit also includes:
* Removing unnecessary parentheses from `include`/`require` statements. These are language constructs, not function calls.
* Replacing `include` statements for several files with `require_once`, for consistency:
* `wp-admin/admin-header.php`
* `wp-admin/admin-footer.php`
* `wp-includes/version.php`
Props ayeshrajans, desrosj, valentinbora, jrf, joostdevalk, netweb.
Fixes #48082 .
Built from https://develop.svn.wordpress.org/trunk@47198
git-svn-id: http://core.svn.wordpress.org/trunk@46998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-06 06:33:11 +00:00
Sergey Biryukov
001ffe81fb
Docs: Improve inline comments per the documentation standards.
...
Includes minor code layout fixes for better readability.
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@47122
git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
Sergey Biryukov
7dbc4d28e5
Script Loader: Send a 400 Bad Request status code in `load-scripts.php` and `load-styles.php` if the required `load[]` parameter is not set.
...
Props compilenix.
Fixes #44108 .
Built from https://develop.svn.wordpress.org/trunk@45731
git-svn-id: http://core.svn.wordpress.org/trunk@45542 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-03 22:17:57 +00:00
Andrew Ozz
6de52463a7
Script loader: prevent sorting of the `load` array in the query string when passing the script handles to load-scripts.php and load-styles.php.
...
Fixes #45346 #26886 .
Built from https://develop.svn.wordpress.org/trunk@45456
git-svn-id: http://core.svn.wordpress.org/trunk@45267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-05-28 02:43:55 +00:00
Sergey Biryukov
86bff28a19
Script Loader: Ensure default packages are registered when loaded via load-scripts.php.
...
Props CantoThemes, ocean90.
Merges [43877] to trunk.
Fixes #45271 .
Built from https://develop.svn.wordpress.org/trunk@44237
git-svn-id: http://core.svn.wordpress.org/trunk@44067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 03:15:20 +00:00
Andrew Ozz
1521b64337
Script loader: remove (PHP based) compression from `load-styles.php` and `load-scripts.php`. WIth the amount of scripts and stylesheets grown a lot over the years, it has become pretty slow and consumes a lot of server resources. Also, most servers are set to compress PHP output anyway.
...
Props LucasRolff, azaozz.
Fixes #44815 .
See #43308 .
Built from https://develop.svn.wordpress.org/trunk@43580
git-svn-id: http://core.svn.wordpress.org/trunk@43409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-20 13:51:24 +00:00
Gary Pendergast
aaf99e6913
Code is Poetry.
...
WordPress' code just... wasn't.
This is now dealt with.
Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057 .
Built from https://develop.svn.wordpress.org/trunk@42343
git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Scott Taylor
a3ffebce30
Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389.
...
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38470
git-svn-id: http://core.svn.wordpress.org/trunk@38411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-31 16:31:29 +00:00
Scott Taylor
2a9b372471
Script Loader: autoload in `load-{scripts|styles}.php`.
...
Props JohnPBloch.
See #36335 .
Built from https://develop.svn.wordpress.org/trunk@38412
git-svn-id: http://core.svn.wordpress.org/trunk@38353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 00:07:33 +00:00
Sergey Biryukov
4074bcc6a1
Bootstrap/Load: Allow for `ABSPATH` to be defined outside of `wp-load.php`, e.g. in a script loaded via `auto_prepend_file`.
...
Props barry.
Fixes #26592 .
Built from https://develop.svn.wordpress.org/trunk@37207
git-svn-id: http://core.svn.wordpress.org/trunk@37173 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-14 17:53:28 +00:00
Pascal Birchler
9ea68bc533
Script Loader: Add `Etag: $wp_version` header in `load-scripts.php` and `load-styles.php`.
...
This improves performance since browsers won't re-download the scripts and styles when there was no change in `$wp_version`.
Props sergej.mueller, dd32, swissspidy.
Fixes #28722 .
Built from https://develop.svn.wordpress.org/trunk@36312
git-svn-id: http://core.svn.wordpress.org/trunk@36279 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-15 10:23:25 +00:00
Scott Taylor
b9bbdabfe7
Create a new file, `wp-admin/includes/noop.php`, which loads all of the noop functions for `load-script|styles.php` and is only loaded by those files. DRYs in the process.
...
See #33813 .
Built from https://develop.svn.wordpress.org/trunk@34037
git-svn-id: http://core.svn.wordpress.org/trunk@34005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-11 05:04:23 +00:00
Scott Taylor
ef87172270
`foreach` is a statement, not a function.
...
See #33491 .
Built from https://develop.svn.wordpress.org/trunk@33734
git-svn-id: http://core.svn.wordpress.org/trunk@33702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-25 20:28:22 +00:00
Scott Taylor
618c5b4333
When outputting JS with a `Content-Type` header:
...
`text/javascript` is obsolete, `application/x-javascript` was experimental. `application/javascript` is the recommended type per RFC 4329.
Props sergej.mueller.
Fixes #29196 .
Built from https://develop.svn.wordpress.org/trunk@31029
git-svn-id: http://core.svn.wordpress.org/trunk@31010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-03 02:57:21 +00:00
Drew Jaynes
9ef7c41a15
Inline docs syntax fixes following [28978].
...
See #28740 .
Built from https://develop.svn.wordpress.org/trunk@29015
git-svn-id: http://core.svn.wordpress.org/trunk@28803 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-07 16:42:16 +00:00
Andrew Nacin
b35982cbff
Simplify the setup-config.php UI flow and load process.
...
When no configuration file is detected, we now redirect to setup-config.php. This process now uses the WordPress bootstrap, rather than a set of fragile hacks.
fixes #28740 .
Built from https://develop.svn.wordpress.org/trunk@28978
git-svn-id: http://core.svn.wordpress.org/trunk@28767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-03 19:57:14 +00:00
Andrew Nacin
93ca609f53
Unique load array in load-scripts and load-styles.
...
git-svn-id: http://core.svn.wordpress.org/trunk@24868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-29 17:57:04 +00:00
Andrew Nacin
2763e74dd8
Script loader: Chunk the script names as passed to load-scripts.php into 128-character pieces. Avoids hitting a limit for the length of a single variable, such as suhosin.get.max_value_length which defaults to 512. fixes #22757 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@23074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-05 18:57:56 +00:00
Andrew Nacin
e7767b1eba
Add comments to time intervals we cannot express with the constants. Fix a comment. props SergeyBiryukov. fixes #20987 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@22531 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-10 18:13:09 +00:00
Andrew Nacin
70ae01e133
Do not use time constants in files the WP bootstrap is not or may not be loaded. see #20987 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@21997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-25 07:05:48 +00:00
Andrew Nacin
557d9313a7
Introduce constants to allow for easier expression of time periods in seconds. Adds MINUTE_IN_SECONDS, HOUR_IN_SECONDS, DAY_IN_SECONDS, WEEK_IN_SECONDS, YEAR_IN_SECONDS. props nbachiyski, SergeyBiryukov. fixes #20987 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@21996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-25 05:26:19 +00:00
nacin
bc2655affc
If a plugin triggers the WP_Scripts constructor prior to init, fire wp_default_scripts()
...
then and again on init.
Only add our localized strings once we've fired init, in case we do have the situation
where we fire wp_default_scripts() twice.
Fixes issues where plugins or themes try to enqueue a default script handle prior to
init. Does not allow #19959 to regress.
see #20971 for trunk.
git-svn-id: http://core.svn.wordpress.org/trunk@21132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-26 05:33:19 +00:00
ryan
616c35e71c
One newline is enough.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@19684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-05 20:10:39 +00:00
nacin
31e5be0b66
Define json_encode() in load-scripts.php. see #19524 for trunk.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@19597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-12-14 23:02:42 +00:00
ryan
64552a67ee
Use stripos() instead of strpos( strtolower() ). Props hakre. see #16920
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@17630 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-11 18:55:11 +00:00
dd32
ba0153096a
Revert [17608] adding back [17596] and actually include the dummy function this time. See #17057 Fixes #17050
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@17609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-06 00:42:07 +00:00
nacin
9e81303893
Define home_url() in load-scripts.php. see #9008 , props ocean90.
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@14442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-05-04 17:08:28 +00:00
ryan
fc204c952d
Don't use deprecated functions. Props filosofo. fixes #11807
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@12878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-01-27 17:55:39 +00:00
azaozz
42df991367
Check if $_SERVER['HTTP_ACCEPT_ENCODING'] is set before determining whether to compress scripts, props nacin, fixes #11169
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@12214 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-11-19 09:46:07 +00:00
markjaquith
6c2ffddf31
_a(), _ea(), _xa(), attr() are now esc_attr__(), esc_attr_e(), esc_attr_x(), esc_attr() -- still short, but less cryptic. see #9650
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@11204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-05-05 19:43:53 +00:00
ryan
2d489767bb
s/attribute_escape/attr/. see #9650
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@11109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-28 05:58:45 +00:00
ryan
a61bc0ec8a
Trailing whitespace cleanup
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@11013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-20 18:18:39 +00:00
azaozz
1e31cc81a0
Disable PHP error reporting in gears-manifest.php, load-scripts.php and load-styles.php since they don't load wp-settings, fix some notices
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10939 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-15 19:55:41 +00:00
azaozz
9c7ba66e64
Correct ABSPATH in load-scripts.php, load-styles.php and gears-manifest.php, props hakre, fixes #9461
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-05 03:32:49 +00:00
ryan
b1222311f7
gettext comments. Props nbachiyski. see #9112
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-03-13 03:53:39 +00:00
azaozz
75850602a5
Detect when the server compresses output, see #8628
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10476 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-02-01 09:45:24 +00:00
azaozz
e62f8c0eb9
Support output_handler = ob_gzhandler in script/style compressor, props DD32, fixes #9000
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10466 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-01-30 13:45:05 +00:00
azaozz
f20f62b27d
Improvements to the script loader: allows plugins to queue scripts for the front end head and footer, adds hooks for server side caching of compressed scripts, adds support for ENFORCE_GZIP constant (deflate is used by default since it's faster), see #8628 , fixes #8884
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-01-26 12:59:10 +00:00
azaozz
b396079aa0
Use gzip instead of deflate as more servers seem to understand it, add separate switch for disabling CSS compression
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-01-17 14:08:15 +00:00
azaozz
fc7d871678
Split the script queue in head and footer part, concatenate and compress the default js and css, first run, see #8628
...
git-svn-id: http://svn.automattic.com/wordpress/trunk@10357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-01-14 14:18:51 +00:00