Пример #1
0
 /**
  * Retrieve user info by email.
  *
  * @since 2.5
  *
  * @param string $email User's email address
  * @return bool|object False on failure, User DB row object
  */
 function get_user_by_email($email)
 {
     global $wpdb;
     $user_id = wp_cache_get($email, 'useremail');
     $user = false;
     if (false !== $user_id) {
         $user = wp_cache_get($user_id, 'users');
     }
     if (false !== $user) {
         return $user;
     }
     if (!($user = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->users} WHERE user_email = %s", $email)))) {
         return false;
     }
     _fill_user($user);
     return $user;
 }
Пример #2
0
 /**
  * Retrieve user info by a given field
  *
  * @since 2.8.0
  *
  * @param string $field The field to retrieve the user with.  id | slug | email | login
  * @param int|string $value A value for $field.  A user ID, slug, email address, or login name.
  * @return bool|object False on failure, User DB row object
  */
 function get_user_by($field, $value)
 {
     global $wpdb;
     switch ($field) {
         case 'id':
             return get_userdata($value);
             break;
         case 'slug':
             $user_id = wp_cache_get($value, 'userslugs');
             $field = 'user_nicename';
             break;
         case 'email':
             $user_id = wp_cache_get($value, 'useremail');
             $field = 'user_email';
             break;
         case 'login':
             $value = sanitize_user($value);
             $user_id = wp_cache_get($value, 'userlogins');
             $field = 'user_login';
             break;
         default:
             return false;
     }
     if (false !== $user_id) {
         return get_userdata($user_id);
     }
     if (!($user = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->users} WHERE {$field} = %s", $value)))) {
         return false;
     }
     _fill_user($user);
     return $user;
 }
Пример #3
0
 function wp_get_userdata($user_id)
 {
     global $wpdb, $wp_version;
     //added wp_version
     if (function_exists('absint')) {
         // new WordPress
         $user_id = absint($user_id);
     } else {
         // old WordPress
         $user_id = (int) $user_id;
     }
     if ($user_id == 0) {
         return false;
     }
     $user = wp_cache_get($user_id, 'users');
     if ($user) {
         return $user;
     }
     if ((double) $wp_version >= 2.3) {
         // newer versions do more sql escaping
         if (!($user = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->users} WHERE ID = %d LIMIT 1", $user_id)))) {
             return false;
         }
     } else {
         if (!($user = $wpdb->get_row("SELECT * FROM {$wpdb->users} WHERE ID = '{$user_id}' LIMIT 1"))) {
             return false;
         }
     }
     if ((double) $wp_version >= 2.5) {
         // function simplified for newer WP
         _fill_user($user);
     } else {
         // old branches
         $wpdb->hide_errors();
         $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}'");
         $wpdb->show_errors();
         if ($metavalues) {
             foreach ($metavalues as $meta) {
                 if ((double) $wp_version < 2.2) {
                     @($value = unserialize($meta->meta_value));
                     if ($value === FALSE) {
                         $value = $meta->meta_value;
                     }
                 } else {
                     //WP 2.2+ branch
                     $value = maybe_unserialize($meta->meta_value);
                 }
                 $user->{$meta->meta_key} = $value;
                 // We need to set user_level from meta, not row
                 if ($wpdb->prefix . 'user_level' == $meta->meta_key) {
                     $user->user_level = $meta->meta_value;
                 }
             }
             // end foreach
         }
         //end if
         // For backwards compat.
         if (isset($user->first_name)) {
             $user->user_firstname = $user->first_name;
         }
         if (isset($user->last_name)) {
             $user->user_lastname = $user->last_name;
         }
         if (isset($user->description)) {
             $user->user_description = $user->description;
         }
         wp_cache_add($user_id, $user, 'users');
         if ((double) $wp_version < 2.2) {
             wp_cache_add($user->user_login, $user, 'userlogins');
         } else {
             //WP 2.2 version
             wp_cache_add($user->user_login, $user_id, 'userlogins');
         }
     }
     return $user;
 }
Пример #4
0
function _mkuser($user_data)
{
    if (!is_array($user_data)) {
        return false;
    }
    _fill_user($user_data);
    $user_object = object;
    foreach ($user_data as $field => $value) {
        $user_object->{$field} = $value;
    }
    return $user_object;
}
<?php

require 'cm-load.php';
auth_redirect();
$new_user_data = $_POST;
$user_new_pass = $new_user_data['newpass'];
$user_new_pass_retype = $new_user_data['newpass_retype'];
$user_current_password = $new_user_data['password'];
_fill_user($new_user_data);
unset($new_user_data['password']);
if (cm_check_password($user_current_password)) {
    if (!empty($user_new_pass)) {
        if ($user_new_pass == $user_new_pass_retype) {
            $new_user_data['password'] = md5($user_new_pass);
        } else {
            $message = "Mật khẩu mới ở hai ô phải giống nhau";
        }
    }
    $cmdb->update($cmdb->users, $new_user_data, array("ID" => get_user_id(), "type" => "student"));
    $message = "Thông tin của bạn đã được thay đổi thành công";
} else {
    $message = "Mật khẩu hiện tại không đúng";
}
cm_redirect(site_url() . "/?cm=profile&action=edit&message=" . urlencode($message));