You are here

function filefield_widget_upload_validators in FileField 6.3

Get the upload validators for a file field.

Parameters

$field: A CCK field array.

Return value

An array suitable for passing to file_save_upload() or the file field element's '#upload_validators' property.

1 call to filefield_widget_upload_validators()
filefield_widget in ./filefield.module
Implementation of hook_widget().

File

./filefield.module, line 360
FileField: Defines a CCK file field type.

Code

function filefield_widget_upload_validators($field) {
  $max_filesize = parse_size(file_upload_max_size());
  if (!empty($field['widget']['max_filesize_per_file']) && parse_size($field['widget']['max_filesize_per_file']) < $max_filesize) {
    $max_filesize = parse_size($field['widget']['max_filesize_per_file']);
  }

  // Match the default value if no file extensions have been saved at all.
  if (!isset($field['widget']['file_extensions'])) {
    $field['widget']['file_extensions'] = 'txt';
  }
  $validators = array(
    // associate the field to the file on validation.
    'filefield_validate_associate_field' => array(
      $field,
    ),
    'filefield_validate_size' => array(
      $max_filesize,
    ),
    // Override core since it excludes uid 1 on the extension check.
    // Filefield only excuses uid 1 of quota requirements.
    'filefield_validate_extensions' => array(
      $field['widget']['file_extensions'],
    ),
  );
  return $validators;
}