You are here

function _table_element_expand_columns in Webform Table Element 7

Same name and namespace in other branches
  1. 6 webform_table_element.module \_table_element_expand_columns()
  2. 7.4 webform_table_element.module \_table_element_expand_columns()
1 call to _table_element_expand_columns()
_table_element_expand in ./webform_table_element.module

File

./webform_table_element.module, line 148
Table element for webform

Code

function _table_element_expand_columns(&$element, $children) {
  $rows = $element['#table_element_rows'];
  $elkey = $element['#webform_component']['form_key'];
  foreach ($children as $child) {

    //empty(0) returns TRUE...
    foreach ($rows as $rowkey => $val) {
      if (!empty($rowkey) || $rowkey === 0) {
        $i = 0;

        //form_builder renders elements without cids, so give a temp cid...
        if (!isset($element[$child]['#webform_component']['cid'])) {
          $cid = $i++ . 'a';
        }
        else {
          $cid = $element[$child]['#webform_component']['cid'];
        }
        if (!is_null($element['#children_values'])) {
          if ($element[$child]['#type'] == 'date') {
            $element['#children_values'][$child][$rowkey] = webform_date_array($element['#children_values'][$child][$rowkey]);
            $element[$child]['#value'] = $element['#children_values'][$child][$rowkey];
            $element[$child]['#default_value'] = $element['#children_values'][$child][$rowkey];
            $element[$child] = webform_expand_date($element[$child]);
          }
          $element[$child]['#value'] = isset($element['#children_values'][$child][$rowkey]) ? $element['#children_values'][$child][$rowkey] : '';
          $element[$child]['#default_value'] = isset($element['#children_values'][$child][$rowkey]) ? $element['#children_values'][$child][$rowkey] : '';
        }
        $element["row__{$elkey}__{$cid}"]["row__{$elkey}__{$rowkey}__{$cid}"] = $element[$child];
        $element["row__{$elkey}__{$cid}"]["row__{$elkey}__{$rowkey}__{$cid}"]['#title'] = "";
        $element["row__{$elkey}__{$cid}"]["row__{$elkey}__{$rowkey}__{$cid}"]['#error_title'] = $element[$child]['#title'];
        $element["row__{$elkey}__{$cid}"]["row__{$elkey}__{$rowkey}__{$cid}"]['#name'] = "row__{$elkey}__{$rowkey}__{$cid}";
        if (isset($_POST["row__{$elkey}__{$rowkey}__{$cid}"])) {
          $element["row__{$elkey}__{$cid}"]["row__{$elkey}__{$rowkey}__{$cid}"]['#value'] = check_plain(_webform_table_element_checkboxes_to_string($_POST["row__{$elkey}__{$rowkey}__{$cid}"], array()));
        }
        $element['#row_titles']["row__{$elkey}__{$rowkey}__{$cid}"] = $val;
        $element['#column_titles']["row__{$elkey}__{$rowkey}__{$cid}"] = 'row-title ' . drupal_html_class($val);
        $element["row__{$elkey}__{$cid}"]['#type'] = 'table_element_row';
        $element["row__{$elkey}__{$cid}"]['#row_title'] = $element[$child]['#title'];
        $element['#name'] = "row__{$elkey}__{$cid}";
      }
    }
  }
}