You are here

function simple_ldap_user_profile_map_form_submit in Simple LDAP 7.2

1 string reference to 'simple_ldap_user_profile_map_form_submit'
simple_ldap_user_profile_map_form in simple_ldap_user/simple_ldap_user.admin.inc
Admin form for mapping Drupal user attributes to LDAP attributes

File

simple_ldap_user/simple_ldap_user.admin.inc, line 370
Functions for Simple LDAP User admin interface.

Code

function simple_ldap_user_profile_map_form_submit($form, &$form_state) {
  $user_fields = array_keys(simple_ldap_user_user_fields());
  $attribute_map = array();
  foreach ($form_state['values'] as $key => $value) {
    if (strpos($key, 'simple_ldap_user_attribute_') !== FALSE && !empty($value)) {
      $field = substr($key, 27);
      $attribute_map[$value][] = $field;
    }
    if (strpos($key, 'simple_ldap_user_delimiter_') !== FALSE && !empty($value)) {
      $attr = substr($key, 27);
      if ($value == 'array') {
        unset($attribute_map[$attr]['#delimiter']);
      }
      else {
        $attribute_map[$attr]["#delimiter"] = $value == 'cr' ? "\r" : '$';
      }
    }
  }

  // Remove #delimiter from singleton values
  foreach ($attribute_map as $key => &$values) {
    if (array_key_exists('#delimiter', $values)) {
      if (count($values) == 2) {
        unset($values['#delimiter']);
        variable_del('simple_ldap_user_delimiter_' . $key);
      }
    }
  }
  variable_set('simple_ldap_user_attribute_map', $attribute_map);
}