Commit Graph

205 Commits

Author SHA1 Message Date
Sergey Biryukov c1a252da8e Site Health: Use correct variable when checking PHP requirements for a plugin update in `WP_Plugins_List_Table::single_row()`.
Props diddledan, sharaz, vaishalipanchal.
Fixes #47835.
Built from https://develop.svn.wordpress.org/trunk@45750


git-svn-id: http://core.svn.wordpress.org/trunk@45561 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-05 10:58:56 +00:00
Sergey Biryukov 88fdfae793 Plugins: Introduce `is_wp_version_compatible()` and `is_php_version_compatible()` for checking compatibility with the current WordPress or PHP version.
Props afragen.
Fixes #46599.
Built from https://develop.svn.wordpress.org/trunk@45185


git-svn-id: http://core.svn.wordpress.org/trunk@44994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-12 23:56:52 +00:00
Sergey Biryukov 6037e5ab5e Plugins: Use correct singular for "Drop-in" in plugins list table.
Props tobifjellner, mukesh27.
Fixes #46592.
Built from https://develop.svn.wordpress.org/trunk@45021


git-svn-id: http://core.svn.wordpress.org/trunk@44830 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-27 00:00: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
desrosj fae24d54fe Plugins: Block plugin updates if required PHP version is not supported.
When a plugin states it requires a specific minimum PHP version (as defined in the `requires_php` field included in the plugin update API response), a user should not be allowed to update that plugin when the server does not satisfy the minimum PHP version.

When this scenario is encountered, the update buttons and links are disabled and links to educational resources about PHP are displayed to the user with a notice.

Props afragen, schlessera, desrosj.
Fixes #43987. 
Built from https://develop.svn.wordpress.org/trunk@44937


git-svn-id: http://core.svn.wordpress.org/trunk@44768 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-20 01:44: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
Felix Arntz f251342de7 I18n: Add missing translator comments in `wp-admin/includes/class-wp-plugins-list-table.php`.
Fixes #45898.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-10 10:46:53 +00:00
Felix Arntz 83603991c6 Bootstrap/Load: Fix missing object argument for singular capability checks and support capability tests overlooked in [44524].
See #44458.

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


git-svn-id: http://core.svn.wordpress.org/trunk@44356 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-09 20:44:50 +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
Gary Pendergast 56c162fbc9 Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.


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


git-svn-id: http://core.svn.wordpress.org/trunk@43400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-17 01:51:36 +00:00
John Blackbourn 1b5d6c6971 Docs: Document many more parameters and properties using typed array notation.
See #41756

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


git-svn-id: http://core.svn.wordpress.org/trunk@42701 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-22 20:27:32 +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
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
Gary Pendergast c90cfa3b50 General: Fix some precision alignment formatting warnings.
The WPCS `WordPress.WhiteSpace.PrecisionAlignment` rule throws warnings for a bunch of code that will likely cause issues for `wpcbf`. Fixing these manually beforehand gives us better auto-fixed results later.

See #41057.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-26 23:57:55 +00:00
Gary Pendergast 37aa531cd4 Plugins: Tweak the plugin icons added in [41695].
- Remove plugins icons from the plugin list table, as there were performance issues loading the icons when the site had lots of plugins.
- Depending on which icons the plugin has uploaded, prefer them in this order: `svg`, `128x128`, `256x256`.
- Improve the style of the fallback icon for plugins that don't have an icon defined.

Props Travel_girl, danieltj, afercia, karmatosed,hugobaeta, empireoflight, brentjett, melchoyce, pento.
Fixes #30186.


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


git-svn-id: http://core.svn.wordpress.org/trunk@41589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-04 23:43:46 +00:00
Gary Pendergast 7e33702830 Plugins: Add plugin icons to the plugin list tables.
To mirror theme list table behaviour, the plugin icon now appears next to plugins in the plugin list tables. For plugins that don't have an icon, or non-W.org plugins, a fallback dashicon is shown.

Props melchoyce, afercia, paulwilde, pento, obenland.
Fixes #30186.


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


