diff --git a/components/date.inc b/components/date.inc index 163d37a..28a7930 100644 --- a/components/date.inc +++ b/components/date.inc @@ -118,17 +118,19 @@ function _webform_edit_date($component) { * Implements _webform_render_component(). */ function _webform_render_date($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'date', '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', '#weight' => $component['weight'], - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#required' => $component['mandatory'], '#start_date' => trim($component['extra']['start_date']), '#end_date' => trim($component['extra']['end_date']), '#year_textfield' => $component['extra']['year_textfield'], - '#default_value' => $filter ? _webform_filter_values($component['value'], NULL, NULL, NULL, FALSE) : $component['value'], + '#default_value' => $filter ? _webform_filter_values($component['value'], $node, NULL, NULL, FALSE) : $component['value'], '#timezone' => $component['extra']['timezone'], '#process' => array('webform_expand_date'), '#theme' => 'webform_date', diff --git a/components/email.inc b/components/email.inc index 01ebf72..27d3565 100644 --- a/components/email.inc +++ b/components/email.inc @@ -112,14 +112,16 @@ function _webform_edit_email_validate($element, &$form_state) { */ function _webform_render_email($component, $value = NULL, $filter = TRUE) { global $user; + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'webform_email', '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', - '#default_value' => $filter ? _webform_filter_values($component['value']) : $component['value'], + '#default_value' => $filter ? _webform_filter_values($component['value'], $node) : $component['value'], '#required' => $component['mandatory'], '#weight' => $component['weight'], - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#attributes' => $component['extra']['attributes'], '#element_validate' => array('_webform_validate_email'), '#theme_wrappers' => array('webform_element_wrapper'), diff --git a/components/fieldset.inc b/components/fieldset.inc index c286f7d..b790053 100644 --- a/components/fieldset.inc +++ b/components/fieldset.inc @@ -52,12 +52,14 @@ function _webform_edit_fieldset($component) { * Implements _webform_render_component(). */ function _webform_render_fieldset($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'fieldset', '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : NULL, '#weight' => $component['weight'], - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#collapsible' => $component['extra']['collapsible'], '#collapsed' => $component['extra']['collapsed'], '#attributes' => array('class' => 'webform-component-fieldset'), diff --git a/components/file.inc b/components/file.inc index 04564ca..ebc6a9b 100644 --- a/components/file.inc +++ b/components/file.inc @@ -267,6 +267,8 @@ function theme_webform_edit_file_extensions($element) { * Implements _webform_render_component(). */ function _webform_render_file($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + // Normally every file component is given a unique ID based on its key. if (isset($component['nid'])) { $node = node_load($component['nid']); @@ -282,7 +284,7 @@ function _webform_render_file($component, $value = NULL, $filter = TRUE) { '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', //'#required' => $component['mandatory'], // Drupal core bug with required file uploads. - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#attributes' => $component['extra']['attributes'], '#tree' => FALSE, // file_check_upload assumes a flat $_FILES structure. '#element_validate' => array( diff --git a/components/grid.inc b/components/grid.inc index 0005965..3e2a411 100644 --- a/components/grid.inc +++ b/components/grid.inc @@ -142,13 +142,15 @@ function _webform_edit_grid($component) { * Implements _webform_render_component(). */ function _webform_render_grid($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'webform_grid', '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', '#required' => $component['mandatory'], '#weight' => $component['weight'], - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#grid_questions' => _webform_select_options_from_text($component['extra']['questions'], TRUE), '#grid_options' => _webform_select_options_from_text($component['extra']['options'], TRUE), '#optrand' => $component['extra']['optrand'], diff --git a/components/hidden.inc b/components/hidden.inc index 5d222fe..effb1b1 100644 --- a/components/hidden.inc +++ b/components/hidden.inc @@ -72,7 +72,7 @@ function _webform_render_hidden($component, $value = NULL, $filter = TRUE) { // end user so they do not need to be sanitized. $strict = $component['extra']['hidden_type'] != 'value'; $allow_anonymous = $component['extra']['hidden_type'] == 'value'; - $default_value = $filter ? _webform_filter_values($component['value'], NULL, NULL, NULL, $strict, $allow_anonymous) : $component['value']; + $default_value = $filter ? _webform_filter_values($component['value'], $node, NULL, NULL, $strict, $allow_anonymous) : $component['value']; if (isset($value[0])) { $default_value = $value[0]; } diff --git a/components/markup.inc b/components/markup.inc index b50ed3e..0072397 100644 --- a/components/markup.inc +++ b/components/markup.inc @@ -45,11 +45,13 @@ function _webform_edit_markup($component) { * Implements _webform_render_component(). */ function _webform_render_markup($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'markup', '#title' => $filter ? NULL : $component['name'], '#weight' => $component['weight'], - '#markup' => $filter ? _webform_filter_values(check_markup($component['value'], $component['extra']['format'], FALSE), NULL, NULL, NULL, FALSE) : $component['value'], + '#markup' => $filter ? _webform_filter_values(check_markup($component['value'], $component['extra']['format'], FALSE), $node, NULL, NULL, FALSE) : $component['value'], '#format' => $component['extra']['format'], '#theme_wrappers' => array('webform_element_wrapper'), '#post_render' => array('webform_element_wrapper'), diff --git a/components/number.inc b/components/number.inc index 15ac811..341a4dd 100644 --- a/components/number.inc +++ b/components/number.inc @@ -248,15 +248,17 @@ function theme_webform_number($element) { * Implements _webform_render_component(). */ function _webform_render_number($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', - '#default_value' => $filter ? _webform_filter_values($component['value'], NULL, NULL, NULL, FALSE) : $component['value'], + '#default_value' => $filter ? _webform_filter_values($component['value'], $node, NULL, NULL, FALSE) : $component['value'], '#required' => $component['mandatory'], '#weight' => $component['weight'], '#field_prefix' => empty($component['extra']['field_prefix']) ? NULL : ($filter ? _webform_filter_xss($component['extra']['field_prefix']) : $component['extra']['field_prefix']), '#field_suffix' => empty($component['extra']['field_suffix']) ? NULL : ($filter ? _webform_filter_xss($component['extra']['field_suffix']) : $component['extra']['field_suffix']), - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#attributes' => $component['extra']['attributes'], '#element_validate' => array('_webform_validate_number'), '#theme_wrappers' => array('webform_element_wrapper'), diff --git a/components/select.inc b/components/select.inc index 7dba483..5f954e4 100644 --- a/components/select.inc +++ b/components/select.inc @@ -259,12 +259,14 @@ function _webform_edit_validate_options($element, &$form_state) { * Implements _webform_render_component(). */ function _webform_render_select($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', '#required' => $component['mandatory'], '#weight' => $component['weight'], - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#theme_wrappers' => array('webform_element_wrapper'), '#pre_render' => array('webform_element_title_display'), '#post_render' => array('webform_element_wrapper'), @@ -272,7 +274,7 @@ function _webform_render_select($component, $value = NULL, $filter = TRUE) { ); // Convert the user-entered options list into an array. - $default_value = $filter ? _webform_filter_values($component['value'], NULL, NULL, NULL, FALSE) : $component['value']; + $default_value = $filter ? _webform_filter_values($component['value'], $node, NULL, NULL, FALSE) : $component['value']; $options = _webform_select_options($component, !$component['extra']['aslist'], $filter); if ($component['extra']['optrand']) { diff --git a/components/textarea.inc b/components/textarea.inc index 779a6b7..b18a586 100644 --- a/components/textarea.inc +++ b/components/textarea.inc @@ -98,14 +98,16 @@ function _webform_edit_textarea($component) { * Implements _webform_render_component(). */ function _webform_render_textarea($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'textarea', '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', - '#default_value' => $filter ? _webform_filter_values($component['value']) : $component['value'], + '#default_value' => $filter ? _webform_filter_values($component['value'], $node) : $component['value'], '#required' => $component['mandatory'], '#weight' => $component['weight'], - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#rows' => !empty($component['extra']['rows']) ? $component['extra']['rows'] : 5, '#cols' => !empty($component['extra']['cols']) ? $component['extra']['cols'] : 60, '#attributes' => $component['extra']['attributes'], diff --git a/components/textfield.inc b/components/textfield.inc index 5543054..54a8984 100644 --- a/components/textfield.inc +++ b/components/textfield.inc @@ -122,16 +122,18 @@ function _webform_edit_textfield($component) { * Implements _webform_render_component(). */ function _webform_render_textfield($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'textfield', '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', - '#default_value' => $filter ? _webform_filter_values($component['value'], NULL, NULL, NULL, FALSE) : $component['value'], + '#default_value' => $filter ? _webform_filter_values($component['value'], $node, NULL, NULL, FALSE) : $component['value'], '#required' => $component['mandatory'], '#weight' => $component['weight'], '#field_prefix' => empty($component['extra']['field_prefix']) ? NULL : ($filter ? _webform_filter_xss($component['extra']['field_prefix']) : $component['extra']['field_prefix']), '#field_suffix' => empty($component['extra']['field_suffix']) ? NULL : ($filter ? _webform_filter_xss($component['extra']['field_suffix']) : $component['extra']['field_suffix']), - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#attributes' => $component['extra']['attributes'], '#theme_wrappers' => array('webform_element_wrapper'), '#pre_render' => array('webform_element_title_display'), diff --git a/components/time.inc b/components/time.inc index 4b13cf8..64139d5 100644 --- a/components/time.inc +++ b/components/time.inc @@ -84,16 +84,18 @@ function _webform_edit_time($component) { * Implements _webform_render_component(). */ function _webform_render_time($component, $value = NULL, $filter = TRUE) { + $node = isset($component['nid']) ? node_load($component['nid']) : NULL; + $element = array( '#type' => 'webform_time', '#title' => $filter ? _webform_filter_xss($component['name']) : $component['name'], '#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before', '#required' => $component['mandatory'], '#weight' => $component['weight'], - '#description' => $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'], + '#description' => $filter ? _webform_filter_descriptions($component['extra']['description'], $node) : $component['extra']['description'], '#element_validate' => array('webform_validate_time'), '#hourformat' => $component['extra']['hourformat'], - '#default_value' => $filter ? _webform_filter_values($component['value'], NULL, NULL, NULL, FALSE) : $component['value'], + '#default_value' => $filter ? _webform_filter_values($component['value'], $node, NULL, NULL, FALSE) : $component['value'], '#timezone' => $component['extra']['timezone'], '#process' => array('webform_expand_time'), '#theme' => 'webform_time',