Commit Graph

397 Commits

Author SHA1 Message Date
Sergey Biryukov 75a3e484ec Plugins: Block plugin activation if it requires a higher version of PHP or WordPress.
Introduce `validate_plugin_requirements()` for validating a plugin's WordPress and PHP version requirements.

Introduce `wp_is_wp_compatible()` and `wp_is_php_compatible()` for checking compatibility with the current WordPress or PHP version.

Props afragen, joyously, DrewAPicture, TimothyBlynJacobs, desrosj, flixos90, SergeyBiryukov.
See #43992.
Built from https://develop.svn.wordpress.org/trunk@44978


git-svn-id: http://core.svn.wordpress.org/trunk@44809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-22 00:37:50 +00:00
Felix Arntz 3a77265148 Bootstrap/Load: Introduce a recovery mode for fixing fatal errors.
Using the new fatal handler introduced in [44962], an email is sent to the admin when a fatal error occurs. This email includes a secret link to enter recovery mode. When clicked, the link will be validated and on success a cookie will be placed on the client, enabling recovery mode for that user. This functionality is executed early before plugins and themes are loaded, in order to be unaffected by potential fatal errors these might be causing.

When in recovery mode, broken plugins and themes will be paused for that client, so that they are able to access the admin backend despite of these errors. They are notified about the broken extensions and the errors caused, and can then decide whether they would like to temporarily deactivate the extension or fix the problem and resume the extension.

A link in the admin bar allows the client to exit recovery mode.

Props timothyblynjacobs, afragen, flixos90, nerrad, miss_jwo, schlessera, spacedmonkey, swissspidy.
Fixes #46130, #44458.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 21:53:51 +00:00
Felix Arntz 92c3c46abe 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-30 11:01:52 +00:00
Dominik Schilling 1c0849c2b2 I18N: Remove JSON translations when deleting a theme or a plugin.
See #29860.
Fixes #45467.
Built from https://develop.svn.wordpress.org/trunk@44675


git-svn-id: http://core.svn.wordpress.org/trunk@44506 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-21 20:41:50 +00:00
Felix Arntz 7daa39eb1d Bootstrap/Load: Change `shutdown handler` naming to final `fatal error handler` and allow disabling the handler entirely via a constant.
The `WP_Shutdown_Handler` name plus related function names were premature when originally committed, as there can be multiple shutdown handlers in PHP, and WordPress makes use of that feature. This changeset modifies the name to a more appropriate `WP_Fatal_Error_Handler`, and related to that changes the following names:

* The drop-in to override the handler is now called `fatal-error-handler.php`.
* The internal function `wp_register_premature_shutdown_handler` is now called `wp_register_fatal_error_handler()`.

In addition to these naming changes, a new constant `WP_DISABLE_FATAL_ERROR_HANDLER` is introduced that can be set in `wp-config.php` to entirely disable the fatal error handler. That constant's value is and should be accessed indirectly via a new `wp_is_fatal_error_handler_enabled()` function and is filterable via a new `wp_fatal_error_handler_enabled` hook. Note that disabling the fatal error handler will skip the new functionality entirely, including the potentially used `fatal-error-handler.php` drop-in.

The new set of constant, filter and function provide for an easier-to-use mechanism to disable the fatal error handler altogether, rather than requiring developers to implement a drop-in for purely that purpose.

Props afragen, flixos90, joyously, knutsp, markjaquith, ocean90, schlessera, spacedmonkey.
Fixes #46047. See #44458.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-21 20:15:50 +00:00
Gary Pendergast b158c806d1 Coding Standards: Remove an assignment in a conditional from `get_plugins()`.
Props subrataemfluence.
Fixes #44249.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-17 00:49:48 +00:00
desrosj 59fbee8544 Coding Standards: Assignments must be the first block of code on a line.
Props subrataemfluence.
Fixes #44225.
Built from https://develop.svn.wordpress.org/trunk@44593


git-svn-id: http://core.svn.wordpress.org/trunk@44424 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-15 02:41:50 +00:00
Gary Pendergast 0390ddad6b Docs: Improve docblocks for `_get_plugin_data_markup_translate()` and `_sort_uname_callback()`.
Props Jaydeep Rami.
Fixes #42228.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44412 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-14 06:54:49 +00:00
Gary Pendergast c008959e9e Coding Standards: Fix the minor `WordPress.WP.I18n` violations.
`WordPress.WP.I18n.MissingTranslatorsComment` is in progress in #44360.

See #45934.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-11 06:04:49 +00:00
Felix Arntz 1e4088fc98 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-09 20:05:49 +00:00
Sergey Biryukov 40cfcfc222 Privacy: Make sure `wp_add_privacy_policy_content()` does not cause a fatal error by unintentionally flushing rewrite rules outside of the admin context.
Add a `_doing_it_wrong()` message describing the correct usage of the function.

Props kraftbj, azaozz, SergeyBiryukov, YuriV.
Fixes #44142.
Built from https://develop.svn.wordpress.org/trunk@43361


git-svn-id: http://core.svn.wordpress.org/trunk@43189 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-06-28 02:36:09 +00:00
Andrew Ozz 41a82d6078 Privacy: add better docs for `wp_add_privacy_policy_content()` and `WP_Privacy_Policy_Content::add()`.
See #43620.
Built from https://develop.svn.wordpress.org/trunk@43003


git-svn-id: http://core.svn.wordpress.org/trunk@42832 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-04-25 18:10:21 +00:00
Andrew Ozz 3108d2ffb2 Privacy: add a postbox that is shown when editing the privacy policy page, and where plugins and core will output suggested content and additional privacy info. First run.
Props melchoyce, azaozz.
See #43620.
Built from https://develop.svn.wordpress.org/trunk@42980


