Make WordPress Core


Ignore:
Timestamp:
07/09/2005 01:27:46 AM (21 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.