You are here

function node_export_dsv_encode in Node export 7.3

Same name and namespace in other branches
  1. 6.3 modules/node_export_dsv/node_export_dsv.module \node_export_dsv_encode()

Build DSV string.

1 call to node_export_dsv_encode()
node_export_dsv_export in formats/dsv.inc
Export callback.

File

formats/dsv.inc, line 93
The Node export DSV format handler.

Code

function node_export_dsv_encode($nodes, $delimiter, $enclosure, $separator, $escape_eol) {
  $encoded_nodes = array();
  $dsv_lines = array();
  $node_keys = array();
  foreach (array_keys($nodes) as $node_key) {
    $new_node_key = 'node_' . $node_key;
    $node_keys[] = $new_node_key;
    node_export_dsv_encode_node($encoded_nodes, $new_node_key, $nodes[$node_key]);
  }
  $dsv_lines['node_export_dsv_header'] = array_keys($encoded_nodes);
  foreach (array_keys($encoded_nodes) as $header_value) {
    $encoded_nodes[$header_value] = array_merge(array_fill_keys($node_keys, NULL), $encoded_nodes[$header_value]);
    foreach (array_keys($encoded_nodes[$header_value]) as $encoded_node_key) {
      $dsv_lines[$encoded_node_key][$header_value] = $encoded_nodes[$header_value][$encoded_node_key];
    }
  }
  return node_export_dsv_array_to_dsv($dsv_lines, $delimiter, $enclosure, $separator, $escape_eol);
}