You are here

function views_handler_field_upload_fid::pre_render in Views (for Drupal 7) 6.2

Same name and namespace in other branches
  1. 6.3 modules/upload/views_handler_field_upload_fid.inc \views_handler_field_upload_fid::pre_render()

Run before any fields are rendered.

This gives the handlers some time to set up before any handler has been rendered.

Parameters

$values: An array of all objects returned from the query.

Overrides views_handler_field::pre_render

File

modules/upload/views_handler_field_upload_fid.inc, line 32

Class

views_handler_field_upload_fid
Field handler to provide a list of roles.

Code

function pre_render(&$values) {
  $vids = array();
  $this->items = array();
  foreach ($values as $result) {
    $vids[] = $result->{$this->field_alias};
  }
  if ($vids) {

    // Support "only listed files" option.
    $where = '';
    if (!empty($this->options['only_listed'])) {
      $where = " AND u.list <> 0";
    }
    $result = db_query("SELECT u.vid, u.fid, f.filename, f.filepath, f.filesize, f.filemime, u.description FROM {upload} u LEFT JOIN {files} f ON f.fid = u.fid WHERE u.vid IN (" . implode(', ', $vids) . "){$where} ORDER BY u.weight");
    while ($file = db_fetch_array($result)) {
      $file['filename'] = check_plain($file['filename']);
      $file['filemime'] = check_plain($file['filemime']);
      $file['description'] = check_plain($file['description']);
      $file['filesize'] = format_size($file['filesize']);
      $file['filepath'] = file_create_url($file['filepath']);
      if (!empty($this->options['link_to_file'])) {
        $file['make_link'] = TRUE;
        $file['path'] = $file['filepath'];
      }
      $this->items[$file['vid']][$file['fid']] = $file;
    }
  }
}