WordPress.org

Make WordPress Core

Ticket #19791: patch.diff

File patch.diff, 2.3 KB (added by jtclarke, 2 years ago)

propsed patch with correct formatting

  • wp-includes/capabilities.php

     
    11121112                else 
    11131113                        $caps[] = 'do_not_allow'; 
    11141114                break; 
     1115        case 'delete_user': 
     1116        case 'delete_users': 
     1117                // If multisite these caps are allowed only for super admins. 
     1118                if ( is_multisite() && !is_super_admin( $user_id ) ) { 
     1119                        $caps[] = 'do_not_allow'; 
     1120                } else { 
     1121                        if ( 'delete_user' == $cap ) 
     1122                                $cap = 'delete_users'; 
     1123                        $caps[] = $cap; 
     1124                } 
     1125                break; 
     1126        case 'create_users': 
     1127                if ( !is_multisite() ) 
     1128                        $caps[] = $cap; 
     1129                elseif ( is_super_admin() || get_site_option( 'add_new_users' ) ) 
     1130                        $caps[] = $cap; 
     1131                else 
     1132                        $caps[] = 'do_not_allow'; 
     1133                break; 
    11151134        case 'edit_files': 
    11161135        case 'edit_plugins': 
    11171136        case 'edit_themes': 
    11181137                if ( defined('DISALLOW_FILE_EDIT') && DISALLOW_FILE_EDIT ) { 
    11191138                        $caps[] = 'do_not_allow'; 
    1120                         break; 
    1121                 } 
    1122                 // Fall through if not DISALLOW_FILE_EDIT. 
     1139                }else{ 
     1140                        $caps[] = $cap; 
     1141                } 
     1142                break; 
    11231143        case 'update_plugins': 
    11241144        case 'delete_plugins': 
    11251145        case 'install_plugins': 
     
    11311151                // Files in uploads are excepted. 
    11321152                if ( defined('DISALLOW_FILE_MODS') && DISALLOW_FILE_MODS ) { 
    11331153                        $caps[] = 'do_not_allow'; 
    1134                         break; 
    1135                 } 
    1136                 // Fall through if not DISALLOW_FILE_MODS. 
     1154                }else{ 
     1155                        $caps[] = $cap; 
     1156                } 
     1157                break; 
    11371158        case 'unfiltered_html': 
    11381159                // Disallow unfiltered_html for all users, even admins and super admins. 
    11391160                if ( defined('DISALLOW_UNFILTERED_HTML') && DISALLOW_UNFILTERED_HTML ) { 
    11401161                        $caps[] = 'do_not_allow'; 
    1141                         break; 
    1142                 } 
    1143                 // Fall through if not DISALLOW_UNFILTERED_HTML 
    1144         case 'delete_user': 
    1145         case 'delete_users': 
    1146                 // If multisite these caps are allowed only for super admins. 
    1147                 if ( is_multisite() && !is_super_admin( $user_id ) ) { 
    1148                         $caps[] = 'do_not_allow'; 
    1149                 } else { 
    1150                         if ( 'delete_user' == $cap ) 
    1151                                 $cap = 'delete_users'; 
    1152                         $caps[] = $cap; 
    1153                 } 
    1154                 break; 
    1155         case 'create_users': 
    1156                 if ( !is_multisite() ) 
    1157                         $caps[] = $cap; 
    1158                 elseif ( is_super_admin() || get_site_option( 'add_new_users' ) ) 
    1159                         $caps[] = $cap; 
    1160                 else 
    1161                         $caps[] = 'do_not_allow'; 
    1162                 break; 
     1162 
     1163                }else{ 
     1164                        $caps[] = $cap; 
     1165                } 
     1166                break; 
    11631167        default: 
    11641168                // Handle meta capabilities for custom post types. 
    11651169                $post_type_meta_caps = _post_type_meta_capabilities();