WordPress.org

Make WordPress Core

Ticket #18693: 18693.diff

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

     
    15491549        echo json_encode( array( 'message' => $message, 'last_edited' => $last_edited ) ); 
    15501550        die(); 
    15511551        break; 
     1552case 'dismiss-wp-pointer' : 
     1553        $pointer = sanitize_key( $_POST['pointer'] ); 
     1554//      check_ajax_referer( 'dismiss-pointer_' . $pointer ); 
     1555 
     1556        $dismissed = (array) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ); 
     1557        if ( in_array( $pointer, $dismissed ) ) 
     1558                die( '0' ); 
     1559 
     1560        $dismissed[] = $pointer; 
     1561        $dismissed = array_values( $dismissed ); 
     1562 
     1563        // TODO Pointer registration including whether pointer should be global. 
     1564        update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $dismissed ); 
     1565        die( '1' ); 
     1566        break; 
    15521567default : 
    15531568        do_action( 'wp_ajax_' . $_POST['action'] ); 
    15541569        die('0'); 
  • wp-admin/includes/template.php

     
    22322232function wp_pointer_enqueue( $hook_suffix ) { 
    22332233        $enqueue = false; 
    22342234 
    2235         $admin_bar = get_user_setting( 'p0', 0 ); 
    2236         if ( ! $admin_bar && apply_filters( 'show_wp_pointer_admin_bar', true ) ) { 
     2235        // Easy there: There will be an API here soon enough. 
     2236        $dismissed = (array) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ); 
     2237 
     2238        if ( ! in_array( 'wp330-admin-bar', $dismissed ) && apply_filters( 'show_wp_pointer_admin_bar', true ) ) { 
    22372239                $enqueue = true; 
    22382240                add_action( 'admin_print_footer_scripts', '_wp_pointer_print_admin_bar' ); 
    22392241        } 
     
    22572259jQuery(document).ready( function($) { 
    22582260        $('#wpadminbar').pointer({ 
    22592261                content: '<?php echo $pointer_content; ?>', 
     2262                // Easy there: There will be an API here soon enough. 
    22602263                position: { 
    22612264                        my: 'left top', 
    22622265                        at: 'center bottom', 
    22632266                        offset: '-25 0' 
    22642267                }, 
    22652268                close: function() { 
    2266                         setUserSetting( 'p0', '1' ); 
     2269                        $.post( ajaxurl, { 
     2270                                        pointer: 'wp330-admin-bar', 
     2271                                //      _ajax_nonce: $('#_ajax_nonce').val(), 
     2272                                        action: 'dismiss-wp-pointer' 
     2273                        }); 
    22672274                } 
    22682275        }).pointer('open'); 
    22692276});