summaryrefslogtreecommitdiffstats
path: root/wp-admin/user-edit.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-06-22 18:31:50 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-06-22 18:31:50 +0000
commitd48e85e0ac5e675ca33fac173f30c75403d1033f (patch)
tree1164430fa3b83a4d9283961b09c1576f2885e6b2 /wp-admin/user-edit.php
parent086dcde66603301531efc6d8087bd06d0546f148 (diff)
downloadwordpress-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.php280
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('&laquo; 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="">' . __('&mdash; No role for this blog &mdash;') . '</option>';
+else
+ $role_list .= '<option value="" selected="selected">' . __('&mdash; No role for this blog &mdash;') . '</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 &raquo;') ?>" 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');
+?>