Commit Graph

50 Commits

Author SHA1 Message Date
Sergey Biryukov 67a6527d51 Script Loader: Improve performance of `wp_script_is()` for scripts registered with complex dependencies.
This switches `WP_Dependencies::recurse_deps()` from recursively checking the same handles over and over again to keep a flattened array of queued items and their dependencies for faster lookup in `WP_Dependencies::query()`.

Props superdav42.
Fixes #46469.
Built from https://develop.svn.wordpress.org/trunk@47359


git-svn-id: http://core.svn.wordpress.org/trunk@47146 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-25 13:42:05 +00:00
Sergey Biryukov c289bb59ac Docs: Improve documentation for `WP_Dependencies`, `WP_Scripts`, and `WP_Styles` methods.
See #48303.
Built from https://develop.svn.wordpress.org/trunk@47170


git-svn-id: http://core.svn.wordpress.org/trunk@46970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-03 00:19:03 +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
John Blackbourn 9ac1d82f23 Docs: Further improve documentation of known return types, plus other docs fixes.
See #48303

Built from https://develop.svn.wordpress.org/trunk@46661


git-svn-id: http://core.svn.wordpress.org/trunk@46461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-05 21:27:02 +00:00
Gary Pendergast 4803fc405e Coding Standards: Fix the `Squiz.PHP.DisallowMultipleAssignments` violations in `wp-includes`.
See #47632.


Built from https://develop.svn.wordpress.org/trunk@45590


git-svn-id: http://core.svn.wordpress.org/trunk@45401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-02 23:42:58 +00:00
Sergey Biryukov 0d05b99e1b Docs: Document that the `$src` parameter of `WP_Dependencies::add()` can be boolean.
Props dimadin.
Fixes #45009.
Built from https://develop.svn.wordpress.org/trunk@43661


git-svn-id: http://core.svn.wordpress.org/trunk@43490 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-09-28 21:51:24 +00:00
John Blackbourn 2361ca884f Docs: Document more parameters and properties using typed array notation.
See #41756

Built from https://develop.svn.wordpress.org/trunk@42876


git-svn-id: http://core.svn.wordpress.org/trunk@42706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 19:33:31 +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
Drew Jaynes 0860bb2771 Docs: Remove `@access` notations from method DocBlocks in wp-includes/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.

Built from https://develop.svn.wordpress.org/trunk@41162


git-svn-id: http://core.svn.wordpress.org/trunk@41002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:41:44 +00:00
Drew Jaynes 1d95dcfa2c Docs: Remove superfluous `@package WordPress` and `@subpackage` notations used outside of file headers in a variety of core files.
Per the inline documentation standards for PHP, there should only be one `@package` and/or `@subpackage` notation per file, and only in the file header.

See #41017.

Built from https://develop.svn.wordpress.org/trunk@40988


git-svn-id: http://core.svn.wordpress.org/trunk@40838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-01 16:58:42 +00:00
Scott Taylor b2c394a330 Script Loader: move `_WP_Dependency` into its own file.
See #37827.

Built from https://develop.svn.wordpress.org/trunk@38375


git-svn-id: http://core.svn.wordpress.org/trunk@38316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-26 18:06:39 +00:00
John Blackbourn 2cee8966ab Docs: Re-add a `@param` that went missing in [36993].
See #32246

Built from https://develop.svn.wordpress.org/trunk@36994


git-svn-id: http://core.svn.wordpress.org/trunk@36961 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-14 22:39:26 +00:00
John Blackbourn 7ecfdc69b7 Docs: Improvements and corrections for the `$ver` parameter of the dependencies API functions.
See #32246

Built from https://develop.svn.wordpress.org/trunk@36993


git-svn-id: http://core.svn.wordpress.org/trunk@36960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-14 22:37:26 +00:00
Dominik Schilling f4ef187c2c Dependencies: Improve group processing of script dependencies.
This is a follow-up to [36604].

When processing dependencies `$this->group` will be the minimum of the script's registered group and all preceding siblings. This is wrong because only a scripts ancestors in the dependency chain should affect where it is loaded. Effectively `$this->group` introduced a form of global state which potentially corrupted the group of dependencies. Sorting covers up this problem.
The issue in #35873 was that script were not moving their dependencies to a lower group when necessary.

The fix:
* In `WP_Dependencies::all_deps()` pass the new `$group` value to `WP_Dependencies::all_deps()`. Previously the wrong value was passed because the parent script could have moved with `WP_Scripts::set_group()`.
* In `WP_Scripts::all_deps()` pass the `$group` parameter to `WP_Dependencies::all_deps()` so it doesn't always use `false` for `$group`. Same for `WP_Styles::all_deps()`.

Props stephenharris, gitlost.
Fixes #35956.
Built from https://develop.svn.wordpress.org/trunk@36871


git-svn-id: http://core.svn.wordpress.org/trunk@36838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-06 19:50:27 +00:00
Dominik Schilling 820c9e2fca Docs: Improve inline docs for `WP_Dependencies`, `WP_Styles`, and `WP_Scripts`.
Also, make them and related files part of WordPress.