git-svn-id: http://core.svn.wordpress.org/trunk@42809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-04-16 08:53:20 +00:00
John Blackbourn b13e73d05c Docs: Document more parameters and properties using typed array notation.
See #41756

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


git-svn-id: http://core.svn.wordpress.org/trunk@42705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 18:10:32 +00:00
Dominik Schilling 5c291d49de Pinking shears.
See #41057.
Built from https://develop.svn.wordpress.org/trunk@42843


git-svn-id: http://core.svn.wordpress.org/trunk@42673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-18 14:23:33 +00:00
John Blackbourn c9b07e6411 Docs: Standardise and correct documentation relating to parameters which accept plugin names.
See #42505

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


git-svn-id: http://core.svn.wordpress.org/trunk@42617 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-05 21:50:31 +00:00
Sergey Biryukov 3385d5b2de Docs: Expand `delete_theme()` return value, fix typo in `delete_plugins()` return value.
See #42505.
Built from https://develop.svn.wordpress.org/trunk@42778


git-svn-id: http://core.svn.wordpress.org/trunk@42608 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-04 22:07:29 +00:00
Sergey Biryukov 58592b64dc Docs: Use consistent description for `$wp_filesystem` global.
See #42505.
Built from https://develop.svn.wordpress.org/trunk@42777


git-svn-id: http://core.svn.wordpress.org/trunk@42607 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-04 21:58:30 +00:00
Sergey Biryukov 0e802a627d General: Introduce `WP_Error::has_errors()` method and use it where appropriate.
Props robdxw, DrewAPicture, SergeyBiryukov.
Fixes #42742.
Built from https://develop.svn.wordpress.org/trunk@42761


git-svn-id: http://core.svn.wordpress.org/trunk@42591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-27 02:31:31 +00:00
Drew Jaynes 6e665d1f15 Docs: Link to the "Conditional Tags" article in the Theme Developer Handbook from the descriptions for a variety of core conditional tag functions.
These notations largely serve to direct consumers (of both the source and the parsed code reference) to extended information on individual and related conditional tags throughout WordPress. The changeset also standardizes corresponding DocBlock summaries to use third-person singular verbs.

Notations been added for the following functions:

* comments_open()
* email exists()
* has_excerpt()
* has_post_thumbnail()
* has_tag()
* in_category()
* in_the_loop()
* is_404()
* is_active_sidebar()
* is_active_widget()
* is_admin()
* is_admin_bar_showing()
* is_archive()
* is_attachment()
* is_author()
* is_blog_installed()
* is_category()
* is_comments_popup()
* is_date()
* is_day()
* is_dynamic_sidebar()
* is_feed()
* is_front_page()
* is_home()
* is_local_attachment()
* is_main_query
* is_month()
* is_multi_author
* is_new_day()
* is_page()
* is_page_template()
* is_paged()
* is_plugin_active()
* is_plugin_active_for_network()
* is_plugin_inactive()
* is_plugin_page()
* is_post_type_archive()
* is_preview()
* is_rtl()
* is_search()
* is_single()
* is_singular()
* is_sticky()
* is_tag()
* is_tax()
* is_taxonomy_hierarchical()
* is_time()
* is_trackback()
* is_user_logged_in()
* is_year()
* pings_open()
* post_type_exists()
* taxonomy_exists()
* term_exists()
* username exists()
* wp_attachment_is_image()
* wp_script_is()

Props janalwin.
Fixes #43254.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42538 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-13 16:54:31 +00:00
Sergey Biryukov 986e46d2c0 Docs: Add missing `@since` tags for add menu page functions.
Props keesiemeijer.
Fixes #42882.
Built from https://develop.svn.wordpress.org/trunk@42394


git-svn-id: http://core.svn.wordpress.org/trunk@42223 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-15 00:15:52 +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
Dion Hulse 28677d382d Theme/Plugin Editor: Remove the caching added in [41806] as it causes more problems than it fixes.
While caching here seemed like a good idea in theory, in practice the cache would be often stale causing development issues.
We exclude common folders (such as `node_modules`) from the scanning to avoid directories which are not useful to the end-user, so as long as those exclusion lists are held up this shouldn't cause too much of a degredation in the future.
We may consider adding caching here again in the future if it's determined that it is really needed.

Props precies, ibenic, mariovalney, schlessera, and all the others who commented on the ticket(s).
This partually reverts [41806].
See #6531.
Fixes #42573.

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


git-svn-id: http://core.svn.wordpress.org/trunk@42071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-27 02:59:47 +00:00
Weston Ruter 3609d0c4c5 Plugin Editor: Revert superseded changes to `activate_plugin()` and `plugin_sandbox_scrape()`.
Partially revert [41671], [41561], [41560].
See #21622.
Fixes #39766.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41653 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-11 00:03:48 +00:00
Gary Pendergast 58db3cb54e File Editor: Add support for more than one sub-directory level.
The theme and plugin editors now list all files in the selected theme or plugin, recursing through subdirectories as necessary.

Props WraithKenny, schlessera, chsxf, MikeHansenMe, Daedalon, valendesigns, westonruter, pento.
Fixes #6531.


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


git-svn-id: http://core.svn.wordpress.org/trunk@41640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-10 05:34:49 +00:00
John Blackbourn f4f31bc598 Plugins: Introduce a singular and plural form for the plugin deletion error message.
Props eddhurst, SergeyBiryukov

Fixes #38918

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


