$result=db_query('SELECT name, title, weight, visibility FROM {profile_field} WHERE visibility IN (:visibility) ORDER BY weight',array(':visibility'=>array(PROFILE_PUBLIC,PROFILE_PUBLIC_LISTINGS)));
$result=db_query('SELECT * FROM {profile_field} WHERE visibility IN (:visibility) ORDER BY weight',array(':visibility'=>array(PROFILE_PUBLIC,PROFILE_PUBLIC_LISTINGS)));
foreach($resultas$record){
// Ensure that field is displayed only if it is among the defined block fields and, if it is private, the user has appropriate permissions.