git-svn-id: http://core.svn.wordpress.org/trunk@41529 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-03 00:25:46 +00:00
Andrea Fercia 6a6795382a Accessibility: List Tables: use `aria-current` for the views current link.
The `aria-current` attribute is a simple, effective way to help assistive
technologies users orientate themselves within a list of items. Continues the 
introduction in core of the `aria-current` attribute after [41359] and [41371].

Props joedolson, flixos90, afercia.
Fixes #32399.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41517 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-02 19:44:47 +00:00
John Blackbourn e088205014 General: Add missing URL-encoding and add extra hardening to plugin and template names when they're displayed in the admin area.
Props kawauso, Mte90 for initial patches

Fixes #13377

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


git-svn-id: http://core.svn.wordpress.org/trunk@41232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-19 10:11:43 +00:00
John Blackbourn c7a79b0e6a Plugins: Introduce singular capabilities for activating and deactivating individual plugins.
This introduces the following meta capabilities:

* `activate_plugin`
* `deactivate_plugin`
* `deactivate_plugins`

The singular `activate_plugin` and `deactivate_plugin` capabilities are used along with the corresponding plugin name when
determining whether or not a user can activate or deactivate an individual plugin.

The plural `deactivate_plugins` capability is used in place of the existing `activate_plugins` capability when determining
whether a user can deactivate plugins.

Each of these new meta capabilities map to the existing `activate_plugins` primitive capability, which means there is no
change in existing behaviour, but plugins can now filter the capabilities required to activate and deactivate individual
plugins.

Fixes #38652 

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


git-svn-id: http://core.svn.wordpress.org/trunk@41130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-22 14:02:44 +00:00
John Blackbourn c96b33e3a5 Plugins: Correct and improve docblocks for the various `plugin_action_links` filters on the Plugins screen.
This also adds a changelog for the removal of the Edit links in [41160].

See #41017
Fixes #38169

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


git-svn-id: http://core.svn.wordpress.org/trunk@41071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-04 22:15:45 +00:00
Drew Jaynes 1a28ec87e1 Docs: Remove `@access` notations from method DocBlocks in wp-admin/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:40:43 +00:00
John Blackbourn 32128ffd45 Administration: Remove `Edit` links from all plugin listing screens and the remaining theme listing screens.
This simplifies these list tables, reducing user confusion, without removing functionality.

Fixes #38169

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


git-svn-id: http://core.svn.wordpress.org/trunk@41000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-26 23:28:46 +00:00
John Blackbourn 0ff0dcc7de Plugins: Correct the `since` docs for the various `plugin_action_links` filters.
Props tfrommen, SergeyBiryukov

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


git-svn-id: http://core.svn.wordpress.org/trunk@39005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-31 19:38:47 +00:00
Pascal Birchler e4d7dd2b8a Upgrade/Install: Refresh update counts after page load.
By enqueuing the updates script in the footer and passing the number of available updates to it after page load, the update bubbles will be more accurate.

Props ocean90, swissspidy.
Fixes #13071.
Built from https://develop.svn.wordpress.org/trunk@38827


git-svn-id: http://core.svn.wordpress.org/trunk@38770 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-19 10:27:29 +00:00
Andrea Fercia eeefec932f Administration: Improve the usage of the button CSS classes.
Introduces some consistency in the usage of the button CSS classes, fixes the
focus style for accessibility and responsiveness of the buttons.

- Adds the `button` class to all primary buttons make them responsive
- Removes all `secondary-button` classes and replaces it with button when needed. `button-secondary` shouldn't be used and exists just for backward compatibility reasons
- Replaces classes inside `submit_button()` with a shorthand for some buttons, and use an empty string for the default `button` class. Passing `button` is unnecessary
- Adjusts `get_submit_button()` to remove empty items

Props iseulde, dimchik, chris_d2d, mhowell, afercia.
Fixes #27314, #37138, #37448.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-28 19:54: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
Sergey Biryukov fdc07533f5 Plugins: Add a missing space between classes on `<td>` element for custom columns of the Plugins list table.
Props crstauf.
Fixes #37460.
Built from https://develop.svn.wordpress.org/trunk@38149


