Commit Graph

24 Commits

Author SHA1 Message Date
Aaron Jorbin 8b7967db38 php7.3 compatibility: Fix compact throwing notices for multisite
In PHP 7.3, the compact() function has been changed to issue an E_NOTICE level error if a passed string refers to an unset variable. In previous versions of PHP, this notice was silently skipped. The full RFC can be viewed here: https://wiki.php.net/rfc/compact

By initializing these variables, they can be compacted.

Previously [43819].
See #44416.
Props desrosj.


Built from https://develop.svn.wordpress.org/branches/5.0@43832


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-10-26 20:18:38 +00:00
Jeremy Felt 548d8c2e0d Multisite: Document all return types in `get_sites()`.
Adds more complete documentation to `get_sites()` and the corresponding methods in `WP_Site_Query`.

Fixes #41789.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41746 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-18 17:39:46 +00:00
John Blackbourn b25e759621 Networks and Sites: Correct the documentation for the `update_site_cache` parameter of `WP_Site_Query`.
Props welcher, sudar
Fixes #42155

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


git-svn-id: http://core.svn.wordpress.org/trunk@41629 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-09 14:26:49 +00:00
Jeremy Felt 7e190e496b Multisite: Use `%s` when building query for `archived` sites in `WP_Site_Query`.
In [25548], the `archived` column in `wp_blogs` was changed from `ENUM` to `TINYINT` to match other status fields. When `WP_Site_Query` was written later, it used `%d` as a placeholder when formatting the archived status.

It is possible that this query will fail for any installations that did not update the schema for `wp_blogs` as only single quoted values are accepted for the `ENUM` type. In this case, `'0'` or `'1'` rather than `0` or `1`.

We can work around this and support both `ENUM` and `TINYINT` in the query by using the `%s` placeholder and casting the value with `absint()`.

Props stephdau.
Fixes #38856. See #27832.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41534 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-03 04:40:46 +00:00
John Blackbourn 9fdbe6538e Docs: Remove `&` prefixes from parameter documentation to avoid doc parsing errors.
Props sudar for the original patch.

See #35974

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


git-svn-id: http://core.svn.wordpress.org/trunk@41520 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-02 22:03:33 +00:00
John Blackbourn f66864af2e Multisite: More specificity for the `get_sites()` documentation.
See #41789

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


git-svn-id: http://core.svn.wordpress.org/trunk@41164 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-04 11:17:43 +00:00
John Blackbourn d510413811 Docs: Fix various filter documentation.
See #38462, #41017

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


git-svn-id: http://core.svn.wordpress.org/trunk@41055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-03 14:34:44 +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
Felix Arntz af50e8eb2c Multisite: Improve caching in `WP_Site_Query` by ignoring the `$fields` argument.
Prior to this change there were two different cache keys used for the same query. That is because regardless of the `$fields` argument, the query response will be the same.

Props spacedmonkey.
Fixes #41197.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40909 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-14 21:25:44 +00:00
Jeremy Felt f940beae2b Multisite: Add `lang_id` support to `WP_Site_Query`.
Sites can now be queried by `lang_id`, `lang__in`, and `lang__not_in`.

Props ocean90.
Fixes #40196.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40247 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-27 19:48:52 +00:00
Aaron Jorbin 82911b1756 Cache API: introduce wp_cache_get_last_changed to improve DRY
One thing fairly common to the cache groups is a block of code to look to see when the cache was last changed, and if there isn't one, to set it for the current microtime(). It appears in 8 different places in core. This adds a new helper `wp_cache_get_last_changed` to DRY things up a bit.

Since `wp-includes/cache.php` isn't guaranteed to be loaded, this new function is in `wp-includes/functions.php`

Props spacedmonkey, desrosj.
Fixes #37464.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-21 02:54:34 +00:00
Gary Pendergast af69f4ab1a General: Restore usage of `$wpdb`, instead of `$this->db`.
Hiding the `$wpdb` global behind a property decreases the readability of the code, as well as causing irrelevant output when dumping an object.

Reverts [38275], [38278], [38279], [38280], [38387].
See #37699.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38711 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-10 06:38:31 +00:00
Jeremy Felt 02c8bd1909 Multisite: Provide `$join` as a possible SQL clause to the `sites_clauses` filter.
Previously, `compact()` provided a non existent `$join` and could cause confusion for anyone attempting to extend `WP_Site_Query` with their own tables. This aligns with the current behavior in `WP_Network_Query`.

Props johnjamesjacoby.
Fixes #37922.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-20 17:49:28 +00:00
Sergey Biryukov 1cdb4b52af Docs: Correct description for `domain` and `path` arguments in `WP_Network_Query::__construct()`.
See #32504.
Built from https://develop.svn.wordpress.org/trunk@38595


git-svn-id: http://core.svn.wordpress.org/trunk@38538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-13 13:10:32 +00:00
Scott Taylor af1fb6b8d2 Query: use correct description in the docblock for `$number` in `WP_Comment_Query`, `WP_Network_Query`, and `WP_Site_Query`.
Props flixos90.
Fixes #37621.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38277 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-23 14:41:29 +00:00
Scott Taylor e7ffad7fac Query: add a `protected` field, `$db`, (composition, as it were) to `WP_*_Query` classes to hold the value for the database abstraction, instead of importing the `global $wpdb` into every method that uses it. Reduces the number of global imports by 32.
See #37699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-18 18:21:31 +00:00
Sergey Biryukov c277d565e5 Docs: Clarify the `fields` argument description in `WP_Site_Query::__construct()`.
Props ramiy.
See #35791.
Built from https://develop.svn.wordpress.org/trunk@38103


git-svn-id: http://core.svn.wordpress.org/trunk@38044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-19 13:15:28 +00:00
Sergey Biryukov eca1a22719 Multisite: Correct default values for `orderby` and `order` in `WP_Site_Query::__construct()`.
Add a unit test.

Props ramiy, SergeyBiryukov.
See #35791.
Built from https://develop.svn.wordpress.org/trunk@38085


git-svn-id: http://core.svn.wordpress.org/trunk@38026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-17 23:30:31 +00:00
Jeremy Felt 602f231a26 Docs: Correct the description of the `$network_id` in `WP_Site_Query`.
Passing 0 for `network_id` results in a query across all networks.

See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37949 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-07 20:36:30 +00:00
Jeremy Felt d11c9de613 Multisite: Don't store `max_num_pages` in `WP_Site_Query` query cache.
This value can be easily calculated with available data.

Props spacedmonkey.
Fixes #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-07 15:32:29 +00:00
Jeremy Felt 12809c4735 Multisite: Remove unused `site_count` property from `WP_Site_Query`.
Related: [37837].

Props flixos90.
See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37816 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-26 14:33:28 +00:00
Jeremy Felt 6f3f00ea97 Multisite: Change `WP_Network` `id` property to an integer.
For consistency and developer sanity.

Props flixos90.
Fixes #37050.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-26 14:26:29 +00:00
Jeremy Felt b4df848b6d Multisite: Add search column support to `WP_Site_Query`.
`domain` and/or `path` can be used to specify which column(s) should be searched.

See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37700 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-16 23:09:28 +00:00
Jeremy Felt 2dd1e72f10 Multisite: Introduce `WP_Site_Query`
Provides a consistent way to query `$wpdb->blogs` for `WP_Site` objects based on domain, path, site ID, network ID, and more.

Introduces and uses `update_site_cache()` and `_prime_site_caches()` to maintain a cached list of `WP_Site` objects for use in multiple queries.

Props spacedmonkey, flixos90, DrewAPicture, jeremyfelt, ocean90.
See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37445 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 22:04:27 +00:00