You are here

function form_builder_pre_render_form in Form Builder 7

Same name and namespace in other branches
  1. 6 includes/form_builder.admin.inc \form_builder_pre_render_form()
  2. 7.2 includes/form_builder.admin.inc \form_builder_pre_render_form()

Pre-render function to alter the form being edited by Form builder.

This function modifies the form element itself and sets a #title to label the form preview and an #show_palette property to indicate to the theme wrapper whether the field palette should be added.

1 string reference to 'form_builder_pre_render_form'
form_builder_preview in includes/form_builder.admin.inc
Form. Given a form array, present it for editing in a preview.

File

includes/form_builder.admin.inc, line 546
form_builder.admin.inc Administrative interface for editing forms.

Code

function form_builder_pre_render_form($form) {
  global $theme;

  // We can't have forms inside of forms, so change this entire form a markup.
  $form['#type'] = 'markup';

  // Set a title for the preview if none exists.
  $form['#title'] = !isset($form['#title']) ? t('Form preview') : $form['#title'];

  // Remove unnecessary FAPI elements.
  unset($form['form_build_id']);
  unset($form['form_token']);
  unset($form['form_builder_preview']);

  // Check if the Form Builder block is enabled.
  // Otherwise make our own columns.
  if (!isset($form['#show_palette'])) {
    if (module_exists('block')) {
      $form['#show_palette'] = !db_query("SELECT status FROM {block} WHERE module = 'form_builder' AND theme = :theme", array(
        ':theme' => $theme,
      ))
        ->fetchField();
    }
    else {
      $form['#show_palette'] = TRUE;
    }
  }
  if ($theme == 'garland' || $theme == 'minnelli') {
    $form['#attached']['css'][] = drupal_get_path('module', 'form_builder') . '/form_builder.garland.css';
  }
  return $form;
}