git-svn-id: http://core.svn.wordpress.org/trunk@41547 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-03 17:13:46 +00:00
Weston Ruter 31647252e7 Plugin Editor: Remove `plugins_loaded` from being re-triggered in `plugin_sandbox_scrape()`.
Props jdgrimes.
Amends [41560].
Fixes #39766.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-02 17:07:49 +00:00
Weston Ruter bf1eb1b505 Plugin Editor: Use `include_once` instead of `include` in `plugin_sandbox_scrape()` to fix unit tests broken with [41560].
See #39766.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-22 02:01:45 +00:00
Weston Ruter aff467e1cb Plugin Editor: Improve reliability of detecting PHP fatal errors when editing an active plugin.
* Invalidate PHP opcache after file is updated to ensure `include` will ''include'' the written changes.
* Define `WP_ADMIN` when activating plugin in sandbox so plugin code targeting admin will be loaded.
* Do actions that get triggered when loading the admin to ensure plugin code runs that could cause errors on plugin editor screen (and lock out access).
* Fix ability to re-activate a plugin after editing a PHP file other than the main plugin file, and ensure PHP fatal error will be displayed in such cases.
* Consolidate duplicated code into `plugin_sandbox_scrape()` and re-use in `activate_plugin()`.
* Show an error notice instead of a success notice when a file is updated but a plugin was deactivated due to a fatal error.
* Update style of warning when editing an active plugin to be styled as an actual warning notice.

See #12423, #21622.
Fixes #39766.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-22 01:36:48 +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
Drew Jaynes d829ec4cf2 Docs: Provide best practice guidance for achieving parity between `$menu_slug` values supplied when adding menu and submenu pages, and later trying to compare those initial values against sanitized screen IDs derived from `$menu_slug`.
At the heart of the matter, the `$menu_slug` parameter in `add_menu_page()` and `add_submenu_page()` is not sanitized with `sanitize_key()`. When the screen object is later built for the admin page, the screen ID is derived from that `$menu_slug` value, though passed through `sanitize_key()`, which can produce unexpected results in comparison check.

Changing the sanitization code to provide actual parity is out of the question at this juncture, so updating the docs to describe how to avoid this edge case is the next best option.

Props GregRoss.
Fixes #35305.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40817 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-06-30 04:18:43 +00:00
Sergey Biryukov 327a11ad65 Docs: Use a consistent description for `$plugin` parameter in various plugin API functions.
See #36333.
Built from https://develop.svn.wordpress.org/trunk@39890


git-svn-id: http://core.svn.wordpress.org/trunk@39827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-12 06:16:41 +00:00
Sergey Biryukov a989f0b168 Docs: Improve the DocBlock for `validate_plugin()`.
Props theMikeD.
Fixes #36333.
Built from https://develop.svn.wordpress.org/trunk@39889


git-svn-id: http://core.svn.wordpress.org/trunk@39826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-12 06:15:42 +00:00
John Blackbourn 4548b08236 General: Use interpolation instead of concatenation for all dynamic hook names.
This fixes the rendering of the hook names on developer.wordpress.org.

Props keesiemeijer
Fixes #39148

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


git-svn-id: http://core.svn.wordpress.org/trunk@39540 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-12-14 04:18:42 +00:00
Ryan McCue 7cd7c828cc Options: Move register_setting() from wp-admin to wp-includes.
With [38635], register_setting is now a more generic setting registration function and is usable outside of the admin.

See #37885.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38630 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-30 15:53:29 +00:00
Ryan McCue e53b79b726 Options: Add missing since for register_setting argument.
[38635] added support for extra arguments on registration, but was not documented.

See #37885.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-29 21:12:27 +00:00
Joe Hoyle 2ec9f4b369 Options: Build out register_setting like register_meta.
`register_setting` can now be passed an array arguments to specify meta-data about the setting,
much like using the `register_meta` API. Of note, it will now accept a `show_in_rest` arg to
hint the inclusion of the setting in the REST API. `get_registered_settings()` is available
as a utility to get all registered settings.

Props rmccue, aaroncampbell.
Fixes #37885.



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


git-svn-id: http://core.svn.wordpress.org/trunk@38578 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-20 20:52:28 +00:00
Drew Jaynes 22adda2aa0 Hooks: Standardize naming of dynamic hooks to use interpolation vs concatenation.
Benefits gained in discoverability and self-documentation throughout core trump the negligible performance hit in using interpolation in hook names.

Props ramiy.
See #37748.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-22 18:25:31 +00:00
Dominik Schilling e4abc1ecbf Filesystem API: Output buffering for `request_filesystem_credentials()` should wrap the function directly.
Previously `ob_end_clean()` was only called when the previous condition was successful which led to unexpected results when another output buffering was involved, like PHPUnit's.

Fixes #37488.
Built from https://develop.svn.wordpress.org/trunk@38167


git-svn-id: http://core.svn.wordpress.org/trunk@38108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-27 17:11:56 +00:00
Sergey Biryukov 48f9940cfc I18N: Change unnecessary uppercased words in `WP_Upgrader::generic_strings()` to lower case.
See #18218.
Built from https://develop.svn.wordpress.org/trunk@38074


git-svn-id: http://core.svn.wordpress.org/trunk@38015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-17 13:29:29 +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
Dominik Schilling 1244eaff8f Plugins: Fix order of arguments for the `strpos()` function added in [37562].
See #36706.
Built from https://develop.svn.wordpress.org/trunk@37580


git-svn-id: http://core.svn.wordpress.org/trunk@37548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-26 23:15:31 +00:00
Dominik Schilling 6b51ac4956 Plugins: In `get_plugin_data()` use the plugin slug for the text domain when no text domain is defined in the header.
Fixes #36706.
Built from https://develop.svn.wordpress.org/trunk@37562


