[ Index ]
 

Code source de WordPress 2.1.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

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

   1  <?php
   2  
   3  function get_profile($field, $user = false) {
   4      global $wpdb;
   5      if ( !$user )
   6          $user = $wpdb->escape($_COOKIE[USER_COOKIE]);
   7      return $wpdb->get_var("SELECT $field FROM $wpdb->users WHERE user_login = '$user'");
   8  }
   9  
  10  function get_usernumposts($userid) {
  11      global $wpdb;
  12      return $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '$userid' AND post_type = 'post' AND post_status = 'publish'");
  13  }
  14  
  15  // TODO: xmlrpc only.  Maybe move to xmlrpc.php.
  16  function user_pass_ok($user_login,$user_pass) {
  17      global $cache_userdata;
  18      if ( empty($cache_userdata[$user_login]) ) {
  19          $userdata = get_userdatabylogin($user_login);
  20      } else {
  21          $userdata = $cache_userdata[$user_login];
  22      }
  23      return (md5($user_pass) == $userdata->user_pass);
  24  }
  25  
  26  //
  27  // User option functions
  28  //
  29  
  30  function get_user_option( $option, $user = 0 ) {
  31      global $wpdb;
  32  
  33      if ( empty($user) )
  34          $user = wp_get_current_user();
  35      else
  36          $user = get_userdata($user);
  37  
  38      if ( isset( $user->{$wpdb->prefix . $option} ) ) // Blog specific
  39          return $user->{$wpdb->prefix . $option};
  40      elseif ( isset( $user->{$option} ) ) // User specific and cross-blog
  41          return $user->{$option};
  42      else // Blog global
  43          return get_option( $option );
  44  }
  45  
  46  function update_user_option( $user_id, $option_name, $newvalue, $global = false ) {
  47      global $wpdb;
  48      if ( !$global )
  49          $option_name = $wpdb->prefix . $option_name;
  50      return update_usermeta( $user_id, $option_name, $newvalue );
  51  }
  52  
  53  //
  54  // User meta functions
  55  //
  56  
  57  function delete_usermeta( $user_id, $meta_key, $meta_value = '' ) {
  58      global $wpdb;
  59      if ( !is_numeric( $user_id ) )
  60          return false;
  61      $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
  62  
  63      if ( is_array($meta_value) || is_object($meta_value) )
  64          $meta_value = serialize($meta_value);
  65      $meta_value = trim( $meta_value );
  66  
  67      if ( ! empty($meta_value) )
  68          $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key' AND meta_value = '$meta_value'");
  69      else
  70          $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
  71  
  72      $user = get_userdata($user_id);
  73      wp_cache_delete($user_id, 'users');
  74      wp_cache_delete($user->user_login, 'userlogins');
  75  
  76      return true;
  77  }
  78  
  79  function get_usermeta( $user_id, $meta_key = '') {
  80      global $wpdb;
  81      $user_id = (int) $user_id;
  82  
  83      if ( !empty($meta_key) ) {
  84          $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
  85          $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
  86      } else {
  87          $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id'");
  88      }
  89  
  90      if ( empty($metas) ) {
  91          if ( empty($meta_key) )
  92              return array();
  93          else
  94              return '';
  95      }
  96  
  97      foreach ($metas as $index => $meta) {
  98          @ $value = unserialize($meta->meta_value);
  99          if ( $value === FALSE )
 100              $value = $meta->meta_value;
 101  
 102          $values[] = $value;
 103      }
 104  
 105      if ( count($values) == 1 )
 106          return $values[0];
 107      else
 108          return $values;
 109  }
 110  
 111  function update_usermeta( $user_id, $meta_key, $meta_value ) {
 112      global $wpdb;
 113      if ( !is_numeric( $user_id ) )
 114          return false;
 115      $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
 116  
 117      // FIXME: usermeta data is assumed to be already escaped
 118      if ( is_string($meta_value) )
 119          $meta_value = stripslashes($meta_value);
 120      $meta_value = maybe_serialize($meta_value);
 121      $meta_value = $wpdb->escape($meta_value);
 122  
 123      if (empty($meta_value)) {
 124          return delete_usermeta($user_id, $meta_key);
 125      }
 126  
 127      $cur = $wpdb->get_row("SELECT * FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
 128      if ( !$cur ) {
 129          $wpdb->query("INSERT INTO $wpdb->usermeta ( user_id, meta_key, meta_value )
 130          VALUES
 131          ( '$user_id', '$meta_key', '$meta_value' )");
 132      } else if ( $cur->meta_value != $meta_value ) {
 133          $wpdb->query("UPDATE $wpdb->usermeta SET meta_value = '$meta_value' WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
 134      } else {
 135          return false;
 136      }
 137  
 138      $user = get_userdata($user_id);
 139      wp_cache_delete($user_id, 'users');
 140      wp_cache_delete($user->user_login, 'userlogins');
 141  
 142      return true;
 143  }
 144  
 145  //
 146  // Private helper functions
 147  //
 148  
 149  // Setup global user vars.  Used by set_current_user() for back compat.
 150  function setup_userdata($user_id = '') {
 151      global $user_login, $userdata, $user_level, $user_ID, $user_email, $user_url, $user_pass_md5, $user_identity;
 152  
 153      if ( '' == $user_id )
 154          $user = wp_get_current_user();
 155      else
 156          $user = new WP_User($user_id);
 157  
 158      if ( 0 == $user->ID )
 159          return;
 160  
 161      $userdata = $user->data;
 162      $user_login    = $user->user_login;
 163      $user_level    = $user->user_level;
 164      $user_ID    = $user->ID;
 165      $user_email    = $user->user_email;
 166      $user_url    = $user->user_url;
 167      $user_pass_md5    = md5($user->user_pass);
 168      $user_identity    = $user->display_name;
 169  }
 170  
 171  ?>


Généré le : Fri Mar 30 19:41:27 2007 par Balluche grâce à PHPXref 0.7