function ulogin_settings_form_validate in uLogin (advanced version) 7
Form validation handler for the ulogin admin settings form.
File
- ./
ulogin.admin.inc, line 315 - Administration pages functions for uLogin module.
Code
function ulogin_settings_form_validate($form, &$form_state) {
$values =& $form_state['values'];
$providers = _ulogin_providers_list();
$fields = _ulogin_fields_list();
// Process 'main' checkboxes and remove them.
$providers_main_values = array();
foreach (array_keys($providers) as $provider_id) {
$providers_main_values[$provider_id] = $values['ulogin_provider_' . $provider_id . '_main'] ? $provider_id : '';
unset($values['ulogin_provider_' . $provider_id . '_main']);
}
// Remove weights so they are not saved as variables.
$providers_weights = array();
foreach (array_keys($providers) as $provider_id) {
$providers_weights[$provider_id] = $values['ulogin_provider_' . $provider_id . '_weight'];
unset($values['ulogin_provider_' . $provider_id . '_weight']);
}
asort($providers_weights);
$providers_enabled_values = $values['ulogin_providers'];
unset($values['ulogin_providers']);
$values['ulogin_providers_enabled'] = array();
$values['ulogin_providers_main'] = array();
foreach (array_keys($providers_weights) as $provider_id) {
$values['ulogin_providers_enabled'][$provider_id] = $providers_enabled_values[$provider_id];
$values['ulogin_providers_main'][$provider_id] = $providers_main_values[$provider_id];
}
// Process 'required' checkboxes and remove them.
$fields_required_values = array();
foreach (array_keys($fields) as $field_id) {
$fields_required_values[$field_id] = $values['ulogin_field_' . $field_id . '_required'] ? $field_id : '';
unset($values['ulogin_field_' . $field_id . '_required']);
}
$fields_enabled_values = $values['ulogin_fields'];
unset($values['ulogin_fields']);
$values['ulogin_fields_required'] = $fields_required_values;
$values['ulogin_fields_optional'] = array_diff_assoc($fields_enabled_values, $fields_required_values);
}