Commit Graph

65 Commits

Author SHA1 Message Date
John Blackbourn
6bd7097626 Docs: Docblock corrections and improvements, mostly related to various pre_* filters.
See #47110


git-svn-id: https://develop.svn.wordpress.org/trunk@46232 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-21 17:40:58 +00:00
Sergey Biryukov
00b03f2a6f I18N: Capitalize translator comments consistently, add trailing punctuation.
Includes minor code layout fixes.

See #44360.

git-svn-id: https://develop.svn.wordpress.org/trunk@45932 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-03 00:39:13 +00:00
Sergey Biryukov
a7513ac8e0 I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.

Includes minor code layout fixes.

Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!

Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.

git-svn-id: https://develop.svn.wordpress.org/trunk@45926 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-01 17:12:43 +00:00
Sergey Biryukov
004ff0e1a7 I18N: Update translator comments after [45674].
See #47771.

git-svn-id: https://develop.svn.wordpress.org/trunk@45676 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-25 22:51:53 +00:00
Sergey Biryukov
ae8a620efb General: First pass at replacing Codex URLs with a corresponding HelpHub or DevHub article.
Props ianbelanger, tobifjellner, SergeyBiryukov.
See #47771.

git-svn-id: https://develop.svn.wordpress.org/trunk@45674 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-25 22:44:48 +00:00
Gary Pendergast
4503f93961 Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.



git-svn-id: https://develop.svn.wordpress.org/trunk@45590 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-02 23:41:16 +00:00
Sergey Biryukov
4de03a542e Networks and Sites: Use numbered placeholder in a mailto: link in ms_site_check().
Props diddledan.
Fixes #46849.

git-svn-id: https://develop.svn.wordpress.org/trunk@45162 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-11 20:14:22 +00:00
Felix Arntz
82be24c885 Multisite: Do not prime site meta caches unless necessary.
Props spacedmonkey.
Fixes #46357. See #46167.


git-svn-id: https://develop.svn.wordpress.org/trunk@44926 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-18 15:55:25 +00:00
Felix Arntz
0612ea2d38 Bootstrap/Load: Revert fatal error recovery mechanism from 5.1 to polish for 5.2.
Due to the high number of follow-up tickets and associated security concerns, it was decided to reschedule the fatal error recovery feature for WordPress 5.2, in order to address these issues properly. The feature will continue to be developed, with iterations being merged into trunk early in the 5.2 release cycle.

Fixes #46141. See #44458, #45932, #45940, #46038, #46047, #46068.


git-svn-id: https://develop.svn.wordpress.org/trunk@44717 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-30 11:00:30 +00:00
Felix Arntz
fc37b1746e Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard.
This changeset introduces a `WP_Shutdown_Handler` class that detects fatal errors and which extension (plugin or theme) causes them. Such an error is then recorded, and an error message is displayed. Subsequently, in certain protected areas, for example the admin, the broken extension will be paused, ensuring that the website is still usable in the respective area. The major benefit is that this mechanism allows site owners to still log in to their website, to fix the problem by either disabling the extension or solving the bug and then resuming the extension.

Extensions are only paused in certain designated areas. The frontend for example stays unaffected, as it is impossible to know what pausing the extension would cause to be missing, so it might be preferrable to clearly see that the website is temporarily not accessible instead.

The fatal error recovery is especially important in scope of encouraging the switch to a maintained PHP version, as not necessarily every WordPress extension is compatible with all PHP versions. If problems occur now, non-technical site owners that do not have immediate access to the codebase are not locked out of their site and can at least temporarily solve the problem quickly.

Websites that have custom requirements in that regard can implement their own shutdown handler by adding a `shutdown-handler.php` drop-in that returns the handler instance to use, which must be based on a class that inherits `WP_Shutdown_Handler`. That handler will then be used in place of the default one.

Websites that would like to modify specifically the error template displayed in the frontend can add a `php-error.php` drop-in that works similarly to the existing `db-error.php` drop-in.

