WordPress.org

Make WordPress Core

Ticket #19810: 19810.6.patch

File 19810.6.patch, 6.3 KB (added by PeteMall, 4 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------------------------------------------------------------------------------*/