git-svn-id: http://core.svn.wordpress.org/trunk@38090 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-25 13:28:28 +00:00
Dominik Schilling 51671afc0a List Table: Improve `WP_Plugins_List_Table::search_box()` which was added in [38033].
* Update DocBlock to use third-person singular verb and to include a period at the end.
* Use `submit_button()` for the submit button.
* Escape the ID attribute.
* Apply the same to `WP_List_Table::search_box()`.

See #37230.
Built from https://develop.svn.wordpress.org/trunk@38146


git-svn-id: http://core.svn.wordpress.org/trunk@38087 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-23 11:00:36 +00:00
Dominik Schilling 50ca05f8cd Plugins: Make search field placeholder translatable.
See #37230.
Built from https://develop.svn.wordpress.org/trunk@38141


git-svn-id: http://core.svn.wordpress.org/trunk@38082 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-22 14:51:28 +00:00
Sergey Biryukov 2d19f94fac Text Changes: Change `Network deactivate %s` to upper case, for consistency with `Network Activate %s`.
See #37290.
Built from https://develop.svn.wordpress.org/trunk@38081


git-svn-id: http://core.svn.wordpress.org/trunk@38022 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-17 17:04:32 +00:00
Sergey Biryukov 0be3a84ad0 I18N: After [38057], consistently use a context for other instances of `Activate %s`, `Network Activate %s`, and `Delete %s` strings.
See #37290.
Built from https://develop.svn.wordpress.org/trunk@38071


git-svn-id: http://core.svn.wordpress.org/trunk@38012 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-16 23:20:29 +00:00
Pascal Birchler e4eee7ef5c Plugins: Improve Ajax search of installed plugins.
Fixes a few accessibility issues, tweaks the design of the search form to match other Ajax search fields and improves compatibility with older browsers.

See #37230.
Built from https://develop.svn.wordpress.org/trunk@38033


git-svn-id: http://core.svn.wordpress.org/trunk@37974 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-11 21:50:31 +00:00
Pascal Birchler a5580012a3 Docs: Fix a typo across some function and hook docs.
s/filterss/filters.

See #32246.
Built from https://develop.svn.wordpress.org/trunk@37961


git-svn-id: http://core.svn.wordpress.org/trunk@37902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-04 22:45:29 +00:00
Konstantin Obenland 8c82515ab6 Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.

Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.


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


git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 16:37:29 +00:00
Drew Jaynes c3055cc190 Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:01:30 +00:00
Andrea Fercia fd1f45a7cf Accessibility: Improve accessibility for the Plugin details modal.
The plugin details modal can be invoked from several screens. There's now a new
`.open-plugin-details-modal` CSS class to be used in combination with the
`.thickbox` CSS class that adds everything needed for accessibility.

- Adds an ARIA role `dialog` and an `aria-label` attribute to the modal
- Adds a `title` attribute to the iframe inside the modal
- Constrains tabbing within the modal
- Restores focus back in a proper place when closing the modal

Also, improves a bit the native Thickbox implementation: it should probably be
replaced with some more modern tool but at least keyboard focus should be moved
inside the modal.

Fixes #33305.
Built from https://develop.svn.wordpress.org/trunk@36964


git-svn-id: http://core.svn.wordpress.org/trunk@36932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-10 22:37:26 +00:00
Sergey Biryukov 9e8b3817fd Docs: Correct `$plugins` global type in `WP_Plugins_List_Table::prepare_items()`.
Props mt8.biz.
Fixes #36080.
Built from https://develop.svn.wordpress.org/trunk@36830


git-svn-id: http://core.svn.wordpress.org/trunk@36797 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 10:01:25 +00:00
Pascal Birchler 05c069272f Docs: Move the hook doc for the `all_plugins` filter in `WP_Plugins_List_Table::prepare_items()` to directly precede the `apply_filters()` line.
See #35986.
Built from https://develop.svn.wordpress.org/trunk@36828


git-svn-id: http://core.svn.wordpress.org/trunk@36795 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 09:51:25 +00:00
Dominik Schilling bffdae7b1d Plugins: Remove slashes from search terms and use `urldecode()` in non-URL contexts.
Fixes #35712.
Built from https://develop.svn.wordpress.org/trunk@36560


