Make WordPress Core

Ticket #19810: 19810.11.patch

File 19810.11.patch, 6.4 KB (added by PeteMall, 13 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------------------------------------------------------------------------------*/