Commit Graph

101 Commits

Author SHA1 Message Date
Felix Arntz f821106df8 Multisite: Use `WP_Network_Query` in `ms_load_current_site_and_network()`.
This gets rid of the last readonly direct database query for networks in core. 🎉

Props spacedmonkey.
Fixes #41762.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41552 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-03 19:26:49 +00:00
Felix Arntz f2d9abd022 Multisite: Introduce `get_main_site_id()`.
This function can be used to easily get the main site ID of a given network via the optional `$network_id` parameter, which defaults to the current network. The existing `is_main_site()` now uses the new function internally and now accepts an optional `$network_id` parameter as well.

The main purpose of the new function at this point is to ensure that the `WP_Network::$blog_id` property is always set. Magic getters in the class have been adjusted to auto-fill the property when it is accessed and empty. Furthermore the function encapsulates logic that was previously part of `ms_load_current_site_and_network()` and has been replaced with a call to the function now.

Props spacedmonkey, jeremyfelt, johnjamesjacoby, flixos90.
Fixes #29684.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41213 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-15 11:15:52 +00:00
John Blackbourn 28eda6f4bc General: Improve terminology used when referring to installations of WordPress and its extensions.
"Install" is not a noun, and while it might be acceptable to use the verb as a noun, it is not correct. Using the correct
noun, "installation", increases clarity, especially for non-native English speakers.

This change fixes the usage in user-facing text and in developer documentation.

Fixes #41620

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


git-svn-id: http://core.svn.wordpress.org/trunk@41129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-22 11:52:48 +00:00
Jeremy Felt 555466ab82 Multisite: Replace `get_blog_details()` in inline documentation.
Some documentation is now out of date and some can be replaced with a mention of `get_site()`.

Fixes #37102.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-26 03:39:29 +00:00
Jeremy Felt 6e1c166dfb Multisite: Replace `get_blog_details()` in `ms_site_check()` with `get_site()`.
Props flixos90.
Fixes #38357.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38847 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-25 05:55:30 +00:00
Jeremy Felt 1560fbcbc5 Multisite: Use `get_network()` and `get_current_network_id()` for current network data.
`get_network()` falls back to the current network when called without any arguments. Between this and `get_current_network_id()`, we can replace almost all instances of the global `$current_site` and all instances of `get_current_site()`.

This effectively deprecates `get_current_site()`, something that we'll do in a future ticket.

Props flixos90.
Fixes #37414.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38757 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-19 04:47:30 +00:00
Jeremy Felt a9290f631b Multisite: Clarify that `get_site_by_path()` does not return exact matches.
Props stevenlinx.
Fixes #38152.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-12 01:10:29 +00:00
Jeremy Felt 5c038aefb3 Multisite: Ensure a consistent `WP_Site` return from `get_site_by_path()`.
It is possible to short circuit `get_site_by_path()` using the `pre_get_site_by_path` filter. When this happens and a standard site object is provided, we can make sure it is upgraded to a proper `WP_Site` object before passing it on.

Props flixos90.
Fixes #37053.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-30 04:10:27 +00:00
Jeremy Felt 58bca49227 Multisite: Deprecate `wp_get_network()`.
`wp_get_network()` was converted into a wrapper for `get_network()` in 4.6.0 and can now be deprecated.

This moves `wp_get_network()` to the bottom of `ms-load.php` as `ms-deprecated.php` is not available early enough.

Props PieWP, flixos90.
Fixes #37553.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-02 23:48:31 +00:00
John Blackbourn ab052361a3 Docs: Correct and clarify various `@since` docs.
Fixes #37562

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