git-svn-id: http://core.svn.wordpress.org/trunk@36527 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-17 20:15:26 +00:00
Pascal Birchler aaa11d6207 Allow searching for `0` throughout the admin.
Fixes #31025.
Built from https://develop.svn.wordpress.org/trunk@36302


git-svn-id: http://core.svn.wordpress.org/trunk@36269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-14 20:06:25 +00:00
Pascal Birchler d4b30f47bf Plugins: Prevent a warning when searching in the plugins list table.
After [36182], plugin data contains compatibility info from the API, which is an array and cannot be searched.

Fixes #35461.
Built from https://develop.svn.wordpress.org/trunk@36301


git-svn-id: http://core.svn.wordpress.org/trunk@36268 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-14 20:00:29 +00:00
Konstantin Obenland 0b9f825e29 Plugins: Avoid ID attribute collisions in plugins list table.
Removes id attributes with non-unique plugin slug and adds a data attribute
with the unique plugin file.

Props khag7.
Fixes #18974.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-06 22:40:26 +00:00
Helen Hou-Sandí 83795d99be Plugins: Provide a link to searching the plugin directory when no search results are found.
Many new users do not know the difference between managing installed plugins and those found in the plugin directory. This helps with discoverability. The link is not provided in multisite installs because we assume that somebody with that kind of power in a network is experienced enough not to need it. This can always be reconsidered later.

props mordauk for the initial patch.
fixes #29865.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 22:23:25 +00:00
Sergey Biryukov 746ba4c9c4 Replace a second instance of `<code>` in translatable string left in [35440].
Props ramiy.
See #34498.
Built from https://develop.svn.wordpress.org/trunk@35445


git-svn-id: http://core.svn.wordpress.org/trunk@35409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-30 01:56:25 +00:00
Sergey Biryukov 87105cdf24 Add `<code>` tag missed in [35440].
See #34498.
Built from https://develop.svn.wordpress.org/trunk@35441


git-svn-id: http://core.svn.wordpress.org/trunk@35405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-30 01:12:24 +00:00
Sergey Biryukov 58db99b512 Don't use `<code>` in translatable strings in `wp-admin/includes/class-wp-plugins-list-table.php`.
Add translator commments.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-30 01:08:25 +00:00
Scott Taylor 2afbf378d9 Plugins: after [35151], set default `$restrict_network_*` values to prevent notices.
Props johnjamesjacoby.
Fixes #20104.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-22 19:56:23 +00:00
Drew Jaynes 8a386cb24f Docs: Add missing file headers to the list table classes and adjust class DocBlocks accordingly.
See #33701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35207 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-17 15:13:25 +00:00
John Blackbourn 87aa982824 Include network-active plugins and inactive network-only plugins on the Plugins listing screen for individual sites on Multisite.
These plugins are only shown to users with the `manage_network_plugins` capability, which is Super Admins by default. This new feature lowers the blood pressure of Super Admins who may browse or search the Plugins listing screen of an individual site, having forgotten that a particular plugin is network-active. Showing inactive network-only plugins here also reduces friction when searching the Plugins listing screen on individual sites.

This change introduces a `show_network_active_plugins` filter which controls whether the network-active plugins and inactive network-only plugins are shown. This can be used to enable this functionality for regular site admininstrators, or, indeed, to disable this functionality for Super Admins.

Fixes #20104

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


git-svn-id: http://core.svn.wordpress.org/trunk@35117 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-13 22:12: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
John Blackbourn 9bc54c9442 Remove the unnecessary dynamic prefix used in the `plugin_action_links` filter name, and in those of its brethren. This way, `network_admin_plugin_action_links` gets listed as a separate filter.
Fixes #34117

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


git-svn-id: http://core.svn.wordpress.org/trunk@34751 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 23:44:26 +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 a729efa688 Implement 'Recently Active' functionality for network-wide plugins in the Network Admin.
Fixes #20468
Thanks to WordCamp RI attendees for testing!

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


