You are here

function simple_ldap_user_import in Simple LDAP 7.2

Same name and namespace in other branches
  1. 7 simple_ldap_user/simple_ldap_user.admin.inc \simple_ldap_user_import()

Form to handle mass user import.

1 string reference to 'simple_ldap_user_import'
simple_ldap_user_menu in simple_ldap_user/simple_ldap_user.module
Implements hook_menu().

File

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

Code

function simple_ldap_user_import($form, &$form_state) {
  $form = array();

  // Get LDAP Configuration.
  $server = SimpleLdapServer::singleton();
  $basedn = simple_ldap_user_variable_get('simple_ldap_user_basedn');
  $scope = simple_ldap_user_variable_get('simple_ldap_user_scope');
  $attribute_name = strtolower(simple_ldap_user_variable_get('simple_ldap_user_attribute_name'));
  $filter = '(&(' . $attribute_name . '=*)' . SimpleLdapUser::filter() . ')';

  // Get a list of users that would be imported.
  $ldap_users = SimpleLdap::clean($server
    ->search($basedn, $filter, $scope, array(
    'dn',
    $attribute_name,
  )));

  // Reformat the LDAP array.
  $users = array();
  foreach ($ldap_users as $dn => $entry) {
    $users[$entry[$attribute_name][0]] = $entry[$attribute_name][0];
  }
  asort($users);
  $form['users'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Import these users (@count)', array(
      '@count' => count($users),
    )),
    '#options' => $users,
    '#default_value' => array_keys($users),
    '#checkall' => TRUE,
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Import'),
  );
  return $form;
}