profile_save_profile

Versions
4.6 – 4.7
profile_save_profile(&$edit, &$user, $category)
5 – 6
profile_save_profile(&$edit, &$user, $category, $register = FALSE)
7
profile_save_profile(&$edit, $account, $category, $register = FALSE)

Code

modules/profile.module, line 157

<?php
function profile_save_profile(&$edit, &$user, $category) {
  if (($_GET['q'] == 'user/register') ? 1 : 0) {
    $result = db_query('SELECT fid, name, type, category, weight FROM {profile_fields} WHERE register = 1 ORDER BY category, weight');
  }
  else {
    $result = db_query("SELECT fid, name, type FROM {profile_fields} WHERE LOWER(category) = LOWER('%s')", $category);
    // We use LOWER('%s') instead of PHP's strtolower() to avoid UTF-8 conversion issues.
  }
  while ($field = db_fetch_object($result)) {
    if (_profile_field_serialize($field->type)) {
       $edit[$field->name] = serialize($edit[$field->name]);
    }
    db_query("DELETE FROM {profile_values} WHERE fid = %d AND uid = %d", $field->fid, $user->uid);
    db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES (%d, %d, '%s')", $field->fid, $user->uid, $edit[$field->name]);
    // Mark field as handled (prevents saving to user->data).
    $edit[$field->name] = null;
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.