Make WordPress Core


Ignore:
Timestamp:
07/09/2005 01:27:46 AM (20 years ago)
Author:
matt
Message:

Massive user_level fix. We were still using the user_level field in wp_users in some places, where we should just use the table prefixed usermeta value.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/users.php

    r2698 r2702  
    11<?php
    22require_once('admin.php');
     3require_once( ABSPATH . WPINC . '/registration-functions.php');
    34
    45$title = __('Users');
    56$parent_file = 'profile.php';
    67   
    7 $wpvarstoreset = array('action');
    8 for ($i=0; $i<count($wpvarstoreset); $i += 1) {
    9     $wpvar = $wpvarstoreset[$i];
    10     if (!isset($$wpvar)) {
    11         if (empty($_POST["$wpvar"])) {
    12             if (empty($_GET["$wpvar"])) {
    13                 $$wpvar = '';
    14             } else {
    15                 $$wpvar = $_GET["$wpvar"];
    16             }
    17         } else {
    18             $$wpvar = $_POST["$wpvar"];
    19         }
    20     }
    21 }
     8$action = $_REQUEST['action'];
    229
    2310switch ($action) {
     
    4835    $user_nickname = $user_login;
    4936
    50     /* checking that the username isn't already used by another user */
    51     $loginthere = $wpdb->get_var("SELECT user_login FROM $wpdb->users WHERE user_login = '$user_login'");
    52     if ($loginthere)
     37    if ( username_exists( $user_login ) )
    5338        die (__('<strong>ERROR</strong>: This username is already registered, please choose another one.'));
    5439
    5540    /* checking e-mail address */
    56     if (empty($_POST["email"])) {
     41    if (empty($user_email)) {
    5742        die (__("<strong>ERROR</strong>: please type an e-mail address"));
    5843        return false;
    59     } else if (!is_email($_POST["email"])) {
     44    } else if (!is_email($user_email)) {
    6045        die (__("<strong>ERROR</strong>: the email address isn't correct"));
    6146        return false;
    6247    }
    6348
    64     $user_ID = $wpdb->get_var("SELECT ID FROM $wpdb->users ORDER BY ID DESC LIMIT 1") + 1;
    65 
    66     $user_nicename = sanitize_title($user_nickname, $user_ID);
    67     $user_uri = preg_match('/^(https?|ftps?|mailto|news|gopher):/is', $user_uri) ? $user_uri : 'http://' . $user_uri;
    68     $now = gmdate('Y-m-d H:i:s');
    69     $new_users_can_blog = get_settings('new_users_can_blog');
    70 
    71     $result = $wpdb->query("INSERT INTO $wpdb->users
    72         (user_login, user_pass, user_email, user_registered, user_level, user_nicename, user_url)
    73     VALUES
    74         ('$user_login', MD5('$pass1'), '$user_email', '$now', '$new_users_can_blog', '$user_nicename', '$user_uri')");
    75    
    76     if ($result == false)
    77         die (__('<strong>ERROR</strong>: Couldn&#8217;t register you!'));
    78 
     49    $user_ID = create_user( $user_login, $pass1, $user_email, 0 );
     50
     51    update_usermeta( $user_ID, 'first_name', $user_firstname);
     52    update_usermeta( $user_ID, 'last_name', $user_lastname);
     53    update_usermeta( $user_ID, 'first_name', $user_firstname);
     54   
    7955    $stars = '';
    8056    for ($i = 0; $i < strlen($pass1); $i = $i + 1)
     
    9773    }
    9874
    99     $id = $_GET['id'];
     75    $id = (int) $_GET['id'];
    10076    $prom = $_GET['prom'];
    10177
    10278    $user_data = get_userdata($id);
     79
    10380    $usertopromote_level = $user_data->user_level;
    10481
    105     if ($user_level <= $usertopromote_level) {
     82    if ( $user_level <= $usertopromote_level )
    10683        die(__('Can&#8217;t change the level of a user whose level is higher than yours.'));
    107     }
    10884
    10985    if ('up' == $prom) {
    11086        $new_level = $usertopromote_level + 1;
    111         $sql="UPDATE $wpdb->users SET user_level=$new_level WHERE ID = $id AND $new_level < $user_level";
    11287    } elseif ('down' == $prom) {
    11388        $new_level = $usertopromote_level - 1;
    114         $sql="UPDATE $wpdb->users SET user_level=$new_level WHERE ID = $id AND $new_level < $user_level";
    115     }
    116     $result = $wpdb->query($sql);
     89    }
     90    update_usermeta( $id, $wpdb->prefix . 'user_level', $new_level);
    11791
    11892    header('Location: users.php');
     
    164138    </tr>
    165139    <?php
    166     $users = $wpdb->get_results("SELECT ID FROM $wpdb->users WHERE user_level > 0 ORDER BY ID");
     140    $authors =
     141    $users = get_author_user_ids();
    167142    $style = '';
    168143    foreach ($users as $user) {
    169         $user_data = get_userdata($user->ID);
     144        $user_data = get_userdata($user);
    170145        $email = $user_data->user_email;
    171146        $url = $user_data->user_url;
     
    177152        $short_url =  substr($short_url, 0, 32).'...';
    178153        $style = ('class="alternate"' == $style) ? '' : 'class="alternate"';
    179         $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = $user->ID and post_status = 'publish'");
     154        $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '$user' and post_status = 'publish'");
    180155        if (0 < $numposts) $numposts = "<a href='edit.php?author=$user_data->ID' title='" . __('View posts') . "'>$numposts</a>";
    181156        echo "
     
    206181
    207182<?php
    208 $users = $wpdb->get_results("SELECT * FROM $wpdb->users WHERE user_level = 0 ORDER BY ID");
     183$users = get_nonauthor_user_ids();
    209184if ($users) {
    210185?>
     
    225200$style = '';
    226201foreach ($users as $user) {
    227     $user_data = get_userdata($user->ID);
     202    $user_data = get_userdata($user);
    228203    $email = $user_data->user_email;
    229204    $url = $user_data->user_url;
Note: See TracChangeset for help on using the changeset viewer.