Make WordPress Core

Ticket #46884: 46884.3.patch

File 46884.3.patch, 2.5 KB (added by mukesh27, 4 years ago)

Updated patch with some small WPCS fix

  • src/wp-admin/network/settings.php

     
    7575                'registrationnotification'    => 'no',
    7676                'upload_space_check_disabled' => 1,
    7777                'add_new_users'               => 0,
     78                'privacy_permissions'         => 1,
    7879        );
    7980        foreach ( $checked_options as $option_name => $option_unchecked_value ) {
    8081                if ( ! isset( $_POST[ $option_name ] ) ) {
     
    106107                'WPLANG',
    107108                'new_admin_email',
    108109                'first_comment_email',
     110                'privacy_permissions',
    109111        );
    110112
    111113        // Handle translation installation.
     
    490492                        <?php
    491493                endif;
    492494                ?>
    493 
     495                <h2><?php _e( 'Privacy Settings' ); ?></h2>
     496                <table id="menu" class="form-table">
     497                        <tr>
     498                                <th scope="row"><?php _e( 'Privacy policy permissions' ); ?></th>
     499                                <?php
     500                                        if ( ! get_site_option( 'privacy_permissions' ) ) {
     501                                                update_site_option( 'privacy_permissions', 'super_admin' );
     502                                        }
     503                                        $privacy_permissions = get_site_option( 'privacy_permissions' );
     504                                ?>
     505                                <td>
     506                                        <fieldset>
     507                                                <legend class="screen-reader-text"><?php _e( 'Privacy policy permisisons' ); ?></legend>
     508                                                <label><input name="privacy_permissions" type="radio" id="privacy-super-admins" value="super_admin"<?php checked( $privacy_permissions, 'super_admin' ); ?> /> <?php _e( 'Only allow Super Admins to edit the privacy policy page' ); ?></label><br />
     509                                                <label><input name="privacy_permissions" type="radio" id="privacy-admins" value="admin"<?php checked( $privacy_permissions, 'admin' ); ?> /> <?php _e( 'Admins can edit their own sites\'s privacy policy page'); ?></label><br />
     510                                        </fieldset>
     511                                </td>
     512                        </tr>
     513                </table>
    494514                <?php
    495515                /**
    496516                 * Fires at the end of the Network Settings form, before the submit button.
  • src/wp-includes/capabilities.php

     
    589589                case 'erase_others_personal_data':
    590590                case 'manage_privacy_options':
    591591                        $caps[] = is_multisite() ? 'manage_network' : 'manage_options';
     592                        if ( is_multisite() && 'admin' === get_site_option( 'privacy_permissions' ) && 'manage_options' ) {
     593                                $caps[] = 'manage_options';
     594                        } elseif ( is_multisite() ) {
     595                                $caps[] = 'manage_network';
     596                        } else {
     597                                $caps[] = 'manage_options';
     598                        }
    592599                        break;
    593600                default:
    594601                        // Handle meta capabilities for custom post types.