See #35964.
Built from https://develop.svn.wordpress.org/trunk@36744


git-svn-id: http://core.svn.wordpress.org/trunk@36711 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-27 20:34:29 +00:00
Dominik Schilling a09799fa40 Docs: In `WP_Dependencies` add a changelog entry for the `$group` parameter.
See #35964.
Built from https://develop.svn.wordpress.org/trunk@36732


git-svn-id: http://core.svn.wordpress.org/trunk@36699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 13:50:25 +00:00
Dominik Schilling c8923e5710 Docs: In `WP_Dependencies` add a changelog entry to methods which were moved from `WP_Scripts` to `WP_Dependencies`.
See #35964.
Built from https://develop.svn.wordpress.org/trunk@36731


git-svn-id: http://core.svn.wordpress.org/trunk@36698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 13:23:25 +00:00
John Blackbourn cfc503e921 Docs: Correct the possible return types for `WP_Dependencies::query()`.
See #32246

Built from https://develop.svn.wordpress.org/trunk@36713


git-svn-id: http://core.svn.wordpress.org/trunk@36680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-25 21:26:26 +00:00
Dominik Schilling 826e2d8ea1 Script Loader: Fix missing script output when the groups of dependencies are different.
Aka: Don't lose the grandchild.

Props gitlost, ocean90.
Fixes #35873.
Built from https://develop.svn.wordpress.org/trunk@36604


git-svn-id: http://core.svn.wordpress.org/trunk@36571 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-20 22:11:25 +00:00
Dominik Schilling bc5d22266d Script/Style Dependencies: Make sure that inline styles for handles without a source are printed.
This prevents breaking plugins which are adding inline styles to the `wp-admin` handle after [36341].

Props dd32, ocean90.
Fixes #35229.
Built from https://develop.svn.wordpress.org/trunk@36550


git-svn-id: http://core.svn.wordpress.org/trunk@36517 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-17 17:11:26 +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 a0e373ef80 For doc block types, favor `bool` over the few remaining `boolean`s
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32964


git-svn-id: http://core.svn.wordpress.org/trunk@32935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:03:25 +00:00
John Blackbourn 987716720f Add a return value to `wp_register_script()` and `wp_register_style()` which matches the return value of `WP_Dependencies::add()`.
Props katzwebdesign, pareshradadiya, DrewAPicture.

Fixes #31126

Built from https://develop.svn.wordpress.org/trunk@32483


git-svn-id: http://core.svn.wordpress.org/trunk@32453 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-10 19:57:25 +00:00
Drew Jaynes 273396fe1e Ensure inline code is markdown-escaped as such, and that code snippets in descriptions are properly indented.
Affects DocBlocks for the following core elements:
* Backtick-escapes a `<link>` tag in a parameter description for the `embed_oembed_discover` hook
* Inline code fixes in the summary and return description for `WP_List_Table::get_table_classes()`
* Removes HTML markup from the summary for `WP_List_Table::display_rows_or_placeholder()`
* Backtick-escapes a `<tr>` tag in a parameter description for `WP_Users_List_Table::single_row()`
* Converts non-DocBlocks into multi-line comments in `WP_Dependencies::do_items()`
* Removes HTML markup from the summary for the `comment_form_top` hook.
* Inline code and snippet fixes in the description for `wp_get_schedules()`

Props rarst for the initial patch.
See #30473.

Built from https://develop.svn.wordpress.org/trunk@30537


git-svn-id: http://core.svn.wordpress.org/trunk@30526 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 04:58:22 +00:00
Scott Taylor 0d387bf76e `WP_Dependencies->recurse_deps()`: tuck the recursion into `elseif` so the `foreach` doesn't break on the first item.
See [29252].

Built from https://develop.svn.wordpress.org/trunk@29253


git-svn-id: http://core.svn.wordpress.org/trunk@29036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-20 00:34:15 +00:00
Scott Taylor f93abf2bea `wp_script_is( ..., 'enqueued' )` needs to check dependencies recursively - a single item's dependencies may only be a subset of the full dependency tree. Adds a new method on `WP_Dependencies` called `->recurse_deps()`.
Adds unit test.

Props wonderboymusic, SergeyBiryukov, mikejolley.
Fixes #28404.

Built from https://develop.svn.wordpress.org/trunk@29252


git-svn-id: http://core.svn.wordpress.org/trunk@29035 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-20 00:29:16 +00:00
Scott Taylor f998ac39d3 Add missing access modifiers to methods in `WP_Dependencies` and `_WP_Dependency`.
See #27881, #22234.

Built from https://develop.svn.wordpress.org/trunk@28517


git-svn-id: http://core.svn.wordpress.org/trunk@28343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 06:14:14 +00:00
Drew Jaynes 16f0d8b1ea Inline documentation for WP_Dependencies and _WP_Dependency classes.
Props kitchin for the initial patch.
Fixes #23914.

