WordPress.org

Make WordPress Core

Ticket #23216: 23216-3.patch

File 23216-3.patch, 3.7 KB (added by azaozz, 14 months 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} 
     
    20752075        $response = array(); 
    20762076 
    20772077        // screen_id is the same as $current_screen->id and the JS global 'pagenow' 
    2078         if ( ! empty($_POST['screenid']) ) 
    2079                 $screen_id = sanitize_key($_POST['screenid']); 
     2078        if ( ! empty($_POST['screen_id']) ) 
     2079                $screen_id = sanitize_key($_POST['screen_id']); 
    20802080        else 
    2081                 $screen_id = 'site'; 
     2081                $screen_id = 'front'; 
    20822082 
    20832083        if ( ! empty($_POST['data']) ) { 
    20842084                $data = (array) $_POST['data']; 
    2085                 // todo: how much to sanitize and preset and what to leave to be accessed from $data or $_POST..? 
    2086                 $user = wp_get_current_user(); 
    2087                 $data['user_id'] = $user->exists() ? $user->ID : 0; 
    20882085 
    20892086                // todo: separate filters: 'heartbeat_[action]' so we call different callbacks only when there is data for them, 
    20902087                // or all callbacks listen to one filter and run when there is something for them in $data? 
     
    20972094        do_action( 'heartbeat_tick', $response, $screen_id ); 
    20982095 
    20992096        // send the current time acording to the server 
    2100         $response['servertime'] = time(); 
     2097        $response['server_time'] = time(); 
    21012098 
    21022099        wp_send_json($response); 
    21032100} 
  • 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;