You are here

function _auditfiles_used_not_managed_batch_display_process_files in Audit Files 7.3

The batch process operation for formatting the files for display on the page.

Parameters

array $context: Used by the Batch API to keep track of and pass data from one operation to the next.

1 string reference to '_auditfiles_used_not_managed_batch_display_process_files'
_auditfiles_used_not_managed_batch_display_get_operations in ./auditfiles.usednotmanaged.inc
Configures the operations for the batch process.

File

./auditfiles.usednotmanaged.inc, line 318
Generates a report showing files in file_usage, but not in file_managed.

Code

function _auditfiles_used_not_managed_batch_display_process_files(array &$context) {
  if (empty($context['sandbox'])) {
    $context['sandbox'] = array();
    if (empty($context['results']['file_list'])) {
      $context['sandbox']['progress'] = 1;
      $context['sandbox']['max'] = 1;
    }
    else {
      $context['sandbox']['progress'] = 0;
      $context['sandbox']['max'] = count($context['results']['file_list']);
    }
  }
  if (empty($context['results']['files_to_display'])) {
    $context['results']['files_to_display'] = array();
  }
  if (!empty($context['results']['file_list'])) {
    $file_list = array_slice($context['results']['file_list'], 0, 20, TRUE);
    $query = 'SELECT fid, module, type, id, count
      FROM {file_usage}
      WHERE fid IN (:file_list)';
    $files_list = db_query($query, array(
      ':file_list' => $file_list,
    ))
      ->fetchAll();
    foreach ($files_list as $file) {
      $context['results']['files_to_display'][$file->fid] = array(
        'fid' => $file->fid,
        'module' => $file->module . ' ' . t('module'),
        'id' => l($file->type . '/' . $file->id, $file->type . '/' . $file->id),
        'count' => $file->count,
      );
      unset($context['results']['file_list'][$file->fid]);

      // Update the progress information.
      $context['sandbox']['progress']++;
      $context['message'] = t('Processing the file list. Processed file @num1 of @num2. Last file ID processed: !file_id.', array(
        '@num1' => $context['sandbox']['progress'],
        '@num2' => $context['sandbox']['max'],
        '!file_id' => $file->fid,
      ));
    }
  }
  if ($context['sandbox']['progress'] != $context['sandbox']['max']) {
    $context['finished'] = $context['sandbox']['progress'] >= $context['sandbox']['max'];
  }
}