WordPress.org

Make WordPress Core

Ticket #23295: 23295-13.patch

File 23295-13.patch, 6.8 KB (added by azaozz, 5 years ago)
  • wp-admin/css/wp-admin.css

     
    71717171
    71727172.interim-login #login {
    71737173        padding: 0;
    7174         margin: 25px auto 20px;
     7174        margin: 5px auto 20px;
    71757175}
    71767176
    71777177.interim-login.login h1 a {
  • wp-includes/css/wp-auth-check.css

     
    2424        overflow: hidden;
    2525        top: 40px;
    2626        bottom: 20px;
    27         max-height: 435px;
     27        max-height: 415px;
    2828        width: 380px;
    2929        margin: 0 0 0 -190px;
    30         padding: 0;
     30        padding: 30px 0 0;
    3131        background-color: #fbfbfb;
    3232        -webkit-border-radius: 3px;
    3333        border-radius: 3px;
     
    4040}
    4141
    4242#wp-auth-check-wrap #wp-auth-check-form {
    43         background: url('../images/wpspin-2x.gif') no-repeat center center;
     43        background: url(../images/wpspin-2x.gif) no-repeat center center;
    4444        background-size: 16px 16px;
    4545        height: 100%;
    4646}
     
    5252}
    5353
    5454#wp-auth-check-wrap .wp-auth-check-close {
    55         bottom: 10px;
    56         display: none;
    5755        position: absolute;
    58         right: 30px;
     56        top: 8px;
     57        right: 8px;
     58        height: 14px;
     59        width: 14px;
     60        cursor: pointer;
     61        background-image: url(../images/uploader-icons.png);
     62        background-repeat: no-repeat;
     63        background-position: -100px 0;
    5964}
    6065
     66#wp-auth-check-wrap .wp-auth-check-close:focus {
     67        outline: 1px dotted #888;
     68}
     69
    6170#wp-auth-check-wrap .wp-auth-fallback-expired {
    6271        outline: 0;
    6372}
     
    6574#wp-auth-check-wrap .wp-auth-fallback {
    6675        font-size: 14px;
    6776        line-height: 21px;
    68         padding: 10px 25px;
     77        padding: 0 25px;
    6978        display: none;
    7079}
    7180
     
    7483        display: block;
    7584}
    7685
     86@media print,
     87  (-o-min-device-pixel-ratio: 5/4),
     88  (-webkit-min-device-pixel-ratio: 1.25),
     89  (min-resolution: 120dpi) {
     90        #wp-auth-check-wrap .wp-auth-check-close {
     91                background-image: url(../images/uploader-icons-2x.png);
     92                background-size: 134px 15px;
     93        }
     94}
  • wp-includes/functions.php

     
    39433943        <div id="wp-auth-check-wrap" class="<?php echo $wrap_class; ?>">
    39443944        <div id="wp-auth-check-bg"></div>
    39453945        <div id="wp-auth-check">
     3946        <div class="wp-auth-check-close" tabindex="0" title="<?php esc_attr_e('Close'); ?>"></div>
    39463947        <?php
    39473948
    39483949        if ( $same_domain ) {
     
    39573958                <p><a href="<?php echo esc_url( $login_url ); ?>" target="_blank"><?php _e('Please log in again.'); ?></a>
    39583959                <?php _e('The login page will open in a new window. After logging in you can close it and return to this page.'); ?></p>
    39593960        </div>
    3960         <p class="wp-auth-check-close"><a href="#" class="button button-primary"><?php _e('Close'); ?></a></p>
    39613961        </div>
    39623962        </div>
    39633963        <?php
     
    39743974
    39753975        // If the user is logged in and we are outside the login grace period, bail.
    39763976        if ( is_user_logged_in() && empty( $GLOBALS['login_grace_period'] ) )
    3977                 return $response;
     3977                return array_merge( $response, array( 'wp-auth-check' => '1' ) );
    39783978
    3979         return array_merge( $response, array( 'wp-auth-check' => '1' ) );
     3979        return array_merge( $response, array( 'wp-auth-check' => 'show' ) );
    39803980}
    39813981
    39823982/**
     
    40184018                return 'ISO-8859-1';
    40194019
    40204020        return $charset;
    4021 }
    4022  No newline at end of file
     4021}
  • wp-includes/js/wp-auth-check.js

     
    11// Interim login dialog
    22(function($){
    3         var wrap, check, scheduleTimeout;
     3        var wrap, check, next;
    44
    55        function show() {
    66                var parent = $('#wp-auth-check'), form = $('#wp-auth-check-form'), noframe = wrap.find('.wp-auth-fallback-expired'), frame, loaded = false;
     
    3232                                        if ( body && body.hasClass('interim-login-success') )
    3333                                                hide();
    3434                                        else
    35                                                 parent.css( 'max-height', height + 60 + 'px' );
     35                                                parent.css( 'max-height', height + 40 + 'px' );
    3636                                } else if ( ! body || ! body.length ) {
    3737                                        // Catch "silent" iframe origin exceptions in WebKit after another page is loaded in the iframe
    3838                                        wrap.addClass('fallback');
     
    7474                }
    7575
    7676                wrap.fadeOut( 200, function() {
    77                         wrap.addClass('hidden').css('display', '').find('.wp-auth-check-close').css('display', '');
     77                        wrap.addClass('hidden').css('display', '');
    7878                        $('#wp-auth-check-frame').remove();
    7979                });
    8080        }
    8181
    8282        function schedule() {
    83                 check = false;
    84                 window.clearTimeout( scheduleTimeout );
    85                 scheduleTimeout = window.setTimeout( function(){ check = 1; }, 300000 ); // 5 min.
     83                var interval = parseInt( window.authcheckL10n.interval, 10 ) || 180; // in seconds, default 3 min.
     84                next = ( new Date() ).getTime() + ( interval * 1000 );
    8685        }
    8786
    8887        $( document ).on( 'heartbeat-tick.wp-auth-check', function( e, data ) {
    89                 if ( check === 2 )
     88                if ( data['wp-auth-check'] ) {
    9089                        schedule();
    9190
    92                 if ( data['wp-auth-check'] && wrap.hasClass('hidden') ) {
    93                         show();
    94                 } else if ( ! data['wp-auth-check'] && ! wrap.hasClass('hidden') ) {
    95                         hide();
     91                        if ( data['wp-auth-check'] == 'show' && wrap.hasClass('hidden') )
     92                                show();
     93                        else if ( data['wp-auth-check'] != 'show' && ! wrap.hasClass('hidden') )
     94                                hide();
    9695                }
     96        }).on( 'heartbeat-send.wp-auth-check', function( e, data ) {
     97                if ( ( new Date() ).getTime() > next )
     98                        data['wp-auth-check'] = 1;
    9799        }).ready( function() {
    98100                schedule();
    99101                wrap = $('#wp-auth-check-wrap');
     
    100102                wrap.find('.wp-auth-check-close').on( 'click', function(e) {
    101103                        hide();
    102104                });
    103                 // Bind later
    104                 $( document ).on( 'heartbeat-send.wp-auth-check', function( e, data ) {
    105                         var i, empty = true;
    106                         // Check if something is using heartbeat. If yes, trigger the logged out check too.
    107                         for ( i in data ) {
    108                                 if ( data.hasOwnProperty( i ) ) {
    109                                         empty = false;
    110                                         break;
    111                                 }
    112                         }
    113 
    114                         if ( check || ! empty )
    115                                 data['wp-auth-check'] = 1;
    116 
    117                         if ( check )
    118                                 check = 2;
    119                 });
    120105        });
    121106
    122107}(jQuery));
  • wp-includes/script-loader.php

     
    113113        $scripts->add( 'wp-auth-check', "/wp-includes/js/wp-auth-check$suffix.js", array('heartbeat'), false, 1 );
    114114        did_action( 'init' ) && $scripts->localize( 'wp-auth-check', 'authcheckL10n', array(
    115115                'beforeunload' => __('Your session has expired. You can log in again from this page or go to the login page.'),
     116                'interval' => apply_filters( 'wp_auth_check_interval', 3 * MINUTE_IN_SECONDS ),
    116117        ) );
    117118
    118119        $scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array( 'wp-ajax-response', 'jquery-color' ), false, 1 );