diff --git a/modules/sms_user/sms_user.module b/modules/sms_user/sms_user.module index fcc4c57..6f3e2dd 100644 --- a/modules/sms_user/sms_user.module +++ b/modules/sms_user/sms_user.module @@ -486,8 +486,7 @@ function sms_user_form_alter(&$form, &$form_state, $form_id) { if (variable_get('sms_user_registration_form', 0) == 2) { $required = TRUE; } - - + $form['sms_user'] += sms_send_form($required); return $form; @@ -579,7 +578,7 @@ function sms_user_save(&$edit, &$account, $category) { $primary_keys = array('number'); } drupal_write_record('sms_user', $number, $primary_keys); - + $edit['sms_user']['number'] = NULL; $edit['sms_user']['status'] = NULL; $edit['sms_user']['code'] = NULL; @@ -601,7 +600,7 @@ function sms_user_delete($uid, $number = FALSE) { if (is_object($uid)) { $uid = $uid->uid; } - + $query = db_delete('sms_user') ->condition('uid', $uid); if ($number) { @@ -910,3 +909,54 @@ function sms_user_sms_logout() { function sms_user_views_api() { return array('api' => 2); } + +/** + * Allows for setting Phonenumber, Status and Gateway using feeds + * Implements hook_feeds_processor_targets_alter() + * @param unknown_type $targets + * @param unknown_type $entity_type + * @param unknown_type $bundle + */ +function sms_user_feeds_processor_targets_alter(&$targets, $entity_type, $bundle) { + $targets['sms_user_phonenumber'] = array( + 'name' => t('SMS User Phonenumber'), + 'description' => t('The Phone number for the user to be used in the SMS Framework.'), + 'optional_unique' => TRUE, + 'callback' => '_sms_user_feedsprocess_set_value' + ); + $targets['sms_user_status'] = array( + 'name' => t('SMS User Status'), + 'description' => t('The Phone number for the user to be used in the SMS Framework.'), + 'optional_unique' => TRUE, + 'callback' => '_sms_user_feedsprocess_set_value' + ); + $targets['sms_user_gateway'] = array( + 'name' => t('SMS User Gateway'), + 'description' => t('The Phone number for the user to be used in the SMS Framework.'), + 'optional_unique' => TRUE, + 'callback' => '_sms_user_feedsprocess_set_value' + ); +} + +/** + * Callback function for feeds that sets the 3 fields we support for this + * + * @param unknown_type $source + * @param unknown_type $target_item + * @param unknown_type $target + * @param unknown_type $value + * @param unknown_type $mapping + */ +function _sms_user_feedsprocess_set_value($source, $target_item, $target, $value, $mapping) { + switch($target) { + case 'sms_user_phonenumber': + $target_item->sms_user['number'] = $value; + break; + case 'sms_user_status': + $target_item->sms_user['status'] = $value; + break; + case 'sms_user_gateway': + $target_item->sms_user['gateway'] = $value; + break; + } +} \ No newline at end of file