function node_import_view_form_submit_download in Node import 6
1 string reference to 'node_import_view_form_submit_download'
- node_import_view_form in ./
node_import.admin.inc - View a task and its progress.
File
- ./
node_import.admin.inc, line 941
Code
function node_import_view_form_submit_download($form, &$form_state) {
$task = $form['#task'];
$file_formats = node_import_format_options('file formats');
$file_options = $task['file_options'];
$mime = 'text/plain';
if (isset($file_options['file_format']) && isset($file_formats[$file_options['file_format']]) && isset($file_formats[$file_options['file_format']]['mime'])) {
$mime = $file_formats[$file_options['file_format']]['mime'];
}
$suffix = pathinfo($task['file']->filename, PATHINFO_EXTENSION);
$filename = basename($task['file']->filename, '.' . $suffix);
$sql = "SELECT * FROM {node_import_status} WHERE taskid = %d";
switch ($form_state['values']['download']['what_rows']) {
case 'error':
$filename = $filename . '-reject.' . $suffix;
$sql .= " AND status = " . NODE_IMPORT_STATUS_ERROR;
break;
case 'done':
$filename = $filename . '-done.' . $suffix;
$sql .= " AND status = " . NODE_IMPORT_STATUS_DONE;
break;
default:
case 'all':
$filename = $filename . '-all.' . $suffix;
break;
}
$sql .= " ORDER BY file_offset ASC";
header('Content-Type: ' . $mime);
header('Content-Disposition: attachment; filename=' . $filename);
$objid = in_array('objid', $form_state['values']['download']['what_cols']);
$errors = in_array('errors', $form_state['values']['download']['what_cols']);
if ($task['has_headers']) {
$headers = $task['headers'];
if ($objid) {
array_unshift($headers, t('Object'));
}
if ($errors) {
array_unshift($headers, t('Errors'));
}
print node_import_write_to_string($headers, $file_options);
}
$result = db_query($sql, $task['taskid']);
while ($row = db_fetch_object($result)) {
list($file_offset, $data) = node_import_read_from_file($task['file']->filepath, $row->file_offset, $file_options);
if ($objid) {
array_unshift($data, $row->objid);
}
if ($errors) {
array_unshift($data, implode("\n", (array) unserialize($row->errors)));
}
print node_import_write_to_string($data, $file_options);
}
exit;
}