[ Index ]

PHP Cross Reference of Drupal 6 (yi-drupal)

title

Body

[close]

/sites/all/modules/webform/components/ -> fieldset.inc (source)

   1  <?php
   2  
   3  /**
   4   * @file
   5   * Webform module fieldset component.
   6   */
   7  
   8  /**
   9   * Implements _webform_defaults_component().
  10   */
  11  function _webform_defaults_fieldset() {
  12    return array(
  13      'name' => '',
  14      'form_key' => NULL,
  15      'pid' => 0,
  16      'weight' => 0,
  17      'extra' => array(
  18        'title_display' => 0,
  19        'collapsible' => 0,
  20        'collapsed' => 0,
  21        'description' => '',
  22        'private' => FALSE,
  23      ),
  24    );
  25  }
  26  
  27  /**
  28   * Implements _webform_edit_component().
  29   */
  30  function _webform_edit_fieldset($component) {
  31    $form = array();
  32    $form['display']['collapsible'] = array(
  33      '#type' => 'checkbox',
  34      '#title' => t('Collapsible'),
  35      '#default_value' => $component['extra']['collapsible'],
  36      '#description' => t('If this fieldset is collapsible, the user may open or close the fieldset.'),
  37      '#weight' => 0,
  38      '#parents' => array('extra', 'collapsible'),
  39    );
  40    $form['display']['collapsed'] = array(
  41      '#type' => 'checkbox',
  42      '#title' => t('Collapsed by Default'),
  43      '#default_value' => $component['extra']['collapsed'],
  44      '#description' => t('Collapsible fieldsets are "open" by default. Select this option to default the fieldset to "closed."'),
  45      '#weight' => 3,
  46      '#parents' => array('extra', 'collapsed'),
  47    );
  48    return $form;
  49  }
  50  
  51  /**
  52   * Implements _webform_render_component().
  53   */
  54  function _webform_render_fieldset($component, $value = NULL, $filter = TRUE) {
  55    $node = isset($component['nid']) ? node_load($component['nid']) : NULL;
  56  
  57    $element = array(
  58      '#type' => 'fieldset',
  59      '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'],
  60      '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : NULL,
  61      '#weight' => $component['weight'],
  62      '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'],
  63      '#collapsible' => $component['extra']['collapsible'],
  64      '#collapsed' => $component['extra']['collapsed'],
  65      '#attributes' => array('class' => 'webform-component-fieldset'),
  66      '#pre_render' => array('webform_fieldset_prerender', 'webform_element_title_display'),
  67      '#translatable' => array('title', 'description'),
  68    );
  69  
  70    return $element;
  71  }
  72  
  73  /**
  74   * Pre-render function to set a fieldset ID.
  75   */
  76  function webform_fieldset_prerender($element) {
  77    $element['#attributes']['id'] = 'webform-component-' . str_replace('_', '-', implode('--', array_slice($element['#parents'], 1)));
  78    return $element;
  79  }
  80  
  81  /**
  82   * Implements _webform_display_component().
  83   */
  84  function _webform_display_fieldset($component, $value, $format = 'html') {
  85    if ($format == 'text') {
  86      $element = array(
  87        '#title' => $component['name'],
  88        '#weight' => $component['weight'],
  89        '#post_render' => array('webform_element_wrapper'),
  90        '#theme_wrappers' => array('webform_element_text'),
  91        '#translatable' => array('title'),
  92      );
  93    }
  94    else {
  95      $element = _webform_render_fieldset($component, $value);
  96    }
  97  
  98    $element['#format'] = $format;
  99  
 100    return $element;
 101  }


Generated: Mon Jul 9 18:01:44 2012 Cross-referenced by PHPXref 0.7