Built from https://develop.svn.wordpress.org/trunk@25524


git-svn-id: http://core.svn.wordpress.org/trunk@25444 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-20 19:54:10 +00:00
Drew Jaynes 9151227edf Inline documentation for _WP_Dependency class properties.
See #23914.

Built from https://develop.svn.wordpress.org/trunk@25518


git-svn-id: http://core.svn.wordpress.org/trunk@25438 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-20 17:46:09 +00:00
Drew Jaynes cee2a3e227 Inline documentation for WP_Dependencies class properties.
See #23914.

Built from https://develop.svn.wordpress.org/trunk@25517


git-svn-id: http://core.svn.wordpress.org/trunk@25437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-20 17:44:17 +00:00
Ryan Boren 02d584b4c7 Revert [21420] and [21481]. Accepting a string caused back compat problems including the possibility of revealing previously hidden circular dependencies resulting in infinite loops.
fixes #20683 #22111
see #21520


git-svn-id: http://core.svn.wordpress.org/trunk@22286 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-23 20:32:12 +00:00
Andrew Nacin e03bb0d1ac Have wp_script_is() and wp_style_is() accept 'enqueued', as it reads better than 'queue' and is consistent with 'registered'. fixes #21741.
git-svn-id: http://core.svn.wordpress.org/trunk@21672 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-30 18:57:57 +00:00
azaozz cbc9aabfa4 When WP_Dependencies accept a string for a single dependency, make sure the string is not empty, see #20683
git-svn-id: http://core.svn.wordpress.org/trunk@21481 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-08 17:21:24 +00:00
markjaquith eedce37675 Let WP_Dependencies accept a string for a single dependency instead of requiring an array wrapper. props vhauri. fixes #20683
git-svn-id: http://core.svn.wordpress.org/trunk@21420 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-04 17:59:55 +00:00
ryan 07ff8b216b Use one space, not two, after trailing punctuation. fixes #19537
git-svn-id: http://svn.automattic.com/wordpress/trunk@19593 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-12-13 23:45:31 +00:00
azaozz 23b9d7759a Introduce WP_Dependencies::get_data() method, change scripts and styles priority to follow the "natural" order in HTML, i.e. the last one wins, props scribu, see #11520
git-svn-id: http://svn.automattic.com/wordpress/trunk@18480 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-07-28 18:24:00 +00:00
azaozz 23f490bb02 Support for using wp_enqueue_script() and wp_enqueue_style() in the HTML body. All scripts and styles are added in the footer, fixes #9346
git-svn-id: http://svn.automattic.com/wordpress/trunk@18446 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-07-21 16:32:01 +00:00
ryan 04487fc268 Constructor cleanup. Props ocean90. fixes #16768
git-svn-id: http://svn.automattic.com/wordpress/trunk@17771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-29 20:05:12 +00:00
ryan b60c345536 Remove PHP4 constructors. Props hakre. see #16768
git-svn-id: http://svn.automattic.com/wordpress/trunk@17604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-05 17:25:08 +00:00
nacin b8ce0261df More param fixes, props duck_. see #14783.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-11-18 19:12:48 +00:00
ryan 2d360ad164 Revert [15637]. Still needed for PHP4.
git-svn-id: http://svn.automattic.com/wordpress/trunk@15639 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-20 19:17:47 +00:00
ryan bef67a04e2 Remove annoying, useless construcotrs. Props Rasmus. http://talks.php.net/show/confoo10/8
git-svn-id: http://svn.automattic.com/wordpress/trunk@15637 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-09-20 18:53:03 +00:00
azaozz 7b40c7a03f WP_Dependencies: pass NULL to disable script and style version query strings, props scribu amattie, fixes #11315
git-svn-id: http://svn.automattic.com/wordpress/trunk@12558 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-12-28 00:48:20 +00:00
azaozz a9f80b1937 Bring WP_Dependencies::dequeue() in line with WP_Dependencies::enqueue(), props chrisbliss18, fixes #9870
git-svn-id: http://svn.automattic.com/wordpress/trunk@12049 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-10-18 05:51:30 +00:00
ryan 2df887bd07 Trim tailing whitespace
git-svn-id: http://svn.automattic.com/wordpress/trunk@11450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-05-24 23:47:49 +00:00
azaozz d467c7522a Queue all default scripts for the head when a custom script lists them as dependencies, fixes #9620
git-svn-id: http://svn.automattic.com/wordpress/trunk@11058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-22 21:01:36 +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
westi 6a527db989 phpdoc updates for wp-includes See #7550 props jacobsantos.
git-svn-id: http://svn.automattic.com/wordpress/trunk@9002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-09-27 10:06:18 +00:00
ryan 35b18e5034 Trailing whitespace cleanup
git-svn-id: http://svn.automattic.com/wordpress/trunk@8600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-08-09 05:36:14 +00:00
ryan e9aa24cffb Style loader from mdawaffe. see #7011
git-svn-id: http://svn.automattic.com/wordpress/trunk@7970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-05-21 05:56:04 +00:00