Props afragen, bradleyt, flixos90, ocean90, schlessera, SergeyBiryukov, spacedmonkey.
Fixes #44458.


git-svn-id: https://develop.svn.wordpress.org/trunk@44524 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 20:04:55 +00:00
Sergey Biryukov
2e2fd97287 Networks and Sites: In get_site_by_path(), use single domain and path parameters if there's only one item to look for.
This should increase the chances of `WP_Site_Query::get_sites()` hitting an existing cache.

Props spacedmonkey.
Fixes #42299.

git-svn-id: https://develop.svn.wordpress.org/trunk@42698 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-11 17:08:58 +00:00
Gary Pendergast
8f95800d52 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
Felix Arntz
610db1241a 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@41718 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-03 19:26:01 +00:00
Felix Arntz
e23004c344 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@41380 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-15 11:14:49 +00:00
John Blackbourn
8df2151660 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


git-svn-id: https://develop.svn.wordpress.org/trunk@41289 602fd350-edb4-49c9-b593-d223f7449a82
2017-08-22 11:51:11 +00:00
Jeremy Felt
e06b7111e5 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@38943 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-26 03:38:48 +00:00
Jeremy Felt
0b0a009bfc Multisite: Replace get_blog_details() in ms_site_check() with get_site().
Props flixos90.
Fixes #38357.


git-svn-id: https://develop.svn.wordpress.org/trunk@38904 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-25 05:54:19 +00:00
Jeremy Felt
2979167ba7 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@38814 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-19 04:46:14 +00:00
Jeremy Felt
1d2db9eade Multisite: Clarify that get_site_by_path() does not return exact matches.
Props stevenlinx.
Fixes #38152.


git-svn-id: https://develop.svn.wordpress.org/trunk@38781 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-12 01:09:29 +00:00
Jeremy Felt
824a10a8a6 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@38681 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-30 04:09:45 +00:00
Jeremy Felt
6f62798887 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@38515 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-02 23:48:00 +00:00
John Blackbourn
5cc963a721 Docs: Correct and clarify various @since docs.
Fixes #37562


