function ldapdata_admin_edit_validate in LDAP integration 6
Validate hook for the settings form.
File
- ./
ldapdata.admin.inc, line 323 - Module admin page callbacks.
Code
function ldapdata_admin_edit_validate($form, &$form_state) {
$op = $form_state['clicked_button']['#value'];
$values = $form_state['values'];
switch ($op) {
case t('Update'):
$form_state['ldapdata_attrs'] = array();
$ldapdata_attrs = TRUE;
foreach (trim($values['attributes']['ldapdata_attrs']) ? explode("\n", trim($values['attributes']['ldapdata_attrs'])) : array() as $line) {
if (count($data = explode('|', trim($line))) == 6) {
$form_state['ldapdata_attrs'] += array(
trim(array_shift($data)) => $data,
);
}
else {
$ldapdata_attrs = FALSE;
}
}
if (!$ldapdata_attrs) {
form_set_error('attributes][ldapdata_attrs', t('Bad attribute syntax.'));
}
$form_state['ldapdata_mappings'] = array();
$form_state['ldapdata_mappings']['access'] = $values['ldapdata_mapping'];
if ($form_state['ldapdata_mappings']['access'] >= 4) {
foreach (element_children($values) as $attr) {
if (preg_match("/ldap_amap/", $attr) && $values[$attr]) {
$form_state['ldapdata_mappings'][$attr] = $values[$attr];
}
}
}
$form_state['ldapdata_mappings'] = !empty($form_state['ldapdata_mappings']) ? serialize($form_state['ldapdata_mappings']) : '';
$form_state['ldapdata_roattrs'] = isset($values['attributes']['ldapdata_roattrs']) ? array_values(array_intersect($values['attributes']['ldapdata_roattrs'], array_keys($form_state['ldapdata_attrs']))) : array();
$form_state['ldapdata_roattrs'] = !empty($form_state['ldapdata_roattrs']) ? serialize($form_state['ldapdata_roattrs']) : '';
$form_state['ldapdata_rwattrs'] = isset($values['attributes']['ldapdata_rwattrs']) ? array_values(array_intersect($values['attributes']['ldapdata_rwattrs'], array_keys($form_state['ldapdata_attrs']))) : array();
$form_state['ldapdata_rwattrs'] = !empty($form_state['ldapdata_rwattrs']) ? serialize($form_state['ldapdata_rwattrs']) : '';
$form_state['ldapdata_attrs'] = !empty($form_state['ldapdata_attrs']) ? serialize($form_state['ldapdata_attrs']) : '';
$form_state['ldapdata_filter_php'] = trim($values['attributes']['ldapdata_filter_php']);
$form_state['ldapdata_rwattrs'] = empty($form_state['ldapdata_filter_php']) ? $form_state['ldapdata_rwattrs'] : '';
break;
}
}