WordPress.org

Make WordPress Core

Ticket #23216: 23216-4.patch

File 23216-4.patch, 6.8 KB (added by azaozz, 5 years ago)
  • wp-admin/includes/ajax-actions.php

     
    1313        $response = array(); 
    1414 
    1515        // screen_id is the same as $current_screen->id and the JS global 'pagenow' 
    16         if ( ! empty($_POST['screenid']) ) 
    17                 $screen_id = sanitize_key($_POST['screenid']); 
     16        if ( ! empty($_POST['screen_id']) ) 
     17                $screen_id = sanitize_key($_POST['screen_id']); 
    1818        else 
    19                 $screen_id = 'site'; 
     19                $screen_id = 'front'; 
    2020 
    2121        if ( ! empty($_POST['data']) ) { 
    2222                $data = wp_unslash( (array) $_POST['data'] ); 
     
    2929        do_action( 'heartbeat_nopriv_tick', $response, $screen_id ); 
    3030 
    3131        // send the current time according to the server 
    32         $response['servertime'] = time(); 
     32        $response['server_time'] = time(); 
    3333 
    3434        wp_send_json($response); 
    3535} 
     
    20582058        $response = array(); 
    20592059 
    20602060        // screen_id is the same as $current_screen->id and the JS global 'pagenow' 
    2061         if ( ! empty($_POST['screenid']) ) 
    2062                 $screen_id = sanitize_key($_POST['screenid']); 
     2061        if ( ! empty($_POST['screen_id']) ) 
     2062                $screen_id = sanitize_key($_POST['screen_id']); 
    20632063        else 
    2064                 $screen_id = 'site'; 
     2064                $screen_id = 'front'; 
    20652065 
    20662066        if ( ! empty($_POST['data']) ) { 
    20672067                $data = (array) $_POST['data']; 
    2068                 // todo: how much to sanitize and preset and what to leave to be accessed from $data or $_POST..? 
    2069                 $user = wp_get_current_user(); 
    2070                 $data['user_id'] = $user->exists() ? $user->ID : 0; 
    20712068 
    20722069                // todo: separate filters: 'heartbeat_[action]' so we call different callbacks only when there is data for them, 
    20732070                // or all callbacks listen to one filter and run when there is something for them in $data? 
     
    20802077        do_action( 'heartbeat_tick', $response, $screen_id ); 
    20812078 
    20822079        // send the current time acording to the server 
    2083         $response['servertime'] = time(); 
     2080        $response['server_time'] = time(); 
    20842081 
    20852082        wp_send_json($response); 
    20862083} 
  • wp-admin/includes/misc.php

     
    569569function wp_check_locked_posts( $response, $data, $screen_id ) { 
    570570        $checked = array(); 
    571571 
    572         if ( 'edit-post' == $screen_id && array_key_exists( 'wp-check-locked', $data ) && is_array( $data['wp-check-locked'] ) ) { 
    573                 foreach ( $data['wp-check-locked'] as $key ) { 
     572        if ( array_key_exists( 'wp-check-locked-posts', $data ) && is_array( $data['wp-check-locked-posts'] ) ) { 
     573                foreach ( $data['wp-check-locked-posts'] as $key ) { 
    574574                        $post_id = (int) substr( $key, 5 ); 
    575575 
    576576                        if ( current_user_can( 'edit_post', $post_id ) && ( $user_id = wp_check_post_lock( $post_id ) ) && ( $user = get_userdata( $user_id ) ) ) { 
     
    585585        } 
    586586 
    587587        if ( ! empty( $checked ) ) 
    588                 $response['wp-check-locked'] = $checked; 
     588                $response['wp-check-locked-posts'] = $checked; 
    589589 
    590590        return $response; 
    591591} 
     
    597597 * @since 3.6 
    598598 */ 
    599599function wp_refresh_post_lock( $response, $data, $screen_id ) { 
    600         if ( 'post' == $screen_id && array_key_exists( 'wp-refresh-post-lock', $data ) ) { 
     600        if ( array_key_exists( 'wp-refresh-post-lock', $data ) ) { 
    601601                $received = $data['wp-refresh-post-lock']; 
    602602                $send = array(); 
    603603 
    604                 if ( !$post_id = absint( $received['post_id'] ) ) 
     604                if ( ! $post_id = absint( $received['post_id'] ) ) 
    605605                        return $response; 
    606606 
    607                 if ( !current_user_can('edit_post', $post_id) ) 
     607                if ( ! current_user_can('edit_post', $post_id) ) 
    608608                        return $response; 
    609609 
    610610                if ( ( $user_id = wp_check_post_lock( $post_id ) ) && ( $user = get_userdata( $user_id ) ) ) { 
     
    636636 * @since 3.6 
    637637 */ 
    638638function wp_refresh_post_nonces( $response, $data, $screen_id ) { 
    639         if ( 'post' == $screen_id && array_key_exists( 'wp-refresh-post-nonces', $data ) ) { 
     639        if ( array_key_exists( 'wp-refresh-post-nonces', $data ) ) { 
    640640                $received = $data['wp-refresh-post-nonces']; 
    641641 
    642642                if ( ! $post_id = absint( $received['post_id'] ) ) 
  • wp-admin/js/inline-edit-post.js

     
    293293$( document ).ready( function(){ inlineEditPost.init(); } ); 
    294294 
    295295// Show/hide locks on posts 
    296 $( document ).on( 'heartbeat-tick.wp-check-locked', function( e, data ) { 
    297         var locked = data['wp-check-locked'] || {}; 
     296$( document ).on( 'heartbeat-tick.wp-check-locked-posts', function( e, data ) { 
     297        var locked = data['wp-check-locked-posts'] || {}; 
    298298 
    299299        $('#the-list tr').each( function(i, el) { 
    300300                var key = el.id, row = $(el), lock_data, avatar; 
     
    315315                        row.find('.column-title .locked-avatar').empty(); 
    316316                } 
    317317        }); 
    318 }).on( 'heartbeat-send.wp-check-locked', function( e, data ) { 
     318}).on( 'heartbeat-send.wp-check-locked-posts', function( e, data ) { 
    319319        var check = []; 
    320320 
    321321        $('#the-list tr').each( function(i, el) { 
     
    324324        }); 
    325325 
    326326        if ( check.length ) 
    327                 data['wp-check-locked'] = check; 
     327                data['wp-check-locked-posts'] = check; 
    328328}); 
    329329 
    330330}(jQuery)); 
  • wp-includes/js/heartbeat.js

     
    1111                        running, 
    1212                        beat, 
    1313                        nonce, 
    14                         screenid = typeof pagenow != 'undefined' ? pagenow : '', 
     14                        screenId = typeof pagenow != 'undefined' ? pagenow : '', 
    1515                        url = typeof ajaxurl != 'undefined' ? ajaxurl : '', 
    1616                        settings, 
    1717                        tick = 0, 
     
    4242 
    4343                        interval = settings.interval || 15; // default interval 
    4444                        delete settings.interval; 
    45                         // The interval can be from 5 to 60 sec. 
    46                         if ( interval < 5 ) 
    47                                 interval = 5; 
     45                        // The interval can be from 15 to 60 sec. and can be set temporarily to 5 sec. 
     46                        if ( interval < 15 ) 
     47                                interval = 15; 
    4848                        else if ( interval > 60 ) 
    4949                                interval = 60; 
    5050 
    5151                        interval = interval * 1000; 
    5252 
    53                         // 'screenid' can be added from settings on the front-end where the JS global 'pagenow' is not set 
    54                         screenid = screenid || settings.screenid || 'site'; 
    55                         delete settings.screenid; 
     53                        // 'screenId' can be added from settings on the front-end where the JS global 'pagenow' is not set 
     54                        screenId = screenId || settings.screenId || 'front'; 
     55                        delete settings.screenId; 
    5656 
    5757                        // Add or overwrite public vars 
    5858                        $.extend( this, settings ); 
     
    8383                        return false; 
    8484                } 
    8585 
    86                 // Set error state and fire an event if XHR errors or timeout 
     86                // Set error state and fire an event on XHR errors or timeout 
    8787                function errorstate( error ) { 
    8888                        var trigger; 
    8989 
     
    148148                        send.interval = interval / 1000; 
    149149                        send._nonce = nonce; 
    150150                        send.action = 'heartbeat'; 
    151                         send.screenid = screenid; 
     151                        send.screen_id = screenId; 
    152152                        send.has_focus = hasFocus; 
    153153 
    154154                        connecting = true;