Commit Graph

137 Commits

Author SHA1 Message Date
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