PHP Cross Reference of WordPress Subversion HEAD

[ Index ]     [ Classes ]     [ Functions ]     [ Variables ]     [ Constants ]

title

Body

[close]

/wp-includes/ -> registration.php (source)

   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  ?>


Generated Thu Dec 6 06:47:08 2007 for RedAlt XRefs Cross-referenced by PHPXref 0.6 and RedAlt