You are here

function metatag_import_export_csv_finish_batch_download in Metatag Import Export CSV 7

Finish Callback for Batch.

1 string reference to 'metatag_import_export_csv_finish_batch_download'
metatag_import_export_csv_download_nid in ./metatag_import_export_csv_download_admin.inc
Gets the list of nid's according to content type.

File

./metatag_import_export_csv_download_admin.inc, line 168
Stores the code for export process.

Code

function metatag_import_export_csv_finish_batch_download($success, $results, $operations) {
  if ($success) {
    $type = $results['type'];
    $delimeter = $results['delimeter'];
    drupal_set_message(t("Finished Exporting Metatags"));
    $scheme = variable_get('file_default_scheme', 'public');
    $file_path = $scheme . "://metatag_import_export_csv/";
    $filename = "metatag_import_export_csv_" . $type . ".csv";
    $file_url = $file_path . $filename;
    drupal_add_http_header('Content-Type', 'text/csv');
    drupal_add_http_header('Content-Disposition', 'attachment;filename=' . $filename);
    $file = file_save_data('', $file_url, FILE_EXISTS_REPLACE);
    if (!$file) {
      drupal_set_message(t('Unable to write to file system. Check permissions and try again.'), 'error');
      return;
    }
    $fp = fopen($file->uri, 'w');
    if (!$fp) {
      drupal_set_message(t('Unable open file for writing. Check permissions and try again.'), 'error');
      return;
    }
    $header = metatag_import_export_csv_download_fields_name($type);
    array_unshift($header, 'Node title', 'path', 'Content Type');
    fputcsv($fp, $header, $delimeter);
    foreach ($results['row'] as $row) {
      fputcsv($fp, $row, $delimeter);
    }
    fclose($fp);
    $file->filesize = filesize($file->uri);
    file_save($file);
    if (drupal_is_cli()) {
      drupal_set_message(dt("A File is created at  %file_url", array(
        '%file_url' => file_create_url($file_url),
      )));
      return $file;
    }
    drupal_set_message(t("A File is created at  %file_url", array(
      '%file_url' => file_create_url($file_url),
    )));
    if (!drupal_is_cli()) {
      drupal_set_message(l(t('Download'), file_create_url($file_url)));
    }
    else {
      drupal_set_message(l(t('Download'), file_create_url($file_url)));
    }
  }
  else {
    $error_operation = reset($operations);
    drupal_set_message(t("An error occurred while processing @operation with arguments : @args", array(
      '@operation' => $error_operation[0],
      '@args' => print_r($error_operation[0], TRUE),
    )));
  }
}