diff -urp --strip-trailing-cr ../drupal-6.x-dev/modules/user/user.module ./modules/user/user.module --- ../drupal-6.x-dev/modules/user/user.module 2007-10-12 12:41:48.000000000 +0200 +++ ./modules/user/user.module 2007-10-14 19:00:26.000000000 +0200 @@ -203,6 +203,11 @@ function user_save($account, $array = ar user_module_invoke('update', $array, $account, $category); $query = ''; $data = unserialize(db_result(db_query('SELECT data FROM {users} WHERE uid = %d', $account->uid))); + // Consider users edited by an administrator as logged in, if they haven't + // already, so anonymous users can view the profile (if allowed). + if (empty($array['access']) && empty($account->access) && user_access('administer users')) { + $array['access'] = time(); + } foreach ($array as $key => $value) { if ($key == 'pass' && !empty($value)) { $query .= "$key = '%s', "; @@ -269,6 +274,11 @@ function user_save($account, $array = ar if (!isset($array['created'])) { // Allow 'created' to be set by the caller $array['created'] = time(); } + // Consider users created by an administrator as already logged in, so + // anonymous users can view the profile (if allowed). + if (empty($array['access']) && user_access('administer users')) { + $array['access'] = time(); + } // Note, we wait with saving the data column to prevent module-handled // fields from being saved there. We cannot invoke hook_user('insert') here