Multisite: Introduce a setup_network capability for setting up multisite.

`setup_network` is a new meta capability that brings more granular control over the permissions to setup a multisite environment. In a non-multisite environment it falls back to `manage_options` while in a multisite it falls back to `manage_network_options`. The introduction of this capability furthermore allows replacing an `is_super_admin()` check.

Props ashokkumar24 for the original patch.
Fixes #39206. See #37616.


git-svn-id: https://develop.svn.wordpress.org/trunk@40390 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Felix Arntz
2017-04-07 12:52:24 +00:00
parent ca0aa133ff
commit 3ca0673036
5 changed files with 12 additions and 3 deletions
@@ -227,6 +227,7 @@ class Tests_User_Capabilities extends WP_UnitTestCase {
'manage_network_options' => array(),
'delete_site' => array(),
'setup_network' => array( 'administrator' ),
'upload_plugins' => array( 'administrator' ),
'upload_themes' => array( 'administrator' ),
'customize' => array( 'administrator' ),
@@ -254,6 +255,7 @@ class Tests_User_Capabilities extends WP_UnitTestCase {
'manage_network_plugins' => array(),
'manage_network_themes' => array(),
'manage_network_options' => array(),
'setup_network' => array(),
'upload_plugins' => array(),
'upload_themes' => array(),
'edit_css' => array(),