git-svn-id: http://core.svn.wordpress.org/trunk@34515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 19:16:27 +00:00
Scott Taylor f9c2a88a8a List Tables: when comparing string literals (non-numeric in nature) against vars, strict comparison can/should be used.
Props wonderboymusic, Viper007Bond.
Fixes #21249.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 06:06:25 +00:00
Scott Taylor b2a30103ae In `WP_List_Table`, make a new `public` method, `->get_primary_column()`, and revert [34101] due to BC issues.
Fixes #33854.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 20:29:26 +00:00
Scott Taylor ae6a3aee7f Make `WP_List_Table::get_primary_column_name()` public in list table classes that have it.
Fixes #33854.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34069 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 01:12:25 +00:00
Drew Jaynes 9a2261d3bf Fix the DocBlock summary for `WP_Plugins_List_Table->get_primary_column_name()`, added in 4.3.
See [32644]. See #32891.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 17:46:26 +00:00
Helen Hou-Sandí 9c3bc85649 Ensure error messages look like, well, errors.
props obenland, rachelbaker.
fixes #32475.

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


git-svn-id: http://core.svn.wordpress.org/trunk@33088 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-07 23:11:24 +00:00
Sergey Biryukov c543f98ee6 Plugins list table: Add an `aria-label` attribute with the plugin name to plugin action links to provide context for screen reader users.
props bramd, rianrietveld, afercia.
fixes #26167.
Built from https://develop.svn.wordpress.org/trunk@33087


git-svn-id: http://core.svn.wordpress.org/trunk@33058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-05 15:03:25 +00:00
Sergey Biryukov b2299463b6 Plugins list table: Use case-insensitive sorting.
props GaryJ.
fixes #32735.
Built from https://develop.svn.wordpress.org/trunk@33076


git-svn-id: http://core.svn.wordpress.org/trunk@33047 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-03 21:53:25 +00:00
Dominik Schilling 7cc9a4c092 Plugins list table: Sort plugins by `Name` by default so translated plugin names get correctly sorted.
props swissspidy.
fixes #32735.
Built from https://develop.svn.wordpress.org/trunk@33010


git-svn-id: http://core.svn.wordpress.org/trunk@32981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-30 22:31:25 +00:00
Helen Hou-Sandí c87224eaf6 List tables: Use a class instead of inline styles for hidden columns.
fixes #32608.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-10 19:47:27 +00:00
Helen Hou-Sandí 06ebd0a2aa List tables:
Since the primary column is not going to be alterable for plugins and MS themes, we don't need to check in on it.

see #25408.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-10 19:31:25 +00:00
Helen Hou-Sandí 2d3a637598 List tables: tighten up primary column handling for plugins and multisite themes.
These shouldn't be able to have their primary column reassigned by default. Also removes the `has-row-actions` class as these list tables always have row actions visible and the JS for visual toggling conflicts. The `column-primary` class remains.

props stephdau.
see #25408.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32656 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-03 15:08:28 +00:00
Drew Jaynes 5e2983a77e Fix formatting and add a missing return description for inline documentation introduced in [32644] for `WP_Plugins_List_Table`.
See #25408. See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32637 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-31 01:40:29 +00:00
Scott Taylor c6a4512b1b Add missing doc blocks to `wp-admin/includes/*`.
Fix some egregious uses of tabbing.
Some functions can simply return `apply_filters(...)` instead of setting a variable that is immediately returned.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 20:17:26 +00:00
Scott Taylor 19a3aacc94 Add `@static*` annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
Helen Hou-Sandí 4c0c7fd7ba List tables: introduce the concept of a "primary" column.
This becomes the column that contains the row actions, and allows for a more flexibility, particularly with custom post types and list tables. To (re)define the primary column, use the `list_table_primary_column` filter, which receives the column name and the screen ID as arguments.

props stephdau, DaveAl, jesin.
see #25408.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 02:41:25 +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
Sergey Biryukov ce6c00f140 Fix a typo in [31872].
see #31738.
Built from https://develop.svn.wordpress.org/trunk@31873


