]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/users.php
WordPress 4.5.1-scripts
[autoinstalls/wordpress.git] / wp-admin / users.php
index cdf0d8b372e5e2283fe64156d4f1fede91143647..789f34c95c346da916340e9b2c6e7a559c093c94 100644 (file)
@@ -211,13 +211,14 @@ case 'delete':
        else
                $userids = array_map( 'intval', (array) $_REQUEST['users'] );
 
-       $users_posts = new WP_Query( array(
-               'post_type' => 'any',
-               'author' => implode( ',', $userids ),
-               'posts_per_page' => 1
-       ) );
+       $users_have_content = false;
+       if ( $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE post_author IN( " . implode( ',', $userids ) . " ) LIMIT 1" ) ) {
+               $users_have_content = true;
+       } elseif ( $wpdb->get_var( "SELECT link_id FROM {$wpdb->links} WHERE link_owner IN( " . implode( ',', $userids ) . " ) LIMIT 1" ) ) {
+               $users_have_content = true;
+       }
 
-       if ( $users_posts->have_posts() ) {
+       if ( $users_have_content ) {
                add_action( 'admin_head', 'delete_users_add_js' );
        }
 
@@ -247,8 +248,10 @@ case 'delete':
        foreach ( $userids as $id ) {
                $user = get_userdata( $id );
                if ( $id == $current_user->ID ) {
+                       /* translators: 1: user id, 2: user login */
                        echo "<li>" . sprintf(__('ID #%1$s: %2$s <strong>The current user will not be deleted.</strong>'), $id, $user->user_login) . "</li>\n";
                } else {
+                       /* translators: 1: user id, 2: user login */
                        echo "<li><input type=\"hidden\" name=\"users[]\" value=\"" . esc_attr($id) . "\" />" . sprintf(__('ID #%1$s: %2$s'), $id, $user->user_login) . "</li>\n";
                        $go_delete++;
                }
@@ -257,7 +260,7 @@ case 'delete':
        </ul>
 <?php if ( $go_delete ) :
 
-       if ( ! $users_posts->have_posts() ) : ?>
+       if ( ! $users_have_content ) : ?>
                <input type="hidden" name="delete_option" value="delete" />
        <?php else: ?>
                <?php if ( 1 == $go_delete ) : ?>
@@ -270,17 +273,23 @@ case 'delete':
                        <?php _e('Delete all content.'); ?></label></li>
                        <li><input type="radio" id="delete_option1" name="delete_option" value="reassign" />
                        <?php echo '<label for="delete_option1">' . __( 'Attribute all content to:' ) . '</label> ';
-                       wp_dropdown_users( array( 'name' => 'reassign_user', 'exclude' => array_diff( $userids, array($current_user->ID) ) ) ); ?></li>
+                       wp_dropdown_users( array(
+                               'name' => 'reassign_user',
+                               'exclude' => array_diff( $userids, array( $current_user->ID ) ),
+                               'show' => 'display_name_with_login',
+                       ) ); ?></li>
                </ul></fieldset>
        <?php endif;
        /**
         * Fires at the end of the delete users form prior to the confirm button.
         *
         * @since 4.0.0
+        * @since 4.5.0 The `$userids` parameter was added.
         *
-        * @param WP_User $current_user WP_User object for the user being deleted.
+        * @param WP_User $current_user WP_User object for the current user.
+        * @param array   $userids      Array of IDs for users being deleted.
         */
-       do_action( 'delete_user_form', $current_user );
+       do_action( 'delete_user_form', $current_user, $userids );
        ?>
        <input type="hidden" name="action" value="dodelete" />
        <?php submit_button( __('Confirm Deletion'), 'primary' ); ?>
@@ -369,10 +378,13 @@ case 'remove':
                $id = (int) $id;
                $user = get_userdata( $id );
                if ( $id == $current_user->ID && !is_super_admin() ) {
+                       /* translators: 1: user id, 2: user login */
                        echo "<li>" . sprintf(__('ID #%1$s: %2$s <strong>The current user will not be removed.</strong>'), $id, $user->user_login) . "</li>\n";
                } elseif ( !current_user_can('remove_user', $id) ) {
-                       echo "<li>" . sprintf(__('ID #%1$s: %2$s <strong>You don\'t have permission to remove this user.</strong>'), $id, $user->user_login) . "</li>\n";
+                       /* translators: 1: user id, 2: user login */
+                       echo "<li>" . sprintf(__('ID #%1$s: %2$s <strong>You don&#8217;t have permission to remove this user.</strong>'), $id, $user->user_login) . "</li>\n";
                } else {
+                       /* translators: 1: user id, 2: user login */
                        echo "<li><input type=\"hidden\" name=\"users[]\" value=\"{$id}\" />" . sprintf(__('ID #%1$s: %2$s'), $id, $user->user_login) . "</li>\n";
                        $go_remove = true;
                }
@@ -422,6 +434,7 @@ default:
                        break;
                case 'add':
                        if ( isset( $_GET['id'] ) && ( $user_id = $_GET['id'] ) && current_user_can( 'edit_user', $user_id ) ) {
+                               /* translators: %s: edit page url */
                                $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( __( 'New user created. <a href="%s">Edit user</a>' ),
                                        esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ),
                                                self_admin_url( 'user-edit.php?user_id=' . $user_id ) ) ) ) . '</p></div>';
@@ -471,13 +484,16 @@ if ( ! empty($messages) ) {
 <?php
 echo esc_html( $title );
 if ( current_user_can( 'create_users' ) ) { ?>
-       <a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
+       <a href="<?php echo admin_url( 'user-new.php' ); ?>" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
 <?php } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) { ?>
-       <a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
+       <a href="<?php echo admin_url( 'user-new.php' ); ?>" class="page-title-action"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
 <?php }
 
-if ( $usersearch )
-       printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $usersearch ) ); ?>
+if ( strlen( $usersearch ) ) {
+       /* translators: %s: search keywords */
+       printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', esc_html( $usersearch ) );
+}
+?>
 </h1>
 
 <?php $wp_list_table->views(); ?>