X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/ff81ee6e8304a1982a3ec4f5b134764a29d502cf..refs/tags/wordpress-2.6.2:/wp-admin/users.php diff --git a/wp-admin/users.php b/wp-admin/users.php index ab555323..f032e413 100644 --- a/wp-admin/users.php +++ b/wp-admin/users.php @@ -1,126 +1,159 @@ '; +} elseif ( isset($_REQUEST['wp_http_referer']) ) { + $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), stripslashes($_REQUEST['wp_http_referer'])); + $referer = ''; +} else { + $redirect = 'users.php'; +} + switch ($action) { case 'promote': - check_admin_referer(); + check_admin_referer('bulk-users'); - if (empty($_POST['users'])) { - header('Location: users.php'); + if (empty($_REQUEST['users'])) { + wp_redirect($redirect); + exit(); } if ( !current_user_can('edit_users') ) - die(__('You can’t edit users.')); + wp_die(__('You can’t edit users.')); - $userids = $_POST['users']; + $userids = $_REQUEST['users']; $update = 'promote'; - foreach($userids as $id) { + foreach($userids as $id) { + if ( ! current_user_can('edit_user', $id) ) + wp_die(__('You can’t edit that user.')); // The new role of the current user must also have edit_users caps - if($id == $current_user->id && !$wp_roles->role_objects[$_POST['new_role']]->has_cap('edit_users')) { + if($id == $current_user->ID && !$wp_roles->role_objects[$_REQUEST['new_role']]->has_cap('edit_users')) { $update = 'err_admin_role'; continue; } - $user = new WP_User($id); - $user->set_role($_POST['new_role']); - } - - header('Location: users.php?update=' . $update); + $user = new WP_User($id); + $user->set_role($_REQUEST['new_role']); + } + + wp_redirect(add_query_arg('update', $update, $redirect)); + exit(); break; case 'dodelete': - check_admin_referer(); + check_admin_referer('delete-users'); - if ( empty($_POST['users']) ) { - header('Location: users.php'); + if ( empty($_REQUEST['users']) ) { + wp_redirect($redirect); + exit(); } - if ( !current_user_can('edit_users') ) - die(__('You can’t delete users.')); + if ( !current_user_can('delete_users') ) + wp_die(__('You can’t delete users.')); - $userids = $_POST['users']; - + $userids = $_REQUEST['users']; $update = 'del'; - foreach ($userids as $id) { - if($id == $current_user->id) { + $delete_count = 0; + + foreach ( (array) $userids as $id) { + if ( ! current_user_can('delete_user', $id) ) + wp_die(__('You can’t delete that user.')); + + if($id == $current_user->ID) { $update = 'err_admin_del'; continue; } - switch($_POST['delete_option']) { + switch($_REQUEST['delete_option']) { case 'delete': wp_delete_user($id); break; case 'reassign': - wp_delete_user($id, $_POST['reassign_user']); + wp_delete_user($id, $_REQUEST['reassign_user']); break; } + ++$delete_count; } - header('Location: users.php?update=' . $update); + $redirect = add_query_arg( array('delete_count' => $delete_count, 'update' => $update), $redirect); + wp_redirect($redirect); + exit(); break; case 'delete': - check_admin_referer(); + check_admin_referer('bulk-users'); - if (empty($_POST['users'])) { - header('Location: users.php'); + if ( empty($_REQUEST['users']) ) { + wp_redirect($redirect); + exit(); } - if ( !current_user_can('edit_users') ) - $error['edit_users'] = __('You can’t delete users.'); + if ( !current_user_can('delete_users') ) + $errors = new WP_Error('edit_users', __('You can’t delete users.')); - $userids = $_POST['users']; + $userids = $_REQUEST['users']; include ('admin-header.php'); ?>
+ + +

- -

+ } + $all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users ORDER BY user_login"); + $user_dropdown = ''; + ?> + + +

  • '.__('Attribute all posts and links to:')." $user_dropdown"; ?>
  • -
+
-

+

