Index: profile.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile.module,v
retrieving revision 1.102
diff -u -r1.102 profile.module
--- profile.module 1 Aug 2005 05:14:05 -0000 1.102
+++ profile.module 1 Aug 2005 12:31:19 -0000
@@ -70,6 +70,7 @@
}
if ($fields) {
+ _profile_update_user_fields($fields, $account);
$output .= theme('profile_block', $account, $fields, true);
}
@@ -164,7 +165,9 @@
$output = '
';
while ($account = db_fetch_object($result)) {
- $output .= theme('profile_listing', user_load(array('uid' => $account->uid)), $fields);
+ $user = user_load(array('uid' => $account->uid));
+ _profile_update_user_fields($fields, $user);
+ $output .= theme('profile_listing', $user, $fields);
}
$output .= theme('pager', NULL, 20);
@@ -195,7 +198,9 @@
$output = '
';
while ($account = db_fetch_object($result)) {
- $output .= theme('profile_listing', user_load(array('uid' => $account->uid)), $fields);
+ $user = user_load(array('uid' => $account->uid));
+ _profile_update_user_fields($fields, $user);
+ $output .= theme('profile_listing', $user, $fields);
}
$output .= '
';
$output .= theme('pager', NULL, 20);
@@ -367,6 +372,17 @@
}
/**
+ * Helper function: update an array of user fields by calling profile_view_field
+ */
+function _profile_update_user_fields(&$fields, $user) {
+ foreach ($fields as $key => $field) {
+ if ($value = profile_view_field($user, $field)) {
+ $fields[$key]->value = $value;
+ }
+ }
+}
+
+/**
* Helper function: output a date selector
*/
function _profile_date_field($field, $edit) {
@@ -637,7 +653,7 @@
$output .= theme('user_picture', $user);
foreach ($fields as $field) {
- if ($value = profile_view_field($user, $field)) {
+ if ($field->value) {
$output .= "
$field->title:
$value
\n";
}
}
@@ -652,7 +668,7 @@
$output .= '
'. theme('username', $user) ."
\n";
foreach ($fields as $field) {
- if ($value = profile_view_field($user, $field)) {
+ if ($field->value) {
$output .= "
$value
\n";
}
}