function multiple_registration_form_field_ui_field_edit_form_alter in Multiple Registration 7
Implements hook_form_FORM_ID_alter().
File
- ./
multiple_registration.module, line 395 - Add ability to create several registration pages.
Code
function multiple_registration_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id) {
if (!isset($form['#instance'])) {
return;
}
$instance = $form['#instance'];
if ($instance['entity_type'] == 'user' && !$form['#field']['locked']) {
$reg_pages = _multiple_registration_get_registration_pages();
if ($reg_pages) {
$roles = user_roles();
$options[MULTIPLE_REGISTRATION_GENERAL_REGISTRATION_ID] = t('General registered users');
foreach ($reg_pages as $rid => $page) {
$options[$rid] = t('Users with !role role', array(
'!role' => '<strong>' . $roles[$rid] . '</strong>',
));
}
$descr = t('Specify which of options are actual for this field. If nothing is selected, field is available for all variants.');
if (isset($instance['settings']['user_additional_register_form'])) {
$def_val = $instance['settings']['user_additional_register_form'];
}
else {
$def_val = array();
}
$form['instance']['settings']['user_additional_register_form'] = array(
'#type' => 'checkboxes',
'#title' => t('This field is needed for:'),
'#description' => $descr,
'#default_value' => $def_val,
// Show 2nd after required field.
'#weight' => $form['instance']['settings']['user_register_form']['#weight'] + 0.1,
'#options' => $options,
);
// Multiple registration 'required' options description and checks.
if (empty($form['instance']['required']['#default_value'])) {
$descr = t('<strong>Note: works only if "Required field" is unchecked!</strong>');
if (isset($instance['settings']['user_additional_register_form_required'])) {
$def_val = $instance['settings']['user_additional_register_form_required'];
}
else {
$def_val = array();
}
// Multiple registration 'required' options.
$form['instance']['settings']['user_additional_register_form_required'] = array(
'#type' => 'checkboxes',
'#title' => t('This field is required for:'),
'#description' => $descr,
'#default_value' => $def_val,
'#weight' => $form['instance']['settings']['user_additional_register_form']['#weight'] + 0.1,
'#options' => $options,
);
}
}
}
}