WordPress.org

Make WordPress Core

Ticket #18693: 18693.2.diff

File 18693.2.diff, 1.9 KB (added by nacin, 4 years ago)
  • wp-admin/admin-ajax.php

     
    172172        $return = ( $wp_embed->cache_oembed( $_GET['post'] ) ) ? '1' : '0'; 
    173173        die( $return ); 
    174174        break; 
     175case 'dismiss-wp-pointer' : 
     176        $pointer = $_POST['pointer']; 
     177        if ( $pointer != sanitize_key( $pointer ) ) 
     178                die( '0' ); 
     179 
     180//      check_ajax_referer( 'dismiss-pointer_' . $pointer ); 
     181 
     182        $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) ); 
     183 
     184        if ( in_array( $pointer, $dismissed ) ) 
     185                die( '0' ); 
     186 
     187        $dismissed[] = $pointer; 
     188        $dismissed = implode( ',', $dismissed ); 
     189 
     190        update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $dismissed ); 
     191        die( '1' ); 
     192        break; 
    175193default : 
    176194        do_action( 'wp_ajax_' . $_GET['action'] ); 
    177195        die('0'); 
  • wp-admin/includes/template.php

     
    16401640function wp_pointer_enqueue( $hook_suffix ) { 
    16411641        $enqueue = false; 
    16421642 
    1643         $admin_bar = get_user_setting( 'p0', 0 ); 
    1644         if ( ! $admin_bar && apply_filters( 'show_wp_pointer_admin_bar', true ) ) { 
     1643        $dismissed = (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ); 
     1644        $dismissed = array_map( 'sanitize_key', explode( ',', $dismissed ) ); 
     1645 
     1646        if ( ! in_array( 'wp330-admin-bar', $dismissed ) && apply_filters( 'show_wp_pointer_admin_bar', true ) ) { 
    16451647                $enqueue = true; 
    16461648                add_action( 'admin_print_footer_scripts', '_wp_pointer_print_admin_bar' ); 
    16471649        } 
     
    16711673                        offset: '-25 0' 
    16721674                }, 
    16731675                close: function() { 
    1674                         setUserSetting( 'p0', '1' ); 
     1676                        $.post( ajaxurl, { 
     1677                                        pointer: 'wp330-admin-bar', 
     1678                                //      _ajax_nonce: $('#_ajax_nonce').val(), 
     1679                                        action: 'dismiss-wp-pointer' 
     1680                        }); 
    16751681                } 
    16761682        }).pointer('open'); 
    16771683});