diff options
author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
---|---|---|
committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
commit | d48e85e0ac5e675ca33fac173f30c75403d1033f (patch) | |
tree | 1164430fa3b83a4d9283961b09c1576f2885e6b2 /wp-admin/user-edit.php | |
parent | 086dcde66603301531efc6d8087bd06d0546f148 (diff) | |
download | wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.gz wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.xz wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.zip |
Moved everything in wp-inst down a directory.
Uses's Ryan Boren's htaccess rules and mods
If you're upgrading, try this on a test server first!
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@591 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/user-edit.php')
-rw-r--r-- | wp-admin/user-edit.php | 280 |
1 files changed, 280 insertions, 0 deletions
diff --git a/wp-admin/user-edit.php b/wp-admin/user-edit.php new file mode 100644 index 0000000..0aff941 --- /dev/null +++ b/wp-admin/user-edit.php @@ -0,0 +1,280 @@ +<?php +require_once('admin.php'); + +$title = __('Edit User'); +if ( current_user_can('edit_users') ) + $parent_file = 'users.php'; +else + $parent_file = 'profile.php'; +$submenu_file = 'users.php'; + +$wpvarstoreset = array('action', 'redirect', 'profile', 'user_id', 'wp_http_referer'); +for ($i=0; $i<count($wpvarstoreset); $i += 1) { + $wpvar = $wpvarstoreset[$i]; + if (!isset($$wpvar)) { + if (empty($_POST["$wpvar"])) { + if (empty($_GET["$wpvar"])) { + $$wpvar = ''; + } else { + $$wpvar = $_GET["$wpvar"]; + } + } else { + $$wpvar = $_POST["$wpvar"]; + } + } +} + +$wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes($wp_http_referer)); +$errors = array(); + +// Only allow site admins to edit every user. +if( is_site_admin() == false ) + if( $user_id != $current_user->ID ) $errors = new WP_Error('head', __('You do not have permission to edit this user.')); + +switch ($action) { +case 'switchposts': + +check_admin_referer(); + +/* TODO: Switch all posts from one user to another user */ + +break; + +case 'update': + +check_admin_referer('update-user_' . $user_id); + +if ( !current_user_can('edit_user', $user_id) ) + $errors = new WP_Error('head', __('You do not have permission to edit this user.')); +else + if( isset( $errors ) == false ) $errors = edit_user($user_id); + +if( !is_wp_error( $errors ) ) { + if( is_site_admin() ) + update_usermeta( $user_id, 'invites_left', intval( $_POST[ 'invites_left' ] ) ); + $redirect = "user-edit.php?user_id=$user_id&updated=true"; + $redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect); + header("Location: $redirect"); + exit; +} + +default: +include ('admin-header.php'); + +$profileuser = new WP_User($user_id); + +if ( !current_user_can('edit_user', $user_id) ) + if ( !is_wp_error( $errors ) ) + $errors = new WP_Error('head', __('You do not have permission to edit this user.')); +?> + +<?php if ( isset($_GET['updated']) ) : ?> +<div id="message" class="updated fade"> + <p><strong><?php _e('User updated.') ?></strong></p> + <?php if ( $wp_http_referer ) : ?> + <p><a href="<?php echo wp_specialchars($wp_http_referer); ?>"><?php _e('« Back to Authors and Users'); ?></a></p> + <?php endif; ?> +</div> +<?php endif; ?> +<?php if ( is_wp_error( $errors ) ) { ?> +<div class="error"> + <ul> + <?php + foreach( $errors->get_error_messages() as $message ) + echo "<li>$message</li>"; + ?> + </ul> +</div> +<?php } else { ?> + +<div class="wrap"> +<h2><?php _e('Edit User'); ?></h2> + +<form name="profile" id="your-profile" action="user-edit.php" method="post"> +<?php wp_nonce_field('update-user_' . $user_id) ?> +<?php if ( $wp_http_referer ) : ?> + <input type="hidden" name="wp_http_referer" value="<?php echo wp_specialchars($wp_http_referer); ?>" /> +<?php endif; ?> +<p> +<input type="hidden" name="from" value="profile" /> +<input type="hidden" name="checkuser_id" value="<?php echo $user_ID ?>" /> +</p> + +<fieldset> +<legend><?php _e('Name'); ?></legend> +<p><label><?php _e('Username: (no editing)'); ?><br /> +<input type="text" name="user_login" value="<?php echo $profileuser->user_login; ?>" disabled="disabled" /> +</label></p> +<?php if( is_site_admin() ) {?> + <p><label><?php _e('Invites Left:') ?><br /> + <input type="text" name="invites_left" id="invites_left" value="<?php echo get_usermeta( $user_id, 'invites_left' ) ?>" /></label></p> + <?php +} // is_site_admin +?> + +<p><label><?php _e('Role:') ?><br /> +<?php +// print_r($profileuser); +echo '<select name="role">'; +$role_list = ''; +$user_has_role = false; +foreach($wp_roles->role_names as $role => $name) { + if ( $profileuser->has_cap($role) ) { + $selected = ' selected="selected"'; + $user_has_role = true; + } else { + $selected = ''; + } + $role_list .= "<option value=\"{$role}\"{$selected}>{$name}</option>"; +} +if ( $user_has_role ) + $role_list .= '<option value="">' . __('— No role for this blog —') . '</option>'; +else + $role_list .= '<option value="" selected="selected">' . __('— No role for this blog —') . '</option>'; +echo $role_list . '</select>'; +?></label></p> + +<p><label><?php _e('First name:') ?><br /> +<input type="text" name="first_name" value="<?php echo $profileuser->first_name ?>" /></label></p> + +<p><label><?php _e('Last name:') ?><br /> +<input type="text" name="last_name" value="<?php echo $profileuser->last_name ?>" /></label></p> + +<p><label><?php _e('Nickname:') ?><br /> +<input type="text" name="nickname" value="<?php echo $profileuser->nickname ?>" /></label></p> + +</p><label><?php _e('Display name publicly as:') ?> <br /> +<select name="display_name"> +<option value="<?php echo $profileuser->display_name; ?>"><?php echo $profileuser->display_name; ?></option> +<option value="<?php echo $profileuser->nickname ?>"><?php echo $profileuser->nickname ?></option> +<option value="<?php echo $profileuser->user_login ?>"><?php echo $profileuser->user_login ?></option> +<?php if ( !empty( $profileuser->first_name ) ) : ?> +<option value="<?php echo $profileuser->first_name ?>"><?php echo $profileuser->first_name ?></option> +<?php endif; ?> +<?php if ( !empty( $profileuser->last_name ) ) : ?> +<option value="<?php echo $profileuser->last_name ?>"><?php echo $profileuser->last_name ?></option> +<?php endif; ?> +<?php if ( !empty( $profileuser->first_name ) && !empty( $profileuser->last_name ) ) : ?> +<option value="<?php echo $profileuser->first_name." ".$profileuser->last_name ?>"><?php echo $profileuser->first_name." ".$profileuser->last_name ?></option> +<option value="<?php echo $profileuser->last_name." ".$profileuser->first_name ?>"><?php echo $profileuser->last_name." ".$profileuser->first_name ?></option> +<?php endif; ?> +</select></label></p> +</fieldset> + +<fieldset> +<legend><?php _e('Contact Info'); ?></legend> + +<p><label><?php _e('E-mail: (required)') ?><br /> +<input type="text" name="email" value="<?php echo $profileuser->user_email ?>" /></label></p> + +<p><label><?php _e('Website:') ?><br /> +<input type="text" name="url" value="<?php echo $profileuser->user_url ?>" /> +</label></p> + +<p><label><?php _e('AIM:') ?><br /> +<input type="text" name="aim" value="<?php echo $profileuser->aim ?>" /> +</label></p> + +<p><label><?php _e('Yahoo IM:') ?><br /> +<input type="text" name="yim" value="<?php echo $profileuser->yim ?>" /> +</label></p> + +<p><label><?php _e('Jabber / Google Talk:') ?> +<input type="text" name="jabber" value="<?php echo $profileuser->jabber ?>" /></label> +</p> +</fieldset> +<br clear="all" /> +<fieldset> +<legend><?php _e('About the user'); ?></legend> +<p class="desc"><?php _e('Share a little biographical information to fill out your profile. This may be shown publicly.'); ?></p> +<p><textarea name="description" rows="5" cols="30"><?php echo $profileuser->description ?></textarea></p> +</fieldset> + +<?php +$show_password_fields = apply_filters('show_password_fields', true); +if ( $show_password_fields ) : +?> +<fieldset> +<legend><?php _e("Update User's Password"); ?></legend> +<p class="desc"><?php _e("If you would like to change the user's password type a new one twice below. Otherwise leave this blank."); ?></p> +<p><label><?php _e('New Password:'); ?><br /> +<input type="password" name="pass1" size="16" value="" /> +</label></p> +<p><label><?php _e('Type it one more time:'); ?><br /> +<input type="password" name="pass2" size="16" value="" /> +</label></p> +</fieldset> +<?php endif; ?> + +<?php do_action('edit_user_profile'); ?> + +<br clear="all" /> + <table width="99%" border="0" cellspacing="2" cellpadding="3" class="editform"> + <?php + if(count($profileuser->caps) > count($profileuser->roles)): + ?> + <tr> + <th scope="row"><?php _e('Additional Capabilities:') ?></th> + <td><?php + $output = ''; + foreach($profileuser->caps as $cap => $value) { + if(!$wp_roles->is_role($cap)) { + if($output != '') $output .= ', '; + $output .= $value ? $cap : "Denied: {$cap}"; + } + } + echo $output; + ?></td> + </tr> + <?php + endif; + ?> + </table> +<p class="submit"> + <input type="hidden" name="action" value="update" /> + <input type="hidden" name="user_id" id="user_id" value="<?php echo $user_id; ?>" /> + <input type="submit" value="<?php _e('Update User »') ?>" name="submit" /> + </p> +</form> +</div> +<?php +$invites_list = get_usermeta( intval( $_GET[ 'user_id' ] ), "invites_list" ); +if( $invites_list != '' ) +{ + if( strlen( $invites_list ) > 3 ) { + ?><div class="wrap"> + <h3>Invited Users</h3> + <table><?php + $invites = explode( " ", $invites_list ); + reset( $invites ); + while( list( $key, $val ) = each( $invites ) ) { + if( $val != "" ) { + $id = $wpdb->get_row( "SELECT ID FROM {$wpdb->users} WHERE user_email = '$val'" ); + if( $id ) { + $invited_user_id = $id->ID; + } else { + $invited_user_id = $wpdb->get_var( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = 'invite_hash' AND meta_value = '" . md5( $val ) . "'" ); + } + + if( $invited_user_id != 0 ) { + $invited_user_blog = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE user_id = '$invited_user_id' AND meta_key='source_domain'" ); + } else { + $invited_user_blog = ''; + } + $invited_user_login = $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '$invited_user_id'" ); + if( $invited_user_blog != '' ) { + print "<tr><td>$val</td><td>$invited_user_login</td><td><a href='http://{$invited_user_blog}'>http://$invited_user_blog</a></td></tr>"; + } else { + print "<tr><td>$val</td><td>$invited_user_login</td><td><em>Invite Not Used Yet</em></td></tr>"; + } + } + } + ?></table></div><?php + } +} +} +break; +} + +include('admin-footer.php'); +?> |