git-svn-id: http://core.svn.wordpress.org/trunk@37530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-25 16:54:28 +00:00
Drew Jaynes 1947f4d17c Docs: Apply inline `@see` tags to hooks referenced in DocBlocks for wp-admin/* files.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-23 17:28:27 +00:00
Drew Jaynes a54c2a7279 Docs: Remove/replace invalid inline `@link` tags from DocBlocks in wp-admin/includes/*.
See #36910.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37453 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 17:22:27 +00:00
Drew Jaynes b1804afeaf Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs.
Also use 'back-compat' in some inline comments where backward compatibility is the subject and shorthand feels more natural.

Note: 'backwards compatibility/compatibile' can also be considered correct, though it's primary seen in regular use in British English.

Props ocean90.
Fixes #36835.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-13 18:41:31 +00:00
Drew Jaynes fe3b007fdd Docs: Remove inline `@see` tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-02 04:00:28 +00:00
Dominik Schilling 697a6d5560 Plugins: In `uninstall_plugin()` pass the plugin file to `wp_register_plugin_realpath()`.
`wp_register_plugin_realpath()` calls `dirname( $file );` to remove the basename. The basename must be included in the argument or the symlinked directory won't be registered.

Props andy.
Fixes #36709.
Built from https://develop.svn.wordpress.org/trunk@37331


git-svn-id: http://core.svn.wordpress.org/trunk@37297 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-30 15:04:27 +00:00
Drew Jaynes 9b531bb473 Docs: Minorly improve the hook doc summary for the `pre_uninstall_plugin` action, introduced in [36124].
See #34569. See #35986.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36791 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 08:58:26 +00:00
Eric Lewis d01e8db4ad Plugins: Clarify that mu-plugins can't be "active" in docs.
Plugins installed in the plugins/ folder can be activated by users. This puts the plugin in an "active" state. Plugins in the mu-folder/ are "must-use" plugins that are always loaded. They can't be activated, and thereby can't be "active." Because of this, using the `is_plugin_active()` or `is_plugin_active_for_network()` returns false when checking for these plugins. This clarifies that behavior in the functions' docs.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36364 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-26 00:32:27 +00:00
Dominik Schilling 0a6f311922 Plugins: In `_get_plugin_data_markup_translate()` remove the fallback to the "default" textdomain for Akismet.
Akismet has its own language files since WordPress 3.9.

Props jrf.
Fixes #35436.
Built from https://develop.svn.wordpress.org/trunk@36283


git-svn-id: http://core.svn.wordpress.org/trunk@36250 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-13 13:56:26 +00:00
Dominik Schilling a51129c2a6 Plugins: In `_get_plugin_data_markup_translate()` don't reload translations if they're already loaded.
Props jrf.
Fixes #35439.
Built from https://develop.svn.wordpress.org/trunk@36282


git-svn-id: http://core.svn.wordpress.org/trunk@36249 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-13 13:04:27 +00:00
Pascal Birchler 7e516f5cf8 Plugins: Add a new `pre_uninstall_plugin` action that runs right before uninstalling a plugin.
Fixes #34569.
Built from https://develop.svn.wordpress.org/trunk@36124


git-svn-id: http://core.svn.wordpress.org/trunk@36090 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-30 22:38:26 +00:00
Drew Jaynes 5a69733045 Docs: Properly mark the optional `$redirect`, `$network_wide`, and `$silent` parameters as such in the DocBlock for `activate_plugin()`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@36037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-23 07:00:27 +00:00
Pascal Birchler 54b8c3e53b Docs: Fix some minor DocBlock alignment issues.
See #32246.
Built from https://develop.svn.wordpress.org/trunk@35885


git-svn-id: http://core.svn.wordpress.org/trunk@35849 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-12 15:37:28 +00:00
Pascal Birchler 1294c2bc3a Admin Menu: Deprecate `add_object_page()` and `add_utility_page()`.
These functions are not used in core and are just wrappers for `add_menu_page()`.

Fixes #23108.
Built from https://develop.svn.wordpress.org/trunk@35874


git-svn-id: http://core.svn.wordpress.org/trunk@35838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-11 22:12:26 +00:00
Sergey Biryukov 60c8e272f5 Docs: Improve DocBlock formatting for `add_menu_page()` and `add_submenu_page()` wrappers.
See #34360.
Built from https://develop.svn.wordpress.org/trunk@35731


git-svn-id: http://core.svn.wordpress.org/trunk@35695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-23 17:56:26 +00:00
Drew Jaynes 283b7d0a66 Plugins: Rename the `delete_plugin` action hook (introduced in [35094]) to `deleted_plugin` as it fires ''following'' a plugin deletion attempt.
Further, introduce a new `delete_plugin` action hook, to be fired ''before'' a plugin deletion attempt. Both changes bring parity with other such transactional hooks in core that fire before and after certain actions, including on plugin activation/deactivation and install/uninstall, among others.

Props johnjamesjacoby.
Fixes #26904.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 17:58:26 +00:00
Drew Jaynes 6b14ca9407 Docs: Fix two notations for the `$_wp_real_parent_file` global, which is an array.
Props NExt-Season.
Fixes #34443.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-03 20:13:26 +00:00
Scott Taylor 35dd8003b0 Admin Menu: allow more than one menu item to be added at the same priority/position.
Props chriscct7.
Fixes #23316.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-31 20:31:24 +00:00
Sergey Biryukov dcf2676b16 Docs: Use consistent naming and capitalization of menu names in `add_submenu_page()` wrappers.
Props atomicjack, Mckilem.
Fixes #34360.
Built from https://develop.svn.wordpress.org/trunk@35373


git-svn-id: http://core.svn.wordpress.org/trunk@35337 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-23 12:02:24 +00:00
Drew Jaynes bcc7f8d079 Plugins: Introduce the `delete_plugin` transactional hook, which fires immediately after a plugin deletion attempt occurs.
Props Veraxus for the initial patch.
Fixes #26904.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-13 00:57: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
Drew Jaynes 0b332f6d7a Docs: Add missing DocBlock summaries to three functions in wp-admin/includes/plugin.php.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34790 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-05 02:55:24 +00:00
Drew Jaynes 6650dfea4f Docs: Document the plugin data array returned by `get_plugin_data()` with a hash-notation.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34783 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-04 19:06:27 +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
John Blackbourn aa35e473f7 `callback` is not a valid type in PHP, PSR-5, or phpDocumentor. `callable` should be used instead.
Fixes #34032

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


git-svn-id: http://core.svn.wordpress.org/trunk@34530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 23:58:25 +00:00
Dominik Schilling d1bdd59183 Don't use `<code>` in translation strings in `wp-admin/includes/plugin.php`.
Props ramiy.
Fixes #31856.
Built from https://develop.svn.wordpress.org/trunk@34314


git-svn-id: http://core.svn.wordpress.org/trunk@34278 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 20:29:26 +00:00
Scott Taylor a1d949f361 Move `plugin_sandbox_scrape()` from `wp-admin/plugins.php` to `wp-admin/includes/plugin.php`.
See #33813.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 21:24:24 +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 8b1286417e `ob_get_contents()` followed by `ob_end_clean()` can be replaced by `ob_get_clean()`.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:12:24 +00:00
Drew Jaynes e9758d4e48 Fix a typo in the DocBlock for `get_plugins()`.
Props onnimonni, swissspidy.
Fixes #32758.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32898 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-24 12:22:27 +00:00
Scott Taylor 00de0e6341 In `unregister_setting()`, search for `$option_name` in a segment of `$new_whitelist_options` keyed by `$option_group`.
Props nofearinc.
Fixes #26479.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32876 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-22 20:51:26 +00:00
Scott Taylor 42d51a4f89 Add doc blocks to functions that are missing them.
If the function has no need for `@param` or `@return`, do an archeaological dig to find `@since`.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32642 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-31 03:18:25 +00:00
Scott Taylor a51dfa3971 In the style of #30947 and `default-filters.php`, add 2 new files to `wp-admin/includes`:
`admin-filters.php`
`ms-admin-filters.php`

There are random actions and filters littered among files like `misc.php`. These files contain functions that won't work outside of admin context and are typically only loaded in files that have already loaded the admin bootstrap.

See #32529.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 17:04:26 +00:00
Scott Taylor 282e28ad81 Add `@global` annotations to (the rest of the?) `wp-admin/*` files.
Does not include list table file changes.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 02:06:31 +00:00
Scott Taylor b56b9b3e5c Add `@global` annotations for `wp-admin/*`.
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-28 21:41:30 +00:00
Dion Hulse 2ba7f3da75 Allow plugins to activate other plugins within their Activation hook. Fixes #32368
Built from https://develop.svn.wordpress.org/trunk@32504


git-svn-id: http://core.svn.wordpress.org/trunk@32474 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-14 06:58:27 +00:00
Drew Jaynes e7e93f50cf Add a missing `@return` tag to the DocBlock for `uninstall_plugin().
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32311 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-04 01:08:27 +00:00
Scott Taylor 0f6d0b84d1 Remove unused local vars in `delete_plugins()`, `delete_theme()`, `WP_Date_Query->validate_date_values()`, `global_terms()`, and `WP_Text_Diff_Renderer_Table->_changed()`.
This will clear out the "Unused Code" label in the next Scrutinizer report.

See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 21:19:22 +00:00
Scott Taylor 8ee598169f After [31105], don't ditch the `isset()` calls for BC. Declare `$page_hook` as `null` so it is initialized for all execution paths but will still fail `isset()` checks.
Fixes #30958.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31087 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 22:52:22 +00:00
Scott Taylor 60e1dd409b Properly declare `$hook_suffix`, `$plugin_page`, `$typenow`, and `$taxnow` as globals in `wp-admin/admin.php`.
Fixes #30958.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31086 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 22:15:24 +00:00
Scott Taylor 383a5c6c24 In `wp-includes/plugin.php`, collapse 3 `else-newline-tab-if` statements.
See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31072 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:13:24 +00:00
Scott Taylor 60b0cd7943 The keyword `elseif` should be used instead of `else if` so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00
Andrew Nacin bc60e63518 Use correct function name in docs for get_plugin_data().
props eliorivero.
fixes #30699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-31 08:08:22 +00:00
Boone Gorges 95dba4c8c0 When no plugins are active, return an empty array from `validate_active_plugins()`.
This creates parity with the behavior of the function when plugins *are* active,
but none are invalid. It also makes it possible to write unit tests for the
function.

Props sgrant.
Fixes #30860.
Built from https://develop.svn.wordpress.org/trunk@31003


git-svn-id: http://core.svn.wordpress.org/trunk@30984 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-30 19:31:22 +00:00
Scott Taylor 67417897ec Improve the `@param` docs for `src/wp-admin/includes/plugin.php`.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 22:23:23 +00:00
Drew Jaynes 78bb3e5ff5 Docs Formatting: Backtick-escape inline code for all dynamic hook docs in wp-admin/includes/*.
Also adds a few inline `@see` cross-references as they apply.

Affects DocBlocks for the following hooks:
* `views_{$this->screen->id}`
* `bulk_actions-{$this->screen->id}`
* `manage_{$this->screen->id}_sortable_columns`
* `theme_action_links_$stylesheet`
* `after_theme_row_$stylesheet`
* `install_plugins_table_api_args_$tab`
* `$prefix . plugin_action_links`
* `after_plugin_row_$plugin_file`
* `manage_taxonomies_for_{$post_type}_columns`
* `manage_{$post_type}_posts_columns`
* `manage_{$post->post_type}_posts_custom_column`
* `{$taxonomy}_row_actions`
* `manage_{$this->screen->taxonomy}_custom_column`
* `install_themes_table_api_args_' . $tab`
* `auto_update_ . $type`
* `{$action}_prefilter`
* `admin_head_{$content_func}`
* `nav_menu_items_{$post_type_name}`
* `activate_ . $plugin`
* `deactivate_ . $plugin`
* `edit_{$post_type}_per_page`
* `postbox_classes_{$page}_{$id}`
* `_wp_post_revision_field_$field`
* `manage_{$screen->id}_columns`
* `in_plugin_update_message-{$file}`
* `in_theme_update_message-{$theme_key}`

See #30552.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 11:28:24 +00:00
Drew Jaynes 188e47869f 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:
* Markdown-indent a code snippet in the description for `wp_salt()`
* Backtick-escape inline code in the return description for `get_avatar()`
* Various markdown formatting in the description for `add_filter()`
* Markdown-indent a code snippet in the description for `apply_filters()`
* Backtick-escape inline code in the `@see` description for `apply_filters_ref_array()`
* Backtick-escape inline code in the description for `do_action()`
* Backtick-escape variables in the parameter and return descriptions for `do_action_ref_array()`
* Various markdown formatting in the description for `get_plugin_data()`

Props rarst.
See #30473.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 06:05:23 +00:00
Scott Taylor 37f94bdfd0 Fill in the `@param` types for the args for functions missing them in `wp-admin/includes/plugin.php`.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-03 05:59:22 +00:00
Sergey Biryukov 2c8e435aa5 Fix copy/paste errors in [27769].
props Corphi.
fixes #30054.
Built from https://develop.svn.wordpress.org/trunk@29977


git-svn-id: http://core.svn.wordpress.org/trunk@29723 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-20 21:35:18 +00:00
Dominik Schilling 57c41263d7 Language packs: Remove translations when deleting a theme or a plugin.
This is for translation files in WP_LANG_DIR which are installed through a language pack.
Change `wp_get_installed_translations()` to only return a translation if the .mo file also exists.

fixes #29860.
Built from https://develop.svn.wordpress.org/trunk@29856


git-svn-id: http://core.svn.wordpress.org/trunk@29619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-08 19:05:20 +00:00
Scott Taylor 59ef20d458 In `activate_plugin()`, do not re-run the activation routine for already-active network-wide plugins.
Adds unit test.

Props jbrinley.
Fixes #28651.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-02 15:56:14 +00:00
Mark Jaquith e1f2b3b9e2 Use HTTPS URLs for trac.wordpress.org (and use core.trac.wordpress.org)
see #27115
Built from https://develop.svn.wordpress.org/trunk@29789


git-svn-id: http://core.svn.wordpress.org/trunk@29561 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 13:37:16 +00:00
Sergey Biryukov ab3ce81661 In add_submenu_page(), avoid inadvertently copying classes of a menu item to the first submenu item.
fixes #28936.
Built from https://develop.svn.wordpress.org/trunk@29326


git-svn-id: http://core.svn.wordpress.org/trunk@29107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-29 16:08:16 +00:00
Drew Jaynes 097dc8ee15 Fix syntax for single- and multi-line comments in wp-admin-directory files.
See #28931.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-17 09:14:16 +00:00
Sergey Biryukov 26d0ad5e12 Remove redundant 'Visit author homepage' title attributes for plugins and themes.
props joedolson.
fixes #26554.
Built from https://develop.svn.wordpress.org/trunk@28673


git-svn-id: http://core.svn.wordpress.org/trunk@28491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-05 04:52:16 +00:00
Sergey Biryukov ee9d9133ac Avoid stomping of the $plugin variable in activate_plugin().
fixes #28102.
Built from https://develop.svn.wordpress.org/trunk@28644


git-svn-id: http://core.svn.wordpress.org/trunk@28462 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-30 22:08:14 +00:00
Scott Taylor b9afafffe3 `hackificator` complains if you call `include 'file.php'` without the parens, needs to be `include( 'file.php' )`
See #27881.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28306 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 20:52:15 +00:00
Sergey Biryukov 751e624ff7 Deprecate unused argument of delete_plugins(). Clarify @return value.
props jdgrimes for initial patch.
fixes #28111.
Built from https://develop.svn.wordpress.org/trunk@28256


git-svn-id: http://core.svn.wordpress.org/trunk@28084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-05 10:24:15 +00:00
Andrew Nacin f9964e361c Fix docs for hooks in deactivate_plugins() and activate_plugin(). see #27189, #27188.
Built from https://develop.svn.wordpress.org/trunk@27769


git-svn-id: http://core.svn.wordpress.org/trunk@27606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-27 02:02:14 +00:00
Drew Jaynes a271ca696b Fix docs for the `deactivate_$plugin` and `deactivated_plugin` hooks.
Props wpsmith for the original patch.
Fixes #27189

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


git-svn-id: http://core.svn.wordpress.org/trunk@27335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-10 21:34:17 +00:00
Dominik Schilling 3e356d7bdf Admin Menu: Set default value of `$icon_url` in `add_menu_page()` to `dashicons-admin-generic`, fixes #26630.
Built from https://develop.svn.wordpress.org/trunk@27482


git-svn-id: http://core.svn.wordpress.org/trunk@27326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 11:13:13 +00:00
Andrew Nacin 5f0981788d Detect and handle symlinking of plugins in plugin_basename().
props rmccue, MikeSchinkel, jdgrimes.
see #16953.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-10 23:00:15 +00:00
Dominik Schilling 496c05f1e9 Remove unused code. props nofearinc. fixes #26205.
Built from https://develop.svn.wordpress.org/trunk@27033


git-svn-id: http://core.svn.wordpress.org/trunk@26909 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-26 00:12:11 +00:00
Sergey Biryukov 0ddaa76f3e Use correct example of a Dashicons helper class in add_menu_page() and register_post_type() docs.
props Rarst.
fixes #26617 for trunk.
Built from https://develop.svn.wordpress.org/trunk@26884


git-svn-id: http://core.svn.wordpress.org/trunk@26767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-31 10:33:11 +00:00
Drew Jaynes cd8cedc40d First there were two, and now there are three -- in the @since versions that came before and that shall be. And so it will be, says nacin.
Props JustinSainton, SergeyBiryukov, DrewAPicture.
Fixes #26713.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-24 18:57:12 +00:00
Ryan Boren 07c16fd23c The Pinking Shears stir from their slumber, awakened by what may seem, to those
innocent in the ways of The Shears, a triviality, a nothing-of-consequence. But there are consequences indeed for recklessly trailing your whitespace. Naturally, they a dire!

One, two! One, two! And through and through
The Pinking Shears went snicker-snack!
They plucked your tail and with your space
They went sniksnuking back.

Let me tell you, that can be uncomfortable, so always pre-sniksnuk your trailing whites. May The Shears be with you.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-11 19:49:11 +00:00
Andrew Nacin 9b29ad0529 Allow for Dashicons and base64-encoded data:image/svg+xml URIs when specifying menu icons.
Both of these icons can be colored to match the color scheme, including hover states.
Both are accepted for register_post_type()'s menu_icon argument, and also add_menu_page()'s $icon_url argument.

To use a Dashicon, pass the name of the helper class, e.g. 'dashicons-piechart'.
To use an SVG, pass a valid data URI string starting with 'data:image/svg+xml;base64,'.

props helen.
fixes #25147.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26554 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 06:38:09 +00:00
Andrew Nacin c4f7821a16 Use current_user_can('manage_network_plugins') in validate_active_plugins() instead of is_super_admin().
props jdgrimes.
fixes #26068.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26480 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-03 21:12:10 +00:00
Dion Hulse 578469fb12 Add braces around a conditional hook. This wasn't causing an issue as `if ( conditional ) /* multiline comment */ command();` is perfectly OK, but left open doubt and potential future bugs. See #25229
Built from https://develop.svn.wordpress.org/trunk@26509


git-svn-id: http://core.svn.wordpress.org/trunk@26403 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-01 23:13:09 +00:00
Dion Hulse f29b2e02ac Plugin Deletion: Properly clear the cache when multiple plugins are deleted. Props jdgrimes. Fixes #26065
Built from https://develop.svn.wordpress.org/trunk@26262


git-svn-id: http://core.svn.wordpress.org/trunk@26168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-19 04:08:09 +00:00
Andrew Nacin 70fd806759 Revert r25824:25875 from the core.svn.wordpress.org repository.
These commits were accidentally re-synced commits from develop.svn.wordpress.org due to a race condition. Thankfully, the history of this repository matters fairly little. It also happened only for trunk.


git-svn-id: http://core.svn.wordpress.org/trunk@25876 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-25 02:29:52 +00:00
Andrew Nacin 8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

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


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Ryan Boren b87d4b77e5 Pinking shears
Built from https://develop.svn.wordpress.org/trunk@25880


git-svn-id: http://core.svn.wordpress.org/trunk@25792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 14:38:10 +00:00
Sergey Biryukov e6cef58106 Clean up the documentation for hooks in wp-admin/includes/plugin.php.
props DrewAPicture.
see #25229.
Built from https://develop.svn.wordpress.org/trunk@25482


git-svn-id: http://core.svn.wordpress.org/trunk@25403 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-18 19:36:09 +00:00
Sergey Biryukov 31ddfcca58 Correct @since for hooks in wp-admin/includes/plugin.php. see #25229.
Built from https://develop.svn.wordpress.org/trunk@25477


git-svn-id: http://core.svn.wordpress.org/trunk@25398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-18 11:58:10 +00:00
Peter Westwood 8f621ffc78 Inline documentation for hooks in wp-admin/includes/plugin.php
See #25229 props dllh

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


git-svn-id: http://core.svn.wordpress.org/trunk@25395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-18 07:38:12 +00:00
Dion Hulse 443aa35cfc Upgrader: Make clearing the Plugin and Theme update caches optional during install and upgrade proceedures. See #22704
Built from https://develop.svn.wordpress.org/trunk@25272


git-svn-id: http://core.svn.wordpress.org/trunk@25238 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-06 01:33:09 +00:00
Dion Hulse 46daa240b9 Sanitize the plugin path in `_get_plugin_data_markup_translate()` to a WP_PLUGIN_DIR-relative path. The function is designed in mind for receiving relative paths, but may be used with a absolute path.
This change makes the function path-agnostic, and can accept either relative or absolute (converting to relative internally). Fixes #20813

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


git-svn-id: http://core.svn.wordpress.org/trunk@25066 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-22 04:03:09 +00:00
Andrew Nacin 55b3c67413 Revert [23394] until there is a consensus on target="_blank" (or not) for these external links. see #20839.
git-svn-id: http://core.svn.wordpress.org/trunk@24583 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-08 13:04:07 +00:00
Helen Hou-Sandí 1c816c795b Open external links to plugin homepages, plugin author homepages, and theme author homepages in a new window/tab. props SergeyBiryukov. fixes #20839.
git-svn-id: http://core.svn.wordpress.org/trunk@23394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-08 16:20:01 +00:00
Helen Hou-Sandí b1f1579604 its <=> it's in documentation, along with a rogue the, The, and looses. props trepmal. fixes #22665.
git-svn-id: http://core.svn.wordpress.org/trunk@23191 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-20 15:55:32 +00:00
Andrew Nacin 9fadd65859 HiDPI versions of the generic menu page icon. props empireoflight, lessbloat. see #21019.
git-svn-id: http://core.svn.wordpress.org/trunk@22393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-06 00:25:18 +00:00
Andrew Ozz b443373e8e Admin menu: add phpdoc/inline comments describing the usage of the param $icon_url in add_menu_page(), add string 'none' to be used when a menu icon is added from CSS, switch core items in the admin menu to use 'none', fixes #21349
git-svn-id: http://core.svn.wordpress.org/trunk@21877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-16 22:51:44 +00:00
Andrew Nacin 7fd32ab9fc Fold Privacy Settings into Reading Settings, moving blog_public (search engine/robots) to options-reading and removing options-privacy.
When blog_public only has two values (as judged by whether the blog_privacy_selector action is used), convert from radio buttons to a checkbox, and rename from 'Site Visibility' to a more specific 'Search Engine Visibility'.

The text and implementation may change a bit. see #16416.



git-svn-id: http://core.svn.wordpress.org/trunk@21838 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-13 17:28:57 +00:00
Andrew Nacin 1080c1e4ee Use the key we found using array_search() to unset it from the array. props hakre. fixes #16562.
git-svn-id: http://core.svn.wordpress.org/trunk@21812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 02:12:34 +00:00
Ryan Boren c55cf716da Use set_url_scheme(). Props johnbillion, MarcusPope. see #19037 #20759
git-svn-id: http://core.svn.wordpress.org/trunk@21664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-30 13:33:00 +00:00
nacin dcb200efc9 Fix order of @param's for deactivate_plugins(). props Viper007Bond, fixes #21269.
git-svn-id: http://core.svn.wordpress.org/trunk@21291 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-07-20 15:09:40 +00:00
nacin efb07c689e Back compat for plugins looking for networkwide=1 during a plugin activation hook.
Proper way to detect this: An activation hook callback receives (bool) $network_wide as the first argument.

see #20995 for trunk.



git-svn-id: http://core.svn.wordpress.org/trunk@21104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-25 19:32:34 +00:00
nacin e098306abe Correct logic in deactivate_plugins() where network_wide = null. props SergeyBiryukov. fixes #20497.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20555 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-21 00:45:53 +00:00
nacin c23bf21079 Clean up plugins.php with regards to recently edited files, deactivations, and the network admin. see #20468, #20104.
* Limit recently_activated to the site dashboard, and properly remove bulk-activated plugins from the array.
 * Remove code used from before the network admin, such as the unused 'network' plugin_status.
 * Don't try to deactivate a plugin already deactivated.
 * Use more specific caps (manage_network_plugins) rather than is_super_admin().



git-svn-id: http://svn.automattic.com/wordpress/trunk@20525 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-19 03:41:29 +00:00
nacin 3184f9891a Clean up get_plugin_data() and _get_plugin_data_markup_translate(), and standardize sanitization. fixes #20266.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20229 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-20 23:04:59 +00:00
nacin 4a9e14a011 Allow bundled plugin headers to be translated. see #19597.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19965 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-21 15:26:08 +00:00
ryan e3b46b25d3 Lose EOF ?>. Clean up EOF newlines. fixes #12307
git-svn-id: http://svn.automattic.com/wordpress/trunk@19712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-08 17:01:11 +00:00
ryan 83b131f8e3 User lowercase true, false, null instead of uppercase. Props c3mdigital, mfields. fixes #16302
git-svn-id: http://svn.automattic.com/wordpress/trunk@19687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-05 20:50:54 +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
ryan 340e93324c Remove extraneous spaces. Props kenan3008, dimadin. fixes #19501 #19433
git-svn-id: http://svn.automattic.com/wordpress/trunk@19596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-12-14 17:36:38 +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
duck_ ba7651277e Revert r18887 due to back compat issues. Fixes #18914.
For example 'intval' couldn't be used as a sanitisation callback.


git-svn-id: http://svn.automattic.com/wordpress/trunk@18951 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-12 16:35:33 +00:00
markjaquith bc3fc076e1 Pass both parameters to the sanitize_option_FOO callback set in register_setting(). props lumination. fixes #15335
git-svn-id: http://svn.automattic.com/wordpress/trunk@18887 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-10-05 17:48:41 +00:00
nacin 9a023b8378 Document that add_submenu_page() might return false if ! current_user_can(). see #17677.
git-svn-id: http://svn.automattic.com/wordpress/trunk@18136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-06-03 23:30:46 +00:00
ryan 3fc5956921 s/seperator/separator/. Props brandonburke. fixes #17610
git-svn-id: http://svn.automattic.com/wordpress/trunk@18084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-05-31 19:58:36 +00:00
dd32 efa709d1b5 Move closedir() to better locations to prevent the need for error suppression, prevents suppressed Warnings/Notices to be thrown during Plugin Installation. Fixes #16547
git-svn-id: http://svn.automattic.com/wordpress/trunk@17617 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-04-07 09:07:56 +00:00
nacin 49887cdd9a Offer the standard tags for the plugin name datapoint. props Kawauso, fixes #16241.
git-svn-id: http://svn.automattic.com/wordpress/trunk@17310 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-01-15 07:26:45 +00:00
nacin 48c84b91de Remove a random nacin typo introduced in 3.0. see [12976], #16055.
git-svn-id: http://svn.automattic.com/wordpress/trunk@17196 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-31 23:58:02 +00:00
ryan 587ea006b5 Translations in title attributes require esc_attr().
git-svn-id: http://svn.automattic.com/wordpress/trunk@17102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-21 17:17:58 +00:00
scribu 1474c1a64a Add @return to add_*menu_page() docs. Fixes #15747
git-svn-id: http://svn.automattic.com/wordpress/trunk@16831 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-09 06:54:48 +00:00
nacin adbcaa8019 Fix menu_page_url() for submenu pages attached to custom menu pages. props duck_, see #14159.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16829 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-09 04:02:37 +00:00
nacin 99d02e7d54 Set AuthorName even when no translation or markup is processed. see #15662.
git-svn-id: http://svn.automattic.com/wordpress/trunk@16758 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-12-06 21:18:18 +00:00