You are here

function uc_file_feature_form_validate in Ubercart 7.3

Same name and namespace in other branches
  1. 5 uc_file/uc_file.module \uc_file_feature_form_validate()
  2. 6.2 uc_file/uc_file.module \uc_file_feature_form_validate()

Sanity check for file download and expiration overrides.

See also

uc_file_feature_form()

uc_file_feature_form_submit()

File

uc_file/uc_file.module, line 742
Allows products to be associated with downloadable files.

Code

function uc_file_feature_form_validate($form, &$form_state) {

  // Ensure this is actually a file we control...
  if (!db_query("SELECT fid FROM {uc_files} WHERE filename = :name", array(
    ':name' => $form_state['values']['uc_file_filename'],
  ))
    ->fetchField()) {
    form_set_error('uc_file_filename', t('%file is not a valid file or directory inside file download directory.', array(
      '%file' => $form_state['values']['uc_file_filename'],
    )));
  }

  // If any of our overrides are set, then we make sure they make sense.
  if ($form_state['values']['download_override'] && $form_state['values']['download_limit_number'] < 0) {
    form_set_error('download_limit_number', t('A negative download limit does not make sense. Please enter a positive integer, or leave empty for no limit.'));
  }
  if ($form_state['values']['location_override'] && $form_state['values']['download_limit_addresses'] < 0) {
    form_set_error('download_limit_addresses', t('A negative IP address limit does not make sense. Please enter a positive integer, or leave empty for no limit.'));
  }
  if ($form_state['values']['time_override'] && $form_state['values']['download_limit_duration_granularity'] != 'never' && $form_state['values']['download_limit_duration_qty'] < 1) {
    form_set_error('download_limit_duration_qty', t('You set the granularity (%gran), but you did not set how many. Please enter a positive non-zero integer.', array(
      '%gran' => $form_state['values']['download_limit_duration_granularity'] . '(s)',
    )));
  }
}