--- advuser.module 2007-09-30 03:34:57.000000000 -0400 +++ advuser.module 2008-01-09 13:39:38.000000000 -0500 @@ -752,7 +752,16 @@ ); $fields = array(); - $result = db_query('SELECT * FROM {profile_fields} WHERE visibility != %d ORDER BY category, weight', PROFILE_HIDDEN); + $sql = 'SELECT * FROM {profile_fields}'; + if (!user_access('administer users')) { + $filters[] = ' visibility != %d'; + $args[] = PROFILE_HIDDEN; + } + if (count($filters) > 0) { + $sql .= ' WHERE' . implode(' AND ', $filters); + } + $sql .= ' ORDER BY category, weight'; + $result = db_query($sql, $args); while ( $row = db_fetch_object($result)) { $fields[$row->fid] = $row->title; }