git-svn-id: http://core.svn.wordpress.org/trunk@31852 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-24 17:33:27 +00:00
Aaron Jorbin 9c409e31f2 Fill `$plugins['upgrade']` with extra info for use in list table
Shiny updates depends upon information from the update_plugins site transient in order to set data- attributes which are used by JavaScript. Since /wp-admin/plugins.php?plugin_status=upgrade uses `$plugin['upgrade']` rather than `$plugins['all']`, we need to fill that information in both places.   

Fixes #31738.


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


git-svn-id: http://core.svn.wordpress.org/trunk@31851 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-24 17:30:26 +00:00
Aaron Jorbin 22476bf617 Fix notice that exists for plugins with no slug
Not all plugins have a slug, especially plugins not from the WordPress.org repository. 

Props imath for initial patch. 
Fixes #31694


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


git-svn-id: http://core.svn.wordpress.org/trunk@31816 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-19 17:48:29 +00:00
Aaron Jorbin a836a32fb4 Ensure that we target the correct plugin row for update updates
The DOM traversal of the plugins list table was less than ideal. By switching to data attributes, we can better target the DOM elements we want to update.

Props ericlewis
Fixes #31621



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


git-svn-id: http://core.svn.wordpress.org/trunk@31813 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-19 05:26:28 +00:00
Scott Taylor 65ab522a51 Improve various `@param` docs for List Tables.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30669 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 00:33: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
Andrew Nacin f7392ef917 Pinking shears.
Built from https://develop.svn.wordpress.org/trunk@29707


git-svn-id: http://core.svn.wordpress.org/trunk@29481 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-04 15:23:16 +00:00
Andrew Nacin 4261ce75a6 Plugins: Only show details link if user can install plugins.
fixes #17902.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-25 15:28:17 +00:00
Dominik Schilling 3a980c39c8 Apply accessibility improvements to Plugins screen too.
props SergeyBiryukov.
fixes #29342.
Built from https://develop.svn.wordpress.org/trunk@29583


git-svn-id: http://core.svn.wordpress.org/trunk@29357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-24 16:22:16 +00:00
Drew Jaynes d60a081137 Add `@access` tags to constructor docblocks in list table classes.
See #28679. See [29459].

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


git-svn-id: http://core.svn.wordpress.org/trunk@29238 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-10 02:22:16 +00:00
Drew Jaynes 8e86454467 Document default arguments for the `WP_List_Table` class. Also add referenced docblocks to extending class constructors.
Props mikejolley for the initial patch.
Fixes #28679. See #28298.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29237 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-10 02:18:17 +00:00
Dominik Schilling 09e61f534b WP_Plugins_List_Table::bulk_actions() method declaration should match WP_List_Table, see [29440].
props imath.
fixes #29148.
Built from https://develop.svn.wordpress.org/trunk@29453


git-svn-id: http://core.svn.wordpress.org/trunk@29231 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-09 14:46:17 +00:00
Andrew Nacin 58b22fce7d Move plugin details link into the description area.
fixes #17902.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29149 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-04 18:49:17 +00:00
Scott Taylor 97fff7e952 Adds `<label>`s to current page selector and bulk actions `<select>` field so that screen readers have an explicit label.
Props joedolson.
Fixes #28867.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-25 00:20:16 +00:00
Andrew Nacin 860f0922b7 Add 'Details' links to installed plugins.
Installed plugins that are up to date are now returned in the update-check API response.

props tellyworth.
see #17902.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-18 20:49:17 +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
Scott Taylor 176b9b2301 Fix mismatches in access modifiers for `WP_List_Table` + subclasses.
Fixes #28843, #28879.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-13 22:09:16 +00:00
Scott Taylor 40725e9e67 Repent for our original OOP sins and doc blocks as pertains to access modifiers in List Table + subclasses.
Props SergeyBiryukov.
See #28843 and [28583].

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


