function compact_forms_pre_render in Compact Forms 7
#pre_render callback for all forms.
@todo Replace with #attached and move back into hook_form_alter().
1 string reference to 'compact_forms_pre_render'
- compact_forms_form_alter in ./
compact_forms.module - Implements hook_form_alter().
File
- ./
compact_forms.module, line 57 - Compact Forms Drupal module.
Code
function compact_forms_pre_render($form) {
static $css_ids, $form_ids, $loaded, $field_size, $descriptions;
// Prepare CSS form ids.
if (!isset($css_ids)) {
$css_ids = explode("\n", variable_get('compact_forms_ids', 'user-login-form'));
$css_ids = array_filter(array_map('trim', $css_ids));
}
// Prepare Form API form ids.
if (!isset($form_ids) && !empty($css_ids)) {
$form_ids = array();
foreach ($css_ids as $id) {
$form_ids[] = strtr($id, array(
'-' => '_',
));
}
}
// Prepare form alteration settings.
if (!isset($field_size)) {
$field_size = variable_get('compact_forms_field_size', '');
$descriptions = variable_get('compact_forms_descriptions', 1);
}
if (in_array($form['form_id']['#value'], $form_ids) || isset($form['#id']) && in_array($form['#id'], $css_ids)) {
// If the custom #compact_forms property has been programmatically set to
// FALSE, do not process this form.
if (isset($form['#compact_forms']) && !$form['#compact_forms']) {
// Also remove it from the CSS IDs being added as JS settings.
foreach ($css_ids as $key => $value) {
if ($value == $form['#id']) {
unset($css_ids[$key]);
}
}
return;
}
// Load our page requisites and JavaScript settings.
if (!isset($loaded)) {
_compact_forms_include_js($css_ids);
$loaded = TRUE;
}
// Only alter the form if a custom field size is configured or form element
// descriptions shall be hidden.
if (!empty($field_size) || !$descriptions) {
_compact_forms_resize_fields($form, $field_size, $descriptions);
}
}
return $form;
}