$new_user = new se_user();
 $new_user->user_password('', $password, $password, 0);
 if ($is_error == 0) {
     $is_error = $new_user->is_error;
 }
 // CHECK THAT INVITES LEFT IS BETWEEN 0 AND 999
 if (!is_numeric($user_invitesleft) || $user_invitesleft > 999) {
     $is_error = 1142;
 }
 // SAVE CHANGES IF NO ERROR
 if ($is_error == 0) {
     // SET RESULT
     $result = 191;
     // SET SUBNETWORK
     if ($user_email != $user->user_info[user_email] && ($setting[setting_subnet_field1_id] == 0 || $setting[setting_subnet_field2_id] == 0) || $user_profilecat_id != $user->user_info[user_profilecat_id] && ($setting[setting_subnet_field1_id] == -1 || $setting[setting_subnet_field2_id] == -1)) {
         $subnet = $user->user_subnet_select($user_email, $user_profilecat_id, $user->profile_info);
         if ($subnet[0] != $user->user_info[user_subnet_id]) {
             $user->user_info[user_subnet_id] = $subnet[0];
             $user->subnet_info[subnet_id] = $subnet[0];
             $user->subnet_info[subnet_name] = $subnet[1];
             $result = 1143;
         }
     }
     // ENCRYPT NEW PASSWORD IF CHANGED
     if (trim($user_password)) {
         $user_password = $user->user_password_crypt($user_password);
     } else {
         $user_password = $user->user_info['user_password'];
     }
     // SET USERNAME TO THE SAME IT WAS BEFORE IF NECESSARY
     if (!$setting[setting_username]) {
 $new_user = new se_user(array($u));
 if ($new_user->user_exists == 0) {
     $is_error = 1039;
 }
 // ENSURE NEW EMAIL NOT ALREADY TAKEN
 if ($database->database_num_rows($database->database_query("SELECT user_id FROM se_users WHERE user_email='{$new_user->user_info['user_newemail']}' AND user_id<>'{$new_user->user_info['user_id']}'")) != 0) {
     $is_error = 1037;
 }
 // CHECK VERIFICATION URL
 if (md5($new_user->user_info['user_code']) !== $verify) {
     $is_error = 1039;
 }
 // VERIFY EMAIL ADDRESS IF NO ERROR
 if ($is_error == 0) {
     // SET SUBNETWORK
     $subnet = $new_user->user_subnet_select($new_user->user_info['user_newemail'], $new_user->user_info['user_profilecat_id'], $new_user->profile_info);
     if ($subnet[0] != $new_user->user_info['user_subnet_id']) {
         $new_subnet_id = $subnet[0];
         $result = 1041;
     } else {
         $new_subnet_id = $new_user->user_info['user_subnet_id'];
         $result = 1028;
     }
     $database->database_query("UPDATE se_users SET user_subnet_id='{$new_subnet_id}', user_verified='1', user_email='{$new_user->user_info['user_newemail']}' WHERE user_id='{$new_user->user_info['user_id']}'");
     // IF USER JUST SIGNED UP
     if (!$new_user->user_info['user_verified']) {
         // SEND WELCOME EMAIL
         send_systememail('welcome', $new_user->user_info['user_newemail'], array($new_user->user_displayname, $new_user->user_info['user_newemail'], '', "<a href=\"" . $url->url_base . "login.php\">" . $url->url_base . "login.php</a>"));
         // INSERT ACTION (IF VERIFICATION REQUIRED)
         $actions->actions_add($new_user, "signup", array($new_user->user_info['user_username'], $new_user->user_displayname), array(), 0, false, "user", $new_user->user_info['user_id'], $new_user->user_info['user_privacy']);
     }