protected function LdapUserMappingBaseForm::syncMappingsFromForm in Lightweight Directory Access Protocol (LDAP) 8.4
Extract sync mappings array from mapping table in admin form.
Parameters
array $values: Form values.
Return value
array Returns the relevant mappings.
2 calls to LdapUserMappingBaseForm::syncMappingsFromForm()
- LdapUserMappingBaseForm::submitForm in ldap_user/
src/ Form/ LdapUserMappingBaseForm.php  - Form submission handler.
 - LdapUserMappingBaseForm::validateForm in ldap_user/
src/ Form/ LdapUserMappingBaseForm.php  - Form validation handler.
 
File
- ldap_user/
src/ Form/ LdapUserMappingBaseForm.php, line 206  
Class
- LdapUserMappingBaseForm
 - Provides the form to configure user configuration and field mapping.
 
Namespace
Drupal\ldap_user\FormCode
protected function syncMappingsFromForm(array $values) : array {
  $mappings = [];
  foreach ($values['mappings'] as $row) {
    if (isset($row['source']) && !empty($row['source']) && $row['configured_mapping'] == TRUE && $row['delete'] == FALSE) {
      $events = [];
      foreach ($this->events as $event) {
        if ($row[$event] == 1) {
          $events[] = $event;
        }
      }
      $mapping = new Mapping($row['target'], (string) $this
        ->t('User defined mapping for @field', [
        '@field' => $row['target'],
      ]), TRUE, TRUE, $events, 'ldap_user', 'ldap_user');
      $mapping
        ->convertBinary((bool) $row['convert']);
      if (!empty($row['user_tokens'])) {
        $mapping
          ->setUserTokens(trim($row['user_tokens']));
      }
      $this
        ->setSpecificMapping($mapping, $row);
      $mappings[$this
        ->sanitizeMachineName($row['target'])] = $mapping
        ->serialize();
    }
  }
  return $mappings;
}