PHP Cross Reference of WordPress Subversion HEAD |
| [ Index ] [ Classes ] [ Functions ] [ Variables ] [ Constants ] |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Checks whether the given username exists. 5 * @param string $username Username. 6 * @return mixed The user's ID on success, and null on failure. 7 */ 8 function username_exists( $username ) { 9 if ( $user = get_userdatabylogin( $username ) ) { 10 return $user->ID; 11 } else { 12 return null; 13 } 14 } 15 16 /** 17 * Checks whether the given email exists. 18 * @global object $wpdb WordPress database layer. 19 * @param string $email Email. 20 * @return mixed The user's ID on success, and false on failure. 21 */ 22 function email_exists( $email ) { 23 if ( $user = get_user_by_email($email) ) 24 return $user->ID; 25 26 return false; 27 } 28 29 /** 30 * Checks whether an username is valid. 31 * @param string $username Username. 32 * @return bool A filtered boolean. 33 */ 34 function validate_username( $username ) { 35 $sanitized = sanitize_user( $username, true ); 36 $valid = ( $sanitized == $username ); 37 return apply_filters( 'validate_username', $valid, $username ); 38 } 39 40 /** 41 * Insert an user into the database. 42 * @global object $wpdb WordPress database layer. 43 * @param array $userdata An array of user data. 44 * @return int The newly created user's ID. 45 */ 46 function wp_insert_user($userdata) { 47 global $wpdb; 48 49 extract($userdata, EXTR_SKIP); 50 51 // Are we updating or creating? 52 if ( !empty($ID) ) { 53 $ID = (int) $ID; 54 $update = true; 55 } else { 56 $update = false; 57 // Hash the password 58 $user_pass = wp_hash_password($user_pass); 59 } 60 61 $user_login = sanitize_user($user_login, true); 62 $user_login = apply_filters('pre_user_login', $user_login); 63 64 if ( empty($user_nicename) ) 65 $user_nicename = sanitize_title( $user_login ); 66 $user_nicename = apply_filters('pre_user_nicename', $user_nicename); 67 68 if ( empty($user_url) ) 69 $user_url = ''; 70 $user_url = apply_filters('pre_user_url', $user_url); 71 72 if ( empty($user_email) ) 73 $user_email = ''; 74 $user_email = apply_filters('pre_user_email', $user_email); 75 76 if ( empty($display_name) ) 77 $display_name = $user_login; 78 $display_name = apply_filters('pre_user_display_name', $display_name); 79 80 if ( empty($nickname) ) 81 $nickname = $user_login; 82 $nickname = apply_filters('pre_user_nickname', $nickname); 83 84 if ( empty($first_name) ) 85 $first_name = ''; 86 $first_name = apply_filters('pre_user_first_name', $first_name); 87 88 if ( empty($last_name) ) 89 $last_name = ''; 90 $last_name = apply_filters('pre_user_last_name', $last_name); 91 92 if ( empty($description) ) 93 $description = ''; 94 $description = apply_filters('pre_user_description', $description); 95 96 if ( empty($rich_editing) ) 97 $rich_editing = 'true'; 98 99 if ( empty($user_registered) ) 100 $user_registered = gmdate('Y-m-d H:i:s'); 101 102 $data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' ); 103 104 if ( $update ) { 105 $wpdb->update( $wpdb->users, $data, compact( 'ID' ) ); 106 $user_id = (int) $ID; 107 } else { 108 $wpdb->insert( $wpdb->users, $data + compact( 'user_login' ) ); 109 $user_id = (int) $wpdb->insert_id; 110 } 111 112 update_usermeta( $user_id, 'first_name', $first_name); 113 update_usermeta( $user_id, 'last_name', $last_name); 114 update_usermeta( $user_id, 'nickname', $nickname ); 115 update_usermeta( $user_id, 'description', $description ); 116 update_usermeta( $user_id, 'jabber', $jabber ); 117 update_usermeta( $user_id, 'aim', $aim ); 118 update_usermeta( $user_id, 'yim', $yim ); 119 update_usermeta( $user_id, 'rich_editing', $rich_editing); 120 121 if ( $update && isset($role) ) { 122 $user = new WP_User($user_id); 123 $user->set_role($role); 124 } 125 126 if ( !$update ) { 127 $user = new WP_User($user_id); 128 $user->set_role(get_option('default_role')); 129 } 130 131 wp_cache_delete($user_id, 'users'); 132 wp_cache_delete($user_login, 'userlogins'); 133 134 if ( $update ) 135 do_action('profile_update', $user_id); 136 else 137 do_action('user_register', $user_id); 138 139 return $user_id; 140 } 141 142 /** 143 * Update an user in the database. 144 * @param array $userdata An array of user data. 145 * @return int The updated user's ID. 146 */ 147 function wp_update_user($userdata) { 148 $ID = (int) $userdata['ID']; 149 150 // First, get all of the original fields 151 $user = get_userdata($ID); 152 153 // Escape data pulled from DB. 154 $user = add_magic_quotes(get_object_vars($user)); 155 156 // If password is changing, hash it now. 157 if ( ! empty($userdata['user_pass']) ) { 158 $plaintext_pass = $userdata['user_pass']; 159 $userdata['user_pass'] = wp_hash_password($userdata['user_pass']); 160 } 161 162 // Merge old and new fields with new fields overwriting old ones. 163 $userdata = array_merge($user, $userdata); 164 $user_id = wp_insert_user($userdata); 165 166 // Update the cookies if the password changed. 167 $current_user = wp_get_current_user(); 168 if ( $current_user->id == $ID ) { 169 if ( isset($plaintext_pass) ) { 170 wp_clearcookie(); 171 wp_setcookie($userdata['user_login'], $plaintext_pass); 172 } 173 } 174 175 return $user_id; 176 } 177 178 /** 179 * A simpler way of inserting an user into the database. 180 * See also: wp_insert_user(). 181 * @global object $wpdb WordPress database layer. 182 * @param string $username The user's username. 183 * @param string $password The user's password. 184 * @param string $email The user's email (optional). 185 * @return int The new user's ID. 186 */ 187 function wp_create_user($username, $password, $email = '') { 188 global $wpdb; 189 190 $user_login = $wpdb->escape($username); 191 $user_email = $wpdb->escape($email); 192 $user_pass = $password; 193 194 $userdata = compact('user_login', 'user_email', 'user_pass'); 195 return wp_insert_user($userdata); 196 } 197 198 /** 199 * An alias of wp_create_user(). 200 * @param string $username The user's username. 201 * @param string $password The user's password. 202 * @param string $email The user's email (optional). 203 * @return int The new user's ID. 204 * @deprecated 205 */ 206 function create_user($username, $password, $email) { 207 return wp_create_user($username, $password, $email); 208 } 209 210 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated Thu Dec 6 06:47:08 2007 for RedAlt XRefs | Cross-referenced by PHPXref 0.6 and RedAlt |