You are here

function imageinfo_cache_file_submit_shutdown in Imageinfo Cache 7.3

Calls the image style generation code.

Parameters

array $element: Form element array.

array $form_state: Form state for drupal form.

Return value

array Array will be populated with something if things where successful.

1 string reference to 'imageinfo_cache_file_submit_shutdown'
imageinfo_cache_file_submit in ./imageinfo_cache.module
Schedules a shutdown function to get the just uploaded file.

File

./imageinfo_cache.module, line 470
Imageinfo Cache module.

Code

function imageinfo_cache_file_submit_shutdown(array $element, array $form_state) {

  // Get field info.
  $instances = field_info_instances($element['#entity_type'], $element['#bundle']);
  $instance_field = $instances[$element['#field_name']];

  // Get all files on this field.
  $file_uris = array();
  if (!empty($element['#file']) && !empty($element['#file']->uri)) {
    $file_uris[$element['#file']->fid] = $element['#file']->uri;
  }
  $key = 0;
  while (array_key_exists($key, $element)) {
    if (!empty($element[$key]['#file']) && !empty($element[$key]['#file']->uri)) {
      $file_uris[$element[$key]['#file']->fid] = $element[$key]['#file']->uri;
    }
    $key++;
  }

  // Get fids.
  $fids = array();
  if (isset($form_state['input'][$instance_field['field_name']][$element['#language']])) {
    foreach ($form_state['input'][$instance_field['field_name']][$element['#language']] as $values) {
      if (empty($values['fid']) || !empty($file_uris[$values['fid']])) {
        continue;
      }
      $fids[] = $values['fid'];
    }
  }
  elseif (isset($form_state['values'][$instance_field['field_name']][$element['#language']])) {
    foreach ($form_state['values'][$instance_field['field_name']][$element['#language']] as $values) {
      if (empty($values['fid'])) {
        continue;
      }
      $fids[] = $values['fid'];
    }
  }
  if (!empty($fids)) {
    $fids = array_unique($fids);
    return imageinfo_cache_create_image_styles_fids($fids, $instance_field, FALSE);
  }
}