You are here

function _auditfiles_used_not_referenced_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_referenced_batch_display_process_files'
_auditfiles_used_not_referenced_batch_display_get_operations in ./auditfiles.usednotreferenced.inc
Configures the operations for the batch process.

File

./auditfiles.usednotreferenced.inc, line 354
Generates report showing files in file_usage, but not referenced by content.

Code

function _auditfiles_used_not_referenced_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 fu.fid, fu.module, fu.type, fu.id, fu.count
      FROM {file_usage} fu
      INNER JOIN {file_managed} fm ON fm.fid = fu.fid
      WHERE fu.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] = _auditfiles_used_not_referenced_get_file_data($file->fid);
      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'];
  }
}