You are here

function imageinfo_cache_get_node_files in Imageinfo Cache 6

Same name and namespace in other branches
  1. 6.2 imageinfo_cache.module \imageinfo_cache_get_node_files()
1 call to imageinfo_cache_get_node_files()
imageinfo_cache_get_images_in_node in ./imageinfo_cache.module
Given a node, get all images associated with it.

File

./imageinfo_cache.module, line 612
Cache image info for theme_imagecache & theme_imagefield_image.

Code

function imageinfo_cache_get_node_files($node) {
  $fields = filefield_get_field_list($node->type);
  $files = array();

  // Get the file rows.
  foreach ($fields as $field) {
    $db_info = content_database_info($field);
    $fields = 'f.*';
    $fields .= ', c.' . $db_info['columns']['list']['column'] . ' AS list';
    $fields .= ', c.' . $db_info['columns']['data']['column'] . ' AS data';
    $sql = 'SELECT ' . $fields . ' FROM {files} f INNER JOIN {' . $db_info['table'] . '} c ON f.fid = c.' . $db_info['columns']['fid']['column'] . ' AND c.vid = %d';
    $result = db_query($sql, $node->vid);
    while ($file = db_fetch_array($result)) {
      $file['data'] = unserialize($file['data']);
      $file['field']['field_name'] = $field['field_name'];
      $file['field']['type_name'] = $field['type_name'];
      $files[$file['fid']] = $file;
    }
  }
  return $files;
}