Remove certain caps for non super admins when running multisite. see #11644
git-svn-id: http://svn.automattic.com/wordpress/trunk@12630 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
61d66570c8
commit
43bfa1a300
|
@ -949,11 +949,25 @@ function map_meta_cap( $cap, $user_id ) {
|
|||
$caps[] = 'read_private_pages';
|
||||
break;
|
||||
case 'unfiltered_upload':
|
||||
if ( defined('ALLOW_UNFILTERED_UPLOADS') && ALLOW_UNFILTERED_UPLOADS == true )
|
||||
if ( defined('ALLOW_UNFILTERED_UPLOADS') && ALLOW_UNFILTERED_UPLOADS == true && ( !is_multisite() || is_super_admin() ) )
|
||||
$caps[] = $cap;
|
||||
else
|
||||
$caps[] = 'do_not_allow';
|
||||
break;
|
||||
case 'unfiltered_html':
|
||||
case 'update_plugins':
|
||||
case 'delete_plugins':
|
||||
case 'install_plugins':
|
||||
case 'edit_plugins':
|
||||
case 'update_themes':
|
||||
case 'install_themes':
|
||||
case 'edit_themes':
|
||||
// If multisite these caps are allowed only for super admins.
|
||||
if ( is_multisite() && !is_super_admin() )
|
||||
$caps[] = 'do_not_allow';
|
||||
else
|
||||
$caps[] = $cap;
|
||||
break;
|
||||
default:
|
||||
// If no meta caps match, return the original cap.
|
||||
$caps[] = $cap;
|
||||
|
|
Loading…
Reference in New Issue