WordPress.org

Make WordPress Core

Ticket #19810: 19810.6.patch

File 19810.6.patch, 6.3 KB (added by PeteMall, 6 years ago)

Patch refreshed for [19831]

  • wp-includes/user.php

     
    378378                                'include' => array(),
    379379                                'exclude' => array(),
    380380                                'search' => '',
     381                                'search_columns' => array(),
    381382                                'orderby' => 'login',
    382383                                'order' => 'ASC',
    383384                                'offset' => '',
     
    476477                        if ( $wild )
    477478                                $search = trim($search, '*');
    478479
    479                         if ( false !== strpos( $search, '@') )
    480                                 $search_columns = array('user_email');
    481                         elseif ( is_numeric($search) )
    482                                 $search_columns = array('user_login', 'ID');
    483                         elseif ( preg_match('|^https?://|', $search) )
    484                                 $search_columns = array('user_url');
    485                         else
    486                                 $search_columns = array('user_login', 'user_nicename');
     480                        $search_columns = array();
     481                        if ( $qv['search_columns'] )
     482                                $search_columns = array_intersect( $qv['search_columns'], array( 'ID', 'user_login', 'user_email', 'user_url', 'user_nicename' ) );
     483                        if ( ! $search_columns ) {
     484                                if ( false !== strpos( $search, '@') )
     485                                        $search_columns = array('user_email');
     486                                elseif ( is_numeric($search) )
     487                                        $search_columns = array('user_login', 'ID');
     488                                elseif ( preg_match('|^https?://|', $search) )
     489                                        $search_columns = array('user_url');
     490                                else
     491                                        $search_columns = array('user_login', 'user_nicename');
     492                        }
    487493
    488494                        $this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
    489495                }
  • 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 ( !current_user_can( 'promote_users' ) )
     154                wp_die( -1 );
     155//      if ( wp_is_large_network('users') )
     156//              wp_die( -1 );
     157       
     158        $return = array();
     159
     160        // Exclude current users of this blog
     161        if ( !is_network_admin() ) {
     162                $this_blog_users = get_users( array( 'blog_id' => get_current_blog_id(), 'fields' => 'ID' ) );
     163        } else {
     164                global $id;
     165                $this_blog_users = get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) );
     166        }
     167
     168        $users = get_users( array(
     169                'blog_id' => false,
     170                'search'  => '*' . $_REQUEST['term'] . '*',
     171                'exclude' => $this_blog_users,
     172                'search_columns' => array( 'user_login', 'user_nicename', 'user_email' ),
     173        ) );   
     174
     175        foreach ( $users as $user ) {
     176                $return[] = array(
     177                        /* translators: 1: user_login, 2: user_email */
     178                        'label' => sprintf( __( '%1$s (%2$s)' ), $user->user_login, $user->user_email ),
     179                        'value' => $user->user_login,
     180                );
     181        }
     182
     183        wp_die( json_encode( $return ) );
     184}
     185
    152186/*
    153187 * Ajax helper.
    154188 */
  • wp-admin/user-new.php

     
    178178
    179179wp_enqueue_script('wp-ajax-response');
    180180wp_enqueue_script('user-profile');
     181if ( is_multisite() && is_super_admin() )
     182        wp_enqueue_script('user-search');
    181183
    182184require_once ('admin-header.php');
    183185
  • wp-admin/network/site-users.php

     
    171171$parent_file = 'sites.php';
    172172$submenu_file = 'sites.php';
    173173
     174wp_enqueue_script('user-search');
     175
    174176require('../admin-header.php'); ?>
    175177
    176178<div class="wrap">
  • 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 {
     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 {
     918        background: #ececec;
     919}
     920
     921form#adduser .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 {
     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 {
     936        background-color: #f0f0b8;
     937}
     938
     939form#adduser 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 {
     953        background: transparent url(../images/xit.gif) no-repeat -10px 0;
     954}
     955
     956
    896957/*------------------------------------------------------------------------------
    897958  3.0 - Actions
    898959------------------------------------------------------------------------------*/