@@ -131,36 +164,44 @@ case 'delete': break; case 'adduser': - check_admin_referer(); - - $errors = add_user(); - - if(count($errors) == 0) { - header('Location: users.php?update=add'); + check_admin_referer('add-user'); + + if ( ! current_user_can('create_users') ) + wp_die(__('You can’t create users.')); + + $user_id = add_user(); + $update = 'add'; + if ( is_wp_error( $user_id ) ) + $add_user_errors = $user_id; + else { + $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true)); + $redirect = add_query_arg( array('usersearch' => urlencode($new_user_login), 'update' => $update), $redirect ); + wp_redirect( $redirect . '#user-' . $user_id ); die(); } default: - - include ('admin-header.php'); - - $userids = $wpdb->get_col("SELECT ID FROM $wpdb->users;"); - - foreach($userids as $userid) { - $tmp_user = new WP_User($userid); - $roles = $tmp_user->roles; - $role = array_shift($roles); - $roleclasses[$role][$tmp_user->user_login] = $tmp_user; - } - - ?> - -

+ +

+ endif; ?> + +
    $error"; + foreach ( $errors->get_error_messages() as $message ) + echo "
  • $message
  • "; ?>
- - - + +
-

- - $roleclass) { - ksort($roleclass); - ?> + + is_search() ) : ?> +

search_term)); ?>

+ +

+ + +
    +meta_value); + foreach ( (array) $b_roles as $b_role => $val ) { + if ( !isset($avail_roles[$b_role]) ) + $avail_roles[$b_role] = 0; + $avail_roles[$b_role]++; + } +} +unset($users_of_blog); -
- +$current_role = false; +$class = empty($_GET['role']) ? ' class="current"' : ''; +$role_links[] = "
  • " . __('All Users') . ""; +foreach ( $wp_roles->get_names() as $role => $name ) { + if ( !isset($avail_roles[$role]) ) + continue; -
  • - - - - - - - - - user_email; - $url = $user_object->user_url; - $short_url = str_replace('http://', '', $url); - $short_url = str_replace('www.', '', $short_url); - if ('/' == substr($short_url, -1)) - $short_url = substr($short_url, 0, -1); - if (strlen($short_url) > 35) - $short_url = substr($short_url, 0, 32).'...'; - $style = ('class="alternate"' == $style) ? '' : 'class="alternate"'; - $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '$user_object->ID' and post_status = 'publish'"); - if (0 < $numposts) $numposts = "$numposts"; - echo " - - - - - - "; - echo ""; - echo ''; - echo ''; - } - - ?> - + $class = ''; -" . $name . ''; +} +echo implode(' |', $role_links) . ''; +unset($role_links); ?> -
    -

    role_names[$role]; ?>

    -
     
    $email$short_url$numposts'; - if (current_user_can('edit_users')) - echo "".__('Edit').""; - echo '
    + +

    + + + +

    +
    -

    +results_are_paged() ) : ?> +
    page_links(); ?>
    + + +
    + + + + +
    + +
    +
    + +
    + + search_errors ) ) : ?> +
    +
      + search_errors->get_error_messages() as $message ) + echo "
    • $message
    • "; + ?> +
    +
    + + + +get_results() ) : ?> + + is_search() ) : ?> +

    + + + + + + + + + + + + + +'; -foreach($wp_roles->role_names as $role => $name) { - $role_select .= ""; +$style = ''; +foreach ( $wp_user_search->get_results() as $userid ) { + $user_object = new WP_User($userid); + $roles = $user_object->roles; + $role = array_shift($roles); + + $style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"'; + echo "\n\t" . user_row($user_object, $style, $role); } -$role_select .= ''; -?> -
      -
    • -
    • '.__('Set the Role of checked users to:')." $role_select"; ?>
    • -
    -

    +?> + +
    + +
    + +results_are_paged() ) : ?> +
    page_links(); ?>
    + + +
    + + + +
    + + 'user_login', 'first_name' => 'user_firstname', 'last_name' => 'user_lastname', 'email' => 'user_email', 'url' => 'user_uri', 'role' => 'user_role') as $formpost => $var ) { + $var = 'new_' . $var; + $$var = attribute_escape(stripslashes($_REQUEST[$formpost])); + } + unset($name); + } +?> + +
    +
    -

    -'.sprintf(__('Users can register themselves or you can manually create users here.'), get_settings('siteurl').'/wp-register.php').'

    '; ?> -
    - - - - - - - - - - - - - - - - - - - - - +

    + + +
    + get_error_messages() as $message ) + echo "

    $message

    "; + ?> +
    + +
    + ' . sprintf(__('Users can register themselves or you can manually create users here.'), site_url('wp-register.php')) . '

    '; + else + echo '

    ' . sprintf(__('Users cannot currently register themselves, but you can manually create users here.'), admin_url('options-general.php#users_can_register')) . '

    '; ?> - - - - + + +
    -
    -
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + -
    +
    +
    -

    - -

    -
    + + + + + + + +

    + + +

    + +
    -