git-svn-id: http://core.svn.wordpress.org/trunk@38142 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-04 22:54:31 +00:00
Drew Jaynes e6267dcf19 Docs: Fix formatting, tense, verb conjugation, and other syntax for wp-includes/* elements introduced or changed in 4.6.
Part 2/2.

Fixes #37318.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38066 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-20 19:33:30 +00:00
Sergey Biryukov 139387b7e5 Docs: Use 3-digit, x.x.x-style semantic versioning for `_doing_it_wrong()`, `_deprecated_function()`, `_deprecated_argument()`, and `_deprecated_file()` throughout core.
Props metodiew.
Fixes #36495.
Built from https://develop.svn.wordpress.org/trunk@37985


git-svn-id: http://core.svn.wordpress.org/trunk@37926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-06 12:40:29 +00:00
Jeremy Felt 4789f30c40 Multisite: Simplify logic assigning `orderby` in `get_site_by_path()`.
Before [37628], there were 3 separate conditions for ordering by domain and/or path in `get_site_by_path()` that each resulted in it's own query. Now that `get_sites()` is used and supports `WP_Site_Query`, this can be simplified.

Props spacedmonkey.
Fixes #37215.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-30 16:59:29 +00:00
Jeremy Felt 31f2f68e82 Multisite: Replace `wp_get_network()` internals with `get_network()`.
`get_network()` should be considered a replacement for `wp_get_network()`.

Props flixos90.
Fixes #32504.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37837 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 21:29:29 +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 460f4740a2 Multisite: Replace `$wpdb->blog` queries in `get_site_by_path()` with `get_sites()`
Props spacedmonkey, DrewAPicture.
See #35791.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-02 21:46:29 +00:00
Drew Jaynes 9cb5247392 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37486 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:50:28 +00:00
Jeremy Felt 19f988840f Multisite: Wrap the main bootstrap process in a function
Introduce `ms_load_current_site_and_network`. This is used by core during the multisite bootstrap process to populate the `$current_site` and `$current_blog` globals based on a requested domain and path.

Return values from this function inform `ms-settings.php` as to whether a page view should continue, `ms_not_installed()` should fire, or a redirect to a new location should occur.

This was previously a procedural block in `ms-settings.php`. Wrapping this code and providing specific return values allows us to write tests that do not rely on the manual and repeated inclusion of `ms-settings.php`.

This should not be used by plugins or themes. Please.

See #34941.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37443 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 20:57:28 +00:00
Sergey Biryukov 8919d9a88a I18N: Move translatable Codex URLs to separate strings in `wp-includes/ms-load.php`.
Props ramiy.
Fixes #34687.
Built from https://develop.svn.wordpress.org/trunk@35668


git-svn-id: http://core.svn.wordpress.org/trunk@35632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 17:42:26 +00:00
Jeremy Felt c0a3348487 Multisite: Clarify documentation for `WP_Network::get_by_path()`.
See #31985.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35537 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-08 02:25:25 +00:00
Sergey Biryukov 80fdc4afba Don't use `<a>` in translatable string in `wp-includes/ms-load.php`.
Add translator commment.

Props ramiy.
Fixes #34506.
Built from https://develop.svn.wordpress.org/trunk@35453


git-svn-id: http://core.svn.wordpress.org/trunk@35417 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-30 09:16:25 +00:00
Drew Jaynes 217b661703 Docs: Add missing descriptions for the `$wpdb` global in DocBlocks all the places.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-14 23:44:25 +00:00
Jeremy Felt 9926983b66 Revert [34778], continue using `_site_option()` for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 17:11:25 +00:00
Jeremy Felt 54512d64cb MS: Use `*_network_option()` functions throughout core.
Replaces all uses of `*_site_option()` with the corresponding "network" function.

This excludes one usage in `wp-admin/admin-footer.php` that needs more investigation.

Props spacedmonkey.
See #28290.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 19:08:26 +00:00
Jeremy Felt fa1e1a8850 Multisite: Implement the `get_by_path` method in `WP_Network`.
Move the internals of `get_network_by_path()` to `WP_Network()` and allow network objects to be retrieved by passing a requested domain and path.

Props johnjamesjacoby, jeremyfelt, drewapicture, wonderboymusic.
See #31985.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 23:40:24 +00:00
Jeremy Felt 16b4096779 Multisite: Introduce the `WP_Network` class.
A `WP_Network` object initially matches a row from `wp_site` and is populated with additional properties used by WordPress core. The first iteration is used to retrieve an existing network based on data passed to the class.

* A network can be retrieved by its ID through `WP_Network::get_instance()`, following in the steps of `WP_Post` and `WP_Comment`.
* A network object can be created or completed by passing initial properties in as a standard object to `new WP_Network()`.

Using these methods, we are now able to populate the global `$current_site` during load via this class.

Props johnjamesjacoby, jeremyfelt, drewapicture, wonderboymusic.
See #31985.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-13 23:31:26 +00:00
Jeremy Felt 2762f019f7 Multisite: Correct `ms_not_installed()` `@since` version for new parameters
Props dimadin.
See 27264.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 16:21:26 +00:00
Jeremy Felt 7278744dd0 Multisite: Remove `$domain` and `$path` globals in `ms_not_installed()`
Further reduces the reliance on these unnecessary globals.

Fixes #27264.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33958 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 03:53:24 +00:00
Scott Taylor 4d26d999ce Fix doc blocks for `ms-*.php` files.
A few functions can return a conditional instead of an `if`/`else` of `true`/`false`.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-26 21:51:31 +00:00
Dominik Schilling 64fc7294b6 Use HTTPS URLs for codex.wordpress.org.
see #27115.
Built from https://develop.svn.wordpress.org/trunk@32116


git-svn-id: http://core.svn.wordpress.org/trunk@32095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-12 21:29:32 +00:00
Dominik Schilling 502c70ec99 Remove `<code>` tags from translatable strings.
Uncomment deprecation notice for `get_bloginfo( 'text_direction' )`, see [14360].

props ramiy, DrewAPicture.
fixes #30614.
Built from https://develop.svn.wordpress.org/trunk@31899


git-svn-id: http://core.svn.wordpress.org/trunk@31878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-26 15:17:28 +00:00
Jeremy Felt 3c4b95c1e3 Return HTTP status code 500 by default in ms_not_installed()
In admin views, specify a response code of 500 when using `wp_die()` to show an expanded message for a broken or missing multisite installation.

On front end views, use `dead_db()` rather than `die()` to generate the generic "Error establishing a database connection" message. `dead_db()` sets a status code of 500 by default and allows for the override of this generic error with a `db-error.php` template.

Props craig-ralston, jeremyfelt.

Fixes #30002.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-07 05:35:26 +00:00
Scott Taylor 5eb5afac34 For clarity, initialize some arrays that previously were only assigned via short circuit in loops.
See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-20 22:47:22 +00:00
Drew Jaynes 9955384dbe Ensure inline code is markdown-escaped as such, HTML tags are removed from summaries, and that code snippets in descriptions are properly indented.
Affects DocBlocks for the following core elements:
* Backtick-escape an HTML tag in the description for the `media_upload_mime_type_links()` hook
* Backtick-escape inline code in the description for `wp_get_active_network_plugins()`
* Remove HTML tags from the summaries for the `nav_menu_css_class`, `nav_menu_item_id`, and `nav_menu_link_attributes` hooks
* Backtick-escape HTML tags, add inline `@see` tags to parameter descriptions for the `nav_menu_css_class`, `nav_menu_item_id`, and `nav_menu_link_attributes` hooks

Props rarst.
See #30473.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30532 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 05:53:22 +00:00
Scott Taylor 05eeb16e30 Replace all uses of `like_escape()` with `$wpdb->esc_like()`.
Props miqrogroove.
See #10041.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28528 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-10 00:44:15 +00:00
Sergey Biryukov de9a9fd8ea Suggest get_current_site() as an alternative for get_current_site_name().
props jesin.
fixes #28346.
Built from https://develop.svn.wordpress.org/trunk@28573


git-svn-id: http://core.svn.wordpress.org/trunk@28398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-25 14:32:16 +00:00
Scott Taylor c96d7fff01 In `get_network_by_path()`, `$exact_domains` is unused.
See #27882.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28157 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 21:32:16 +00:00
Sergey Biryukov d711c32138 Update deleted site message in ms_site_check().
props boonebgorges.
fixes #28150.
Built from https://develop.svn.wordpress.org/trunk@28321


git-svn-id: http://core.svn.wordpress.org/trunk@28149 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 18:46:15 +00:00
Andrew Nacin e239dfad43 Multisite: Treat 'www' as a special subdomain, reversing 3.9 regression.
props jeremyfelt.
fixes #27927.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 05:32:36 +00:00
Andrew Nacin 827b92a9bd Formally deprecate wpmu_current_site().
props jeremyfelt.
fixes #27702.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27839 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 21:28:16 +00:00
Drew Jaynes a4f4744a3b Inline documentation improvements in wp-includes/ms-load.php for 3.9 functionality.
Clarifies some mixed type parameters, spacing and comment style, and language fixes.

See #27700.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 20:59:15 +00:00
Andrew Nacin 4fb0aa5ecb In get_site_by_path(), avoid passing $paths through prepare(). If a path contains a %, we end up with problems. see #27003.
Built from https://develop.svn.wordpress.org/trunk@27439


git-svn-id: http://core.svn.wordpress.org/trunk@27286 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-06 18:18:15 +00:00
Andrew Nacin 0e9ef2491c Deprecate get_current_site_name(). see #27003.
Built from https://develop.svn.wordpress.org/trunk@27407


git-svn-id: http://core.svn.wordpress.org/trunk@27254 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 06:39:21 +00:00
Andrew Nacin 0523624d31 Doc fixes for wp_get_network().
props TobiasBg.
see #27003.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27230 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-03 18:56:14 +00:00
Andrew Nacin ffc4ca7b01 Introduce get_site_by_path() and further rewrite the site detection process for multisite.
This is the first big step to supporting arbitrary domains and paths. In this new approach, sites are detected first where possible, then the network is inferred. Allows filtering for arbitrary path segments, smooths out some weirdness, and removes various restrictions. A sunrise plugin could do much of its work by adding filters, if those are even needed.

see #27003.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 22:25:14 +00:00
Mark Jaquith 79fbaf2e4c Fix a sometimes notice in wpmu_current_site()
props johnjamesjacoby. see #27003.
Built from https://develop.svn.wordpress.org/trunk@27275


git-svn-id: http://core.svn.wordpress.org/trunk@27131 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 20:53:13 +00:00
Andrew Nacin eae1d5641d Multisite: Add get_network_by_path() and wp_get_network() to begin cleanup of multisite load.
Tries to get network detection under control by simplifying wpmu_current_site(). It now also pops off each subdomain to find a more general match. Adds unit tests for get_network_by_path() and a new network factory for unit tests.

Much of this is likely to change in 3.9 as more of ms-load.php and ms-settings.php gets hacked to bits.

props jeremyfelt.
see #27003.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-13 23:07:14 +00:00
Andrew Nacin fb3985663a Remove an unnecessary variable passed to wpdb::prepare() during multisite load.
props jeremyfelt.
fixes #26941.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26949 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-02 22:09:12 +00:00
Sergey Biryukov 74f77b85a6 Use get_current_site() instead of the $current_site global when possible.
props jeremyfelt.
fixes #25158.
Built from https://develop.svn.wordpress.org/trunk@26120


git-svn-id: http://core.svn.wordpress.org/trunk@26032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-13 03:23:10 +00:00
Andrew Nacin d0cfa40983 Add jshintrc to qunit.
props jorbin.
see #25187.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-30 14:39:10 +00:00