mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-23 09:37:42 +01:00
Autocomplete for the new site admin email. Better than trying to remember which email address you used.
fixes #25348. Built from https://develop.svn.wordpress.org/trunk@27046 git-svn-id: http://core.svn.wordpress.org/trunk@26920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
d39d60e841
commit
291ed370b4
@ -197,16 +197,27 @@ function wp_ajax_autocomplete_user() {
|
|||||||
$return = array();
|
$return = array();
|
||||||
|
|
||||||
// Check the type of request
|
// Check the type of request
|
||||||
if ( isset( $_REQUEST['autocomplete_type'] ) )
|
// Current allowed values are `add` and `search`
|
||||||
|
if ( isset( $_REQUEST['autocomplete_type'] ) && 'search' === $_REQUEST['autocomplete_type'] ) {
|
||||||
$type = $_REQUEST['autocomplete_type'];
|
$type = $_REQUEST['autocomplete_type'];
|
||||||
else
|
} else {
|
||||||
$type = 'add';
|
$type = 'add';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check the desired field for value
|
||||||
|
// Current allowed values are `user_email` and `user_login`
|
||||||
|
if ( isset( $_REQUEST['autocomplete_field'] ) && 'user_email' === $_REQUEST['autocomplete_field'] ) {
|
||||||
|
$field = $_REQUEST['autocomplete_field'];
|
||||||
|
} else {
|
||||||
|
$field = 'user_login';
|
||||||
|
}
|
||||||
|
|
||||||
// Exclude current users of this blog
|
// Exclude current users of this blog
|
||||||
if ( isset( $_REQUEST['site_id'] ) )
|
if ( isset( $_REQUEST['site_id'] ) ) {
|
||||||
$id = absint( $_REQUEST['site_id'] );
|
$id = absint( $_REQUEST['site_id'] );
|
||||||
else
|
} else {
|
||||||
$id = get_current_blog_id();
|
$id = get_current_blog_id();
|
||||||
|
}
|
||||||
|
|
||||||
$include_blog_users = ( $type == 'search' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
|
$include_blog_users = ( $type == 'search' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
|
||||||
$exclude_blog_users = ( $type == 'add' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
|
$exclude_blog_users = ( $type == 'add' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
|
||||||
@ -223,7 +234,7 @@ function wp_ajax_autocomplete_user() {
|
|||||||
$return[] = array(
|
$return[] = array(
|
||||||
/* translators: 1: user_login, 2: user_email */
|
/* translators: 1: user_login, 2: user_email */
|
||||||
'label' => sprintf( __( '%1$s (%2$s)' ), $user->user_login, $user->user_email ),
|
'label' => sprintf( __( '%1$s (%2$s)' ), $user->user_login, $user->user_email ),
|
||||||
'value' => $user->user_login,
|
'value' => $user->$field,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,8 +8,13 @@
|
|||||||
position.my = 'right top';
|
position.my = 'right top';
|
||||||
position.at = 'right bottom';
|
position.at = 'right bottom';
|
||||||
}
|
}
|
||||||
$( '.wp-suggest-user' ).autocomplete({
|
$( '.wp-suggest-user' ).each( function(){
|
||||||
source: ajaxurl + '?action=autocomplete-user&autocomplete_type=add' + id,
|
var $this = $( this ),
|
||||||
|
autocompleteType = ( typeof $this.data( 'autocompleteType' ) !== 'undefined' ) ? $this.data( 'autocompleteType' ) : 'add',
|
||||||
|
autocompleteField = ( typeof $this.data( 'autocompleteField' ) !== 'undefined' ) ? $this.data( 'autocompleteField' ) : 'user_login';
|
||||||
|
|
||||||
|
$this.autocomplete({
|
||||||
|
source: ajaxurl + '?action=autocomplete-user&autocomplete_type=' + autocompleteType + '&autocomplete_field=' + autocompleteField + id,
|
||||||
delay: 500,
|
delay: 500,
|
||||||
minLength: 2,
|
minLength: 2,
|
||||||
position: position,
|
position: position,
|
||||||
@ -21,4 +26,5 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
})( jQuery );
|
})( jQuery );
|
2
wp-admin/js/user-suggest.min.js
vendored
2
wp-admin/js/user-suggest.min.js
vendored
@ -1 +1 @@
|
|||||||
!function(a){var b="undefined"!=typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){var c={offset:"0, -1"};"undefined"!=typeof isRtl&&isRtl&&(c.my="right top",c.at="right bottom"),a(".wp-suggest-user").autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type=add"+b,delay:500,minLength:2,position:c,open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})}(jQuery);
|
!function(a){var b="undefined"!=typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){var c={offset:"0, -1"};"undefined"!=typeof isRtl&&isRtl&&(c.my="right top",c.at="right bottom"),a(".wp-suggest-user").each(function(){var d=a(this),e="undefined"!=typeof d.data("autocompleteType")?d.data("autocompleteType"):"add",f="undefined"!=typeof d.data("autocompleteField")?d.data("autocompleteField"):"user_login";d.autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type="+e+"&autocomplete_field="+f+b,delay:500,minLength:2,position:c,open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})})}(jQuery);
|
@ -106,6 +106,8 @@ if ( isset($_GET['update']) ) {
|
|||||||
$title = __('Add New Site');
|
$title = __('Add New Site');
|
||||||
$parent_file = 'sites.php';
|
$parent_file = 'sites.php';
|
||||||
|
|
||||||
|
wp_enqueue_script( 'user-suggest' );
|
||||||
|
|
||||||
require( ABSPATH . 'wp-admin/admin-header.php' );
|
require( ABSPATH . 'wp-admin/admin-header.php' );
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@ -138,7 +140,7 @@ if ( ! empty( $messages ) ) {
|
|||||||
</tr>
|
</tr>
|
||||||
<tr class="form-field form-required">
|
<tr class="form-field form-required">
|
||||||
<th scope="row"><?php _e( 'Admin Email' ) ?></th>
|
<th scope="row"><?php _e( 'Admin Email' ) ?></th>
|
||||||
<td><input name="blog[email]" type="text" class="regular-text" title="<?php esc_attr_e( 'Email' ) ?>"/></td>
|
<td><input name="blog[email]" type="text" class="regular-text wp-suggest-user" data-autocomplete-type="search" data-autocomplete-field="user_email" title="<?php esc_attr_e( 'Email' ) ?>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="form-field">
|
<tr class="form-field">
|
||||||
<td colspan="2"><?php _e( 'A new user will be created if the above email address is not in the database.' ) ?><br /><?php _e( 'The username and password will be mailed to this email address.' ) ?></td>
|
<td colspan="2"><?php _e( 'A new user will be created if the above email address is not in the database.' ) ?><br /><?php _e( 'The username and password will be mailed to this email address.' ) ?></td>
|
||||||
|
Loading…
Reference in New Issue
Block a user