function janrain_capture_mapping_janrain_capture_profile_sync in Janrain Registration 7
Same name and namespace in other branches
- 7.4 janrain_capture_mapping/janrain_capture_mapping.module \janrain_capture_mapping_janrain_capture_profile_sync()
- 7.2 janrain_capture_mapping/janrain_capture_mapping.module \janrain_capture_mapping_janrain_capture_profile_sync()
- 7.3 janrain_capture_mapping/janrain_capture_mapping.module \janrain_capture_mapping_janrain_capture_profile_sync()
Implements hook_janrain_capture_profile_sync().
File
- janrain_capture_mapping/
janrain_capture_mapping.module, line 75 - This module implements a data mapping UI for Janrain Capture
Code
function janrain_capture_mapping_janrain_capture_profile_sync($account, $profile) {
$map = variable_get('janrain_capture_mapping_map', array());
$wrapper = entity_metadata_wrapper('user', $account);
$capture_fields = db_query("SELECT fid, path FROM {janrain_capture_mapping_field}")
->fetchAllKeyed();
foreach ($map as $mapping) {
try {
$value = $profile[$capture_fields[$mapping['fid']]];
if (isset($mapping['column']) && $mapping['column'] != 'value') {
$value = array(
$mapping['column'] => $profile[$capture_fields[$mapping['fid']]],
);
}
$wrapper->{$mapping['field']} = $value;
} catch (EntityMetadataWrapperException $e) {
watchdog('Capture Mapping', 'Attempt to map attr @attr to field @field failed', array(
'@attr' => $profile[$capture_fields[$mapping['fid']]],
'@field' => $mapping['field'],
));
}
}
}