annotate sites/all/modules/webform/components/fieldset.inc @ 11:b0ee71395280

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