[ Index ] |
|
Code source de WordPress 2.1.2 |
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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 30 19:41:27 2007 | par Balluche grâce à PHPXref 0.7 |