You are here

function ViewsDataExportExporterXML::_clean_tag_from_key in Views data export 7.4

1 call to ViewsDataExportExporterXML::_clean_tag_from_key()
ViewsDataExportExporterXML::array_to_xml in exporters/views_data_export_exporter_xml.inc

File

exporters/views_data_export_exporter_xml.inc, line 276

Class

ViewsDataExportExporterXML
Webform exporter for creating XML files.

Code

function _clean_tag_from_key($key, $field_titles) {

  // Get the actual field title for the key, then check it's clean.
  // If we can't get one, we'll clean the one we have.
  if (isset($field_titles[$key])) {
    $key = $field_titles[$key];
  }

  // Check whether it's a numeric index *first* in case it's 0.
  if ($key == '0') {
    $key = 'data';
  }
  else {
    if (is_numeric($key)) {
      $key = 'data';

      // Check that it actually has a value.
    }
    else {
      if (!isset($key) || $key == '') {
        $key = 'no-name';
      }
    }
  }

  // Make sure key/attribute names are valid.
  if (isset($this->options['transform']) && $this->options['transform'] == true) {

    // Perform the transforms.
    switch ($this->options['transform_type']) {
      case 'dash':
        $key = str_replace(' ', '-', $key);
        break;
      case 'underline':
        $key = str_replace(' ', '_', $key);
        break;
      case 'camelCase':
        $key = ucwords($key);
        $key = lcfirst($key);
        $key = str_replace(' ', '', $key);
        break;
      case 'PascalCase':
        $key = ucwords($key);
        $key = str_replace(' ', '', $key);
        break;
    }
  }
  $clean_tag = $this
    ->clean_xml_tag($key);
  return $clean_tag;
}