git-svn-id: http://core.svn.wordpress.org/trunk@28904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-12 03:27:14 +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
Scott Taylor d28f6344de Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`

See #27881, #22234.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 01:17:15 +00:00
John Blackbourn 75b86ecfb0 Avoid searching HTML tags when searching plugins and themes. Fixes #27136. Props enej.
Built from https://develop.svn.wordpress.org/trunk@27507


git-svn-id: http://core.svn.wordpress.org/trunk@27350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-11 22:24:15 +00:00
Drew Jaynes 5da89414a8 Inline documentation for hooks in wp-admin/includes/class-wp-plugins-list-table.php.
Props nicolealleyinteractivecom, kpdesign.
Fixes #26957.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27207 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 20:48:14 +00:00
John Blackbourn 44e34f826b Don't filter out network-only plugins from the Plugins screen if they're individually active on the current site. Add some code comments for clarity. Props mordauk
Built from https://develop.svn.wordpress.org/trunk@27326


git-svn-id: http://core.svn.wordpress.org/trunk@27178 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-28 20:22:14 +00:00
Sergey Biryukov 680a7a596d Avoid a PHP warning in network admin if a constant corresponding to a drop-in is not defined. fixes #25301.
Built from https://develop.svn.wordpress.org/trunk@25425


git-svn-id: http://core.svn.wordpress.org/trunk@25350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-13 09:37:10 +00:00
Scott Taylor 31f26dc3ce Remove lingering instances of call time pass-by-reference, limited to instances of `callable` - use `$this` instead of `&$this`.
Props jdgrimes.
See #25160.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 16:34: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
Sergey Biryukov 539ad97c8b Replace deprecated WP_Screen::is_network property with WP_Screen::in_admin( 'network' ). props bpetty. fixes #23215.
git-svn-id: http://core.svn.wordpress.org/trunk@23658 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-09 03:52:27 +00:00
Ryan Boren 5f809d1d22 Use wp_unslash() instead of stripslashes() and stripslashes_deep(). Use wp_slash() instead of add_magic_quotes().
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23563 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-01 17:00:25 +00:00
Ryan Boren 43a7e695e9 Revert 23416, 23419, 23445 except for wp_reset_vars() changes. We are going a different direction with the slashing cleanup, so resetting to a clean slate. see #21767
git-svn-id: http://core.svn.wordpress.org/trunk@23554 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-01 16:28:40 +00:00
Ryan Boren cc5ed3a485 Change all core API to expect unslashed rather than slashed arguments.
The exceptions to this are update_post_meta() and add_post_meta() which are often used by plugins in POST handlers and will continue accepting slashed data for now.

Introduce wp_upate_post_meta() and wp_add_post_meta() as unslashed alternatives to update_post_meta() and add_post_meta(). These functions could become methods in WP_Post so don't use them too heavily yet.

Remove all escape() calls from wp_xmlrpc_server. Now that core expects unslashed data this is no longer needed.

Remove addslashes(), addslashes_gpc(), add_magic_quotes() calls on data being prepared for handoff to core functions that until now expected slashed data. Adding slashes in no longer necessary.

Introduce wp_unslash() and use to it remove slashes from GPCS data before using it in core API. Almost every instance of stripslashes() in core should now be wp_unslash(). In the future (a release or three) when GPCS is no longer slashed, wp_unslash() will stop stripping slashes and simply return what is passed. At this point wp_unslash() calls can be removed from core.

Introduce wp_slash() for slashing GPCS data. This will also turn into a noop once GPCS is no longer slashed. wp_slash() should almost never be used. It is mainly of use in unit tests.

Plugins should use wp_unslash() on data being passed to core API.

Plugins should no longer slash data being passed to core. So when you get_post() and then wp_insert_post() the post data from get_post() no longer needs addslashes(). Most plugins were not bothering with this. They will magically start doing the right thing. Unfortunately, those few souls who did it properly will now have to avoid calling addslashes() for 3.6 and newer.

Use wp_kses_post() and wp_kses_data(), which expect unslashed data, instead of wp_filter_post_kses() and wp_filter_kses(), which expect slashed data. Filters are no longer passed slashed data.

Remove many no longer necessary calls to $wpdb->escape() and esc_sql().

In wp_get_referer() and wp_get_original_referer(), return unslashed data.

Remove old stripslashes() calls from WP_Widget::update() handlers. These haven't been necessary since WP_Widget.

Switch several queries over to prepare().

Expect something to break.

Props alexkingorg
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23416 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 22:51:06 +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