Make WordPress Core

Ticket #46872: 46872.4.changeroles.diff

File 46872.4.changeroles.diff, 11.5 KB (added by garrett-eclipse, 4 years ago)

Update patch to cover Change Roles dual selectors on Users screen.

  • src/js/_enqueues/admin/common.js

     
    12141214        });
    12151215
    12161216        /**
     1217         * Marries the secondary bulk action controls to the primary controls.
     1218         *
     1219         * @return {void}
     1220         */
     1221        (function(){
     1222                var topBulkActionSelector    = $('#bulk-action-selector-top'),
     1223                        topBulkActionSubmit      = $('#doaction'),
     1224                        bottomBulkActionSelector = $('#bulk-action-selector-bottom'),
     1225                        bottomBulkActionSubmit   = $('#doaction2');
     1226
     1227                /**
     1228                 * Updates the primary bulk action selector upon change of the secondary selector.
     1229                 *
     1230                 * @since 5.6.0
     1231                 *
     1232                 * @return {void}
     1233                 */
     1234                function updateTopBulkActionSelector() {
     1235                        topBulkActionSelector.val($(this).val());
     1236                }
     1237                bottomBulkActionSelector.on('change', updateTopBulkActionSelector);
     1238
     1239                /**
     1240                 * Updates the secondary bulk action selector upon change of the primary selector.
     1241                 *
     1242                 * @since 5.6.0
     1243                 *
     1244                 * @return {void}
     1245                 */
     1246                function updateBottomBulkActionSelector() {
     1247                        bottomBulkActionSelector.val($(this).val());
     1248                }
     1249                topBulkActionSelector.on('change', updateBottomBulkActionSelector);
     1250
     1251
     1252                /**
     1253                 * Triggers the primary bulk action submit upon click of secondary button.
     1254                 *
     1255                 * @since 5.6.0
     1256                 *
     1257                 * @return {void}
     1258                 */
     1259                function triggerBulkActionSubmitClick(e) {
     1260                        e.preventDefault();
     1261                        e.stopPropagation();
     1262
     1263                        topBulkActionSubmit.trigger('click');
     1264                }
     1265                bottomBulkActionSubmit.on('click', triggerBulkActionSubmitClick);
     1266        })();
     1267
     1268        /**
     1269         * Marries the secondary change role controls to the primary controls.
     1270         *
     1271         * @return {void}
     1272         */
     1273        (function(){
     1274                var topChangeRoleSelector    = $('#new_role'),
     1275                        topChangeRoleSubmit      = $('#changeit'),
     1276                        bottomChangeRoleSelector = $('#new_role2'),
     1277                        bottomChangeRoleSubmit   = $('#changeit2');
     1278
     1279                /**
     1280                 * Updates the primary change role selector upon change of the secondary selector.
     1281                 *
     1282                 * @since 5.6.0
     1283                 *
     1284                 * @return {void}
     1285                 */
     1286                function updateTopChangeRoleSelector() {
     1287                        topChangeRoleSelector.val($(this).val());
     1288                }
     1289                bottomChangeRoleSelector.on('change', updateTopChangeRoleSelector);
     1290
     1291                /**
     1292                 * Updates the secondary change role selector upon change of the primary selector.
     1293                 *
     1294                 * @since 5.6.0
     1295                 *
     1296                 * @return {void}
     1297                 */
     1298                function updateBottomChangeRoleSelector() {
     1299                        bottomChangeRoleSelector.val($(this).val());
     1300                }
     1301                topChangeRoleSelector.on('change', updateBottomChangeRoleSelector);
     1302
     1303
     1304                /**
     1305                 * Triggers the primary change role submit upon click of secondary button.
     1306                 *
     1307                 * @since 5.6.0
     1308                 *
     1309                 * @return {void}
     1310                 */
     1311                function triggerChangeRoleSubmitClick(e) {
     1312                        e.preventDefault();
     1313                        e.stopPropagation();
     1314
     1315                        topChangeRoleSubmit.trigger('click');
     1316                }
     1317                bottomChangeRoleSubmit.on('click', triggerChangeRoleSubmitClick);
     1318        })();
     1319
     1320        /**
    12171321         * Shows row actions on focus of its parent container element or any other elements contained within.
    12181322         *
    12191323         * @return {void}
     
    13151419                pageInput.closest('form').submit( function() {
    13161420                        /*
    13171421                         * action = bulk action dropdown at the top of the table
    1318                          * action2 = bulk action dropdow at the bottom of the table
    13191422                         */
    1320                         if ( $('select[name="action"]').val() == -1 && $('select[name="action2"]').val() == -1 && pageInput.val() == currentPage )
     1423                        if ( $('select[name="action"]').val() == -1 && pageInput.val() == currentPage )
    13211424                                pageInput.val('1');
    13221425                });
    13231426        }
  • src/js/_enqueues/admin/edit-comments.js

     
    808808                        commentReply.toggle($(this).parent());
    809809                });
    810810
    811                 $('#doaction, #doaction2, #post-query-submit').click(function(){
     811                $('#doaction, #post-query-submit').click(function(){
    812812                        if ( $('#the-comment-list #replyrow').length > 0 )
    813813                                commentReply.close();
    814814                });
  • src/js/_enqueues/admin/inline-edit-post.js

     
    139139                /**
    140140                 * Adds onclick events to the apply buttons.
    141141                 */
    142                 $('#doaction, #doaction2').click(function(e){
     142                $('#doaction').click(function(e){
    143143                        var n;
    144144
    145145                        t.whichBulkButtonId = $( this ).attr( 'id' );
  • src/js/_enqueues/admin/media.js

     
    178178                $( '#find-posts-close' ).click( findPosts.close );
    179179
    180180                // Binds the bulk action events to the submit buttons.
    181                 $( '#doaction, #doaction2' ).click( function( event ) {
     181                $( '#doaction' ).click( function( event ) {
    182182
    183183                        /*
    184                          * Retrieves all select elements for bulk actions that have a name starting with `action`
    185                          * and handle its action based on its value.
     184                         * Handle the bulk action based on its value.
    186185                         */
    187                         $( 'select[name^="action"]' ).each( function() {
     186                        $( 'select[name="action"]' ).each( function() {
    188187                                var optionValue = $( this ).val();
    189188
    190189                                if ( 'attach' === optionValue ) {
  • src/wp-admin/css/forms.css

     
    490490        margin: 0 8px 0 0;
    491491}
    492492
     493/* @since 5.6.0 Secondary bulk action controls require JS. */
     494.no-js label[for="bulk-action-selector-bottom"],
     495.no-js select#bulk-action-selector-bottom,
     496.no-js input#doaction2,
     497.no-js label[for="new_role2"],
     498.no-js select#new_role2,
     499.no-js input#changeit2 {
     500        display: none;
     501}
     502
    493503.tablenav .actions select {
    494504        float: left;
    495505        margin-right: 6px;
  • src/wp-admin/edit-comments.php

     
    3131                $doaction       = 'delete';
    3232        } elseif ( isset( $_REQUEST['delete_comments'] ) ) {
    3333                $comment_ids = $_REQUEST['delete_comments'];
    34                 $doaction    = ( '-1' !== $_REQUEST['action'] ) ? $_REQUEST['action'] : $_REQUEST['action2'];
     34                $doaction    = $_REQUEST['action'];
    3535        } elseif ( isset( $_REQUEST['ids'] ) ) {
    3636                $comment_ids = array_map( 'absint', explode( ',', $_REQUEST['ids'] ) );
    3737        } elseif ( wp_get_referer() ) {
  • src/wp-admin/edit.php

     
    203203                        break;
    204204        }
    205205
    206         $sendback = remove_query_arg( array( 'action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view' ), $sendback );
     206        $sendback = remove_query_arg( array( 'action', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view' ), $sendback );
    207207
    208208        wp_redirect( $sendback );
    209209        exit;
  • src/wp-admin/includes/class-wp-list-table.php

     
    497497                        return $_REQUEST['action'];
    498498                }
    499499
    500                 if ( isset( $_REQUEST['action2'] ) && -1 != $_REQUEST['action2'] ) {
    501                         return $_REQUEST['action2'];
    502                 }
    503 
    504500                return false;
    505501        }
    506502
  • src/wp-admin/includes/class-wp-terms-list-table.php

     
    171171         * @return string
    172172         */
    173173        public function current_action() {
    174                 if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['delete_tags'] ) && ( 'delete' === $_REQUEST['action'] || 'delete' === $_REQUEST['action2'] ) ) {
     174                if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['delete_tags'] ) && 'delete' === $_REQUEST['action'] ) {
    175175                        return 'bulk-delete';
    176176                }
    177177
  • src/wp-admin/includes/class-wp-users-list-table.php

     
    335335         * @return string The bulk action required.
    336336         */
    337337        public function current_action() {
    338                 if ( ( isset( $_REQUEST['changeit'] ) || isset( $_REQUEST['changeit2'] ) ) &&
    339                         ( ! empty( $_REQUEST['new_role'] ) || ! empty( $_REQUEST['new_role2'] ) ) ) {
     338                if ( isset( $_REQUEST['changeit'] ) && ! empty( $_REQUEST['new_role'] ) ) {
    340339                        return 'promote';
    341340                }
    342341
  • src/wp-admin/network/site-users.php

     
    140140                case 'promote':
    141141                        check_admin_referer( 'bulk-users' );
    142142                        $editable_roles = get_editable_roles();
    143                         $role           = false;
    144                         if ( ! empty( $_REQUEST['new_role2'] ) ) {
    145                                 $role = $_REQUEST['new_role2'];
    146                         } elseif ( ! empty( $_REQUEST['new_role'] ) ) {
    147                                 $role = $_REQUEST['new_role'];
    148                         }
     143                        $role           = $_REQUEST['new_role'];
    149144
    150145                        if ( empty( $editable_roles[ $role ] ) ) {
    151146                                wp_die( __( 'Sorry, you are not allowed to give users that role.' ), 403 );
  • src/wp-admin/network/sites.php

     
    177177                        break;
    178178
    179179                case 'allblogs':
    180                         if ( ( isset( $_POST['action'] ) || isset( $_POST['action2'] ) ) && isset( $_POST['allblogs'] ) ) {
    181                                 $doaction = -1 != $_POST['action'] ? $_POST['action'] : $_POST['action2'];
     180                        if ( isset( $_POST['action'] && isset( $_POST['allblogs'] ) ) {
     181                                $doaction = $_POST['action'];
    182182
    183183                                foreach ( (array) $_POST['allblogs'] as $key => $val ) {
    184184                                        if ( '0' != $val && get_network()->site_id != $val ) {
  • src/wp-admin/network/users.php

     
    4646                                wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 );
    4747                        }
    4848
    49                         if ( ( isset( $_POST['action'] ) || isset( $_POST['action2'] ) ) && isset( $_POST['allusers'] ) ) {
     49                        if ( isset( $_POST['action'] ) && isset( $_POST['allusers'] ) ) {
    5050                                check_admin_referer( 'bulk-users-network' );
    5151
    52                                 $doaction     = -1 != $_POST['action'] ? $_POST['action'] : $_POST['action2'];
     52                                $doaction     = $_POST['action'];
    5353                                $userfunction = '';
    5454
    5555                                foreach ( (array) $_POST['allusers'] as $user_id ) {
  • src/wp-admin/users.php

     
    112112                }
    113113
    114114                $editable_roles = get_editable_roles();
    115                 $role           = false;
    116                 if ( ! empty( $_REQUEST['new_role2'] ) ) {
    117                         $role = $_REQUEST['new_role2'];
    118                 } elseif ( ! empty( $_REQUEST['new_role'] ) ) {
    119                         $role = $_REQUEST['new_role'];
    120                 }
     115                $role           = $_REQUEST['new_role'];
    121116
    122117                if ( ! $role || empty( $editable_roles[ $role ] ) ) {
    123118                        wp_die( __( 'Sorry, you are not allowed to give users that role.' ), 403 );