I am trying to update a user programmatically in Drupal 7.
User records have multiple custom fields, configured via admin interface #overlay=admin/config/people/accounts/fields
My code sets text and datetime fields fine, but fails to update a phone number field.
Error message:
EntityMetadataWrapperException: Unknown data property field_mobilephone.
in EntityStructureWrapper->getPropertyInfo()
(line 335 of /Applications/MAMP/htdocs/sites/all/modules/entity/includes/entity.wrapper.inc)
Code:
$new_user = user_save(null, $fields);
$obj = entity_metadata_wrapper('user', $new_user);
$obj->field_firstname->set($_REQUEST['firstname']);
$obj->field_lastname->set($_REQUEST['lastname']);
$obj->field_mobilephone->set($_REQUEST['mobilephone']);
When I do var_dump($obj)
I can see all configured text fields in the output, but not the phone number fields.
Field type is 'phone number', provided by the cck_phone-7.x-1.x-dev module (I couldn't find any other place where it could come from).
So question is how do I set phone number field via entity_metadata_wrapper?
$obj->field_mobilephone->set(array('number' => $_REQUEST['mobilephone']));
?$obj->field_mobilephone;
produces the same EntityMetadataWrapperException: Unknown data property field_mobilephone