You are here

private function LdapUserAdminForm::notifyMissingSyncServerCombination in Lightweight Directory Access Protocol (LDAP) 8.3

Check if the user starts with an an invalid configuration.

Parameters

\Drupal\Core\Config\Config $config: Config object.

1 call to LdapUserAdminForm::notifyMissingSyncServerCombination()
LdapUserAdminForm::buildForm in ldap_user/src/Form/LdapUserAdminForm.php
Form constructor.

File

ldap_user/src/Form/LdapUserAdminForm.php, line 474

Class

LdapUserAdminForm
Provides the form to configure user configuration and field mapping.

Namespace

Drupal\ldap_user\Form

Code

private function notifyMissingSyncServerCombination(Config $config) {
  $hasDrupalAcctProvServers = $config
    ->get('drupalAcctProvisionServer');
  $hasDrupalAcctProvSettingsOptions = count(array_filter($config
    ->get('drupalAcctProvisionTriggers'))) > 0;
  if (!$config
    ->get('drupalAcctProvisionServer') && $hasDrupalAcctProvSettingsOptions) {
    drupal_set_message($this
      ->t('No servers are enabled to provide provisioning to Drupal, but Drupal account provisioning options are selected.'), 'warning');
  }
  elseif ($hasDrupalAcctProvServers && !$hasDrupalAcctProvSettingsOptions) {
    drupal_set_message($this
      ->t('Servers are enabled to provide provisioning to Drupal, but no Drupal account provisioning options are selected. This will result in no syncing happening.'), 'warning');
  }
  $has_ldap_prov_servers = $config
    ->get('ldapEntryProvisionServer');
  $has_ldap_prov_settings_options = count(array_filter($config
    ->get('ldapEntryProvisionTriggers'))) > 0;
  if (!$has_ldap_prov_servers && $has_ldap_prov_settings_options) {
    drupal_set_message($this
      ->t('No servers are enabled to provide provisioning to LDAP, but LDAP entry options are selected.'), 'warning');
  }
  if ($has_ldap_prov_servers && !$has_ldap_prov_settings_options) {
    drupal_set_message($this
      ->t('Servers are enabled to provide provisioning to LDAP, but no LDAP entry options are selected. This will result in no syncing happening.'), 'warning');
  }
}