git-svn-id: https://develop.svn.wordpress.org/trunk@38201 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-04 22:53:40 +00:00
Drew Jaynes
7e52b06003 Docs: Fix formatting, tense, verb conjugation, and other syntax for wp-includes/* elements introduced or changed in 4.6.
Part 2/2.

Fixes #37318.


git-svn-id: https://develop.svn.wordpress.org/trunk@38125 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-20 19:32:05 +00:00
Sergey Biryukov
920f29616a 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@37985 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 12:39:01 +00:00
Jeremy Felt
229e0d5300 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@37930 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-30 16:58:06 +00:00
Jeremy Felt
204dedb99a Multisite: Replace wp_get_network() internals with get_network().
`get_network()` should be considered a replacement for `wp_get_network()`.

Props flixos90.
Fixes #32504.


git-svn-id: https://develop.svn.wordpress.org/trunk@37896 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 21:28:48 +00:00
Jeremy Felt
5640b2b02c Multisite: Move call of get_blog_details() inside ms_site_check().
This allows the `ms_site_check` filter or `is_super_admin()` check to return `true` before `get_blog_details()` is used.

Props danielbachhuber.
Fixes #37118.


git-svn-id: https://develop.svn.wordpress.org/trunk@37850 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-22 21:33:20 +00:00
Jeremy Felt
9bbc0df8d8 Multisite: Replace $wpdb->blog queries in get_site_by_path() with get_sites()
Props spacedmonkey, DrewAPicture.
See #35791.


git-svn-id: https://develop.svn.wordpress.org/trunk@37628 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-02 21:45:20 +00:00
Drew Jaynes
d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Jeremy Felt
757c0767f7 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@37475 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-20 20:56:54 +00:00
Sergey Biryukov
8e439f1bd0 I18N: Move translatable Codex URLs to separate strings in wp-includes/ms-load.php.
Props ramiy.
Fixes #34687.

git-svn-id: https://develop.svn.wordpress.org/trunk@35668 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 17:41:21 +00:00
Jeremy Felt
5acf79fa7e Multisite: Clarify documentation for WP_Network::get_by_path().
See #31985.


git-svn-id: https://develop.svn.wordpress.org/trunk@35573 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-08 02:24:32 +00:00
Sergey Biryukov
64bf19ba40 Don't use <a> in translatable string in wp-includes/ms-load.php.
Add translator commment.

Props ramiy.
Fixes #34506.

git-svn-id: https://develop.svn.wordpress.org/trunk@35453 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-30 09:15:42 +00:00
Drew Jaynes
0cb7c0bd9f Docs: Add missing descriptions for the $wpdb global in DocBlocks all the places.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35170 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-14 23:43:10 +00:00
Jeremy Felt
599fb50e09 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@34912 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 17:11:01 +00:00
Jeremy Felt
3c177b8c6f 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@34778 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 19:07:23 +00:00
Jeremy Felt
13dd966554 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@34099 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 23:39:20 +00:00
Jeremy Felt
591a9aa73c 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@34097 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-13 23:30:57 +00:00
Jeremy Felt
9473a479d9 Multisite: Correct ms_not_installed() @since version for new parameters
Props dimadin.
See 27264.


git-svn-id: https://develop.svn.wordpress.org/trunk@33999 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 16:20:29 +00:00
Jeremy Felt
d0706ac9ca Multisite: Remove $domain and $path globals in ms_not_installed()
Further reduces the reliance on these unnecessary globals.

Fixes #27264.


git-svn-id: https://develop.svn.wordpress.org/trunk@33989 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-10 03:52:21 +00:00
Scott Taylor
85e3befce9 Fix doc blocks for ms-*.php files.
A few functions can return a conditional instead of an `if`/`else` of `true`/`false`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32611 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-26 21:50:13 +00:00
Dominik Schilling (ocean90)
b0d6757918 Use HTTPS URLs for codex.wordpress.org.
see #27115.

git-svn-id: https://develop.svn.wordpress.org/trunk@32116 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-12 21:28:58 +00:00
Dominik Schilling (ocean90)
74874407e1 Remove <code> tags from translatable strings.
Uncomment deprecation notice for `get_bloginfo( 'text_direction' )`, see [14360].

props ramiy, DrewAPicture.
fixes #30614.

git-svn-id: https://develop.svn.wordpress.org/trunk@31899 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-26 15:16:33 +00:00
Jeremy Felt
03b4e1f0aa 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@31657 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-07 05:34:47 +00:00
Scott Taylor
218dd4fd6b For clarity, initialize some arrays that previously were only assigned via short circuit in loops.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@30982 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-20 22:46:53 +00:00
Drew Jaynes (DrewAPicture)
6007c0c17d 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@30543 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-24 05:52:45 +00:00
Scott Taylor
84ad12b439 Replace all uses of like_escape() with $wpdb->esc_like().
Props miqrogroove.
See #10041.


git-svn-id: https://develop.svn.wordpress.org/trunk@28712 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-10 00:43:32 +00:00
Sergey Biryukov
95e42909a9 Suggest get_current_site() as an alternative for get_current_site_name().
props jesin.
fixes #28346.

git-svn-id: https://develop.svn.wordpress.org/trunk@28573 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-25 14:31:16 +00:00
Scott Taylor
3f2a078f5e In get_network_by_path(), $exact_domains is unused.
See #27882.


git-svn-id: https://develop.svn.wordpress.org/trunk@28329 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-06 21:31:14 +00:00
Sergey Biryukov
18916debfd Update deleted site message in ms_site_check().
props boonebgorges.
fixes #28150.

git-svn-id: https://develop.svn.wordpress.org/trunk@28321 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-06 18:45:54 +00:00