You are here

function theme_form_builder_element_wrapper in Form Builder 7

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

Output the wrapper around a form_builder element with configure/remove links.

File

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

Code

function theme_form_builder_element_wrapper($variables) {
  $element = $variables['element'];
  $removable = isset($element['#form_builder']['removable']) ? $element['#form_builder']['removable'] : TRUE;
  $configurable = isset($element['#form_builder']['configurable']) ? $element['#form_builder']['configurable'] : TRUE;
  $cloneable = form_builder_menu_field_access('clone', $element['#form_builder']['form_type'], $element['#form_builder']['form_id'], $element['#form_builder']['element_id']);
  $output = '';
  $output .= '<div class="form-builder-wrapper">';
  if ($removable || $configurable) {
    $output .= '<div class="form-builder-title-bar">';
    $output .= '<span class="form-builder-links">';
    if ($removable) {
      $output .= l('<span class="remove">' . t('Remove') . '</span>', 'admin/structure/form-builder/remove/' . $element['#form_builder']['form_type'] . '/' . $element['#form_builder']['form_id'] . '/' . $element['#form_builder']['element_id'], array(
        'html' => TRUE,
        'attributes' => array(
          'class' => array(
            'remove',
          ),
          'title' => t('Remove'),
        ),
        'query' => drupal_get_destination(),
      ));
    }
    if ($removable && $configurable) {
      $output .= ' ';
    }
    if ($configurable) {
      $output .= l('<span class="configure">' . t('Configure') . '</span>', 'admin/structure/form-builder/configure/' . $element['#form_builder']['form_type'] . '/' . $element['#form_builder']['form_id'] . '/' . $element['#form_builder']['element_id'], array(
        'html' => TRUE,
        'attributes' => array(
          'class' => array(
            'configure',
          ),
          'title' => t('Configure'),
        ),
        'query' => drupal_get_destination(),
      ));
    }
    $output .= '</span>';
    $output .= '</div>';
  }
  if ($cloneable) {
    $output .= '<div class="form-builder-bottom-title-bar">';
    $output .= '<span class="form-builder-bottom-links">';
    $output .= l('<span class="clone">' . t('Copy') . '</span>', 'admin/structure/form-builder/clone/' . $element['#form_builder']['form_type'] . '/' . $element['#form_builder']['form_id'] . '/' . $element['#form_builder']['element_id'], array(
      'html' => TRUE,
      'attributes' => array(
        'class' => array(
          'clone',
        ),
        'title' => t('Copy'),
      ),
      'query' => drupal_get_destination(),
    ));
    $output .= '</span>';
    $output .= '</div>';
  }
  $output .= '<div class="form-builder-element form-builder-element-' . $element['#type'] . '" id="form-builder-element-' . $element['#form_builder']['element_id'] . '">';

  // TODO: Overlay image: good idea or bad idea? Prevents any interaction with
  // form elements in the preview.

  //$output .= theme('image', drupal_get_path('module', 'form_builder') .'/images/blank.gif', '', '', array('width' => '1', 'height' => '1', 'class' => 'form-builder-disable'));
  $output .= $element['#children'];
  $output .= '</div></div>';
  return $output;
}