WordPress.org

Make WordPress Core

Ticket #19810: 19810.11.patch

File 19810.11.patch, 6.4 KB (added by PeteMall, 4 years ago)

Refreshed and cleaned up.

  • wp-includes/script-loader.php

     
    260260 
    261261        $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), false, 1 ); 
    262262 
     263        $scripts->add( 'user-search', "/wp-admin/js/user-search$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 ); 
     264 
    263265        $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 ); 
    264266 
    265267        $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 ); 
  • wp-admin/admin-ajax.php

     
    3434 
    3535do_action( 'admin_init' ); 
    3636 
    37 $core_actions_get = array( 'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed_cache' ); 
     37$core_actions_get = array( 'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed_cache', 'autocomplete-user' ); 
    3838 
    3939$core_actions_post = array( 
    4040        'oembed_cache', 'image-editor', 'delete-comment', 'delete-tag', 'delete-link', 
  • wp-admin/includes/ajax-actions.php

     
    149149        wp_die( $return ); 
    150150} 
    151151 
     152function wp_ajax_autocomplete_user() { 
     153        if ( !is_multisite() || !current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) || !is_super_admin() && apply_filters( 'autocomplete_users_for_site_admins', false ) ) 
     154                wp_die( -1 ); 
     155         
     156        $return = array(); 
     157 
     158        // Exclude current users of this blog 
     159        if ( isset( $_REQUEST['site_id'] ) ) 
     160                $id = absint( $_REQUEST['site_id'] ); 
     161        else 
     162                $id = get_current_blog_id(); 
     163 
     164        $this_blog_users = get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ); 
     165 
     166        $users = get_users( array( 
     167                'blog_id' => false, 
     168                'search'  => '*' . $_REQUEST['term'] . '*', 
     169                'exclude' => $this_blog_users, 
     170                'search_columns' => array( 'user_login', 'user_nicename', 'user_email' ), 
     171        ) );     
     172 
     173        foreach ( $users as $user ) { 
     174                $return[] = array( 
     175                        /* translators: 1: user_login, 2: user_email */ 
     176                        'label' => sprintf( __( '%1$s (%2$s)' ), $user->user_login, $user->user_email ), 
     177                        'value' => $user->user_login, 
     178                ); 
     179        } 
     180 
     181        wp_die( json_encode( $return ) ); 
     182} 
     183 
    152184/* 
    153185 * Ajax helper. 
    154186 */ 
  • wp-admin/js/user-search.dev.js

     
     1(function($){ 
     2 
     3        $(document).ready(function() { 
     4                var ainput = $('#adduser-email, #newuser'); 
     5                var id = typeof( site_id ) != 'undefined' && site_id !== null ? '&site_id=' + site_id : ''; 
     6 
     7                var options = { 
     8                        source: ajaxurl + '?action=autocomplete-user' + id, 
     9                        appendTo: 'form#adduser', 
     10                        select: function( event, ui ){ $(ainput).val( ui.item.value ); }, 
     11                        delay: 500, 
     12                        minLength: 2, 
     13                }; 
     14 
     15                a = $(ainput).autocomplete(options); 
     16        }); 
     17 
     18})(jQuery); 
     19 No newline at end of file 
  • wp-admin/user-new.php

     
    178178 
    179179wp_enqueue_script('wp-ajax-response'); 
    180180wp_enqueue_script('user-profile'); 
     181if ( is_multisite() && current_user_can( 'promote_users' ) && !wp_is_large_network( 'users' ) && is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) ) 
     182        wp_enqueue_script( 'user-search' ); 
    181183 
    182 require_once ('admin-header.php'); 
     184require_once( 'admin-header.php' ); 
    183185 
    184186if ( isset($_GET['update']) ) { 
    185187        $messages = array(); 
  • wp-admin/network/site-users.php

     
    171171$parent_file = 'sites.php'; 
    172172$submenu_file = 'sites.php'; 
    173173 
     174if ( current_user_can( 'promote_users' ) && apply_filters( 'show_network_site_users_add_existing_form', true ) && !wp_is_large_network( 'users' ) ) 
     175        wp_enqueue_script( 'user-search' ); 
     176 
    174177require('../admin-header.php'); ?> 
    175178 
     179<script type='text/javascript'> 
     180/* <![CDATA[ */ 
     181var site_id = <?php echo $id; ?> 
     182 
     183/* ]]> */ 
     184</script> 
     185 
     186 
    176187<div class="wrap"> 
    177188<?php screen_icon('ms-admin'); ?> 
    178189<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2> 
  • wp-admin/css/wp-admin.dev.css

     
    892892        margin: 0; 
    893893} 
    894894 
     895#wpcontent input[type="text"].ui-autocomplete-loading { 
     896        background: transparent url('../images/loading.gif') no-repeat right center; 
     897        visibility: visible; 
     898} 
    895899 
     900ul#add-to-blog-users { 
     901        margin: 0 0 0 14px; 
     902} 
     903 
     904form#adduser ul.ui-autocomplete, form#addsite ul.ui-autocomplete { 
     905        padding: 0; 
     906        margin: 0; 
     907        list-style: none; 
     908        position: absolute; 
     909        z-index: 10000; 
     910        border-width: 1px; 
     911        border-style: solid; 
     912 
     913        background-color: #ffffff; 
     914        border-color: gray; 
     915} 
     916 
     917form#adduser .ui-widget-content, form#addsite .ui-widget-content { 
     918        background: #ececec; 
     919} 
     920 
     921form#adduser .ui-widget-content li, form#addsite .ui-widget-content li { 
     922        padding: 2px 5px; 
     923        white-space: nowrap; 
     924        text-align: left; 
     925        color: #101010; 
     926} 
     927 
     928form#adduser .ui-widget-content li a, form#addsite .ui-widget-content li a { 
     929        display: block; 
     930        height: 100%; 
     931        padding: 2px 5px; 
     932        color: #333; 
     933} 
     934 
     935form#adduser .ui-widget-content li a.ui-state-hover, form#addsite .ui-widget-content li a.ui-state-hover { 
     936        background-color: #f0f0b8; 
     937} 
     938 
     939form#adduser a.remove, form#addsite a.remove { 
     940        margin: 6px 0pt 0pt -12px; 
     941        cursor: pointer; 
     942        width: 10px; 
     943        height: 10px; 
     944        display: block; 
     945        float: left; 
     946        text-indent: -9999px; 
     947        overflow: hidden; 
     948        position: absolute; 
     949        background: transparent url(../images/xit.gif) no-repeat; 
     950} 
     951 
     952form#adduser a.remove:hover, form#addsite a.remove:hover { 
     953        background: transparent url(../images/xit.gif) no-repeat -10px 0; 
     954} 
     955 
     956 
    896957/*------------------------------------------------------------------------------ 
    897958  3.0 - Actions 
    898959------------------------------------------------------------------------------*/