function field_encrypt_form_field_ui_field_edit_form_alter in Field Encryption 7
Implements hook_form_FORM_ID_alter().
File
- ./
field_encrypt.module, line 59 - Core functions for the Field Encryption module.
Code
function field_encrypt_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id) {
// Obtain the field name from form (should really be $form_state,
// but the Date field doesn't comply).
$field_name = $form['#field']['field_name'];
// Try to obtain information about this field.
$field_info = field_info_field($field_name);
$field_type_info = field_info_field_types($field_info['type']);
// Check that there are encryptable columns on this field as Indexes can not
// be encrypted.
if (array_keys($field_info['columns']) == array_keys($field_info['indexes'])) {
return;
}
$fld_settings =& $field_info['settings'];
$form_state['field_encrypt'] = array(
'field_name' => $field_name,
'field_info' => $field_info,
'field_type_info' => $field_type_info,
'encrypt' => isset($fld_settings['field_encrypt']) ? $fld_settings['field_encrypt']['encrypt'] : FALSE,
);
$settings =& $form['field']['settings'];
$settings['field_encrypt'] = array(
'#type' => 'fieldset',
'#title' => t('Encrypt this field'),
'#description' => t('Set up the parameters for encrypting this field.'),
'#tree' => TRUE,
'encrypt' => array(
'#type' => 'checkbox',
'#title' => t('Encrypt this field'),
'#default_value' => $form_state['field_encrypt']['encrypt'],
'#weight' => 0,
),
'#weight' => -2,
);
// Hide the option from non-privileged users, but ensure the values carried
// through.
if (!user_access('administer text field encryption')) {
$field_encrypt =& $settings['field_encrypt'];
$field_encrypt['encrypt']['#type'] = 'value';
$field_encrypt['encrypt']['#value'] = $field_encrypt['encrypt']['#default_value'];
}
}