You are here

function flashnode_admin_settings_validate in Flash Node 6.2

Same name and namespace in other branches
  1. 5.6 flashnode.module \flashnode_admin_settings_validate()
  2. 5.2 flashnode.module \flashnode_admin_settings_validate()
  3. 5.3 flashnode.module \flashnode_admin_settings_validate()
  4. 6.3 flashnode.admin.inc \flashnode_admin_settings_validate()

Validate flashnode_admin_settings to ensure that flashnode_max_width and flashnode_max_height are valid (numeric and zero or positive)

1 string reference to 'flashnode_admin_settings_validate'
flashnode_admin_settings in ./flashnode.admin.inc
@file Callback for settings page

File

./flashnode.admin.inc, line 217
Callback for settings page

Code

function flashnode_admin_settings_validate($form, &$form_state) {

  // Check max width - must be numeric and not negative
  if (!is_numeric($form_state['values']['flashnode_max_width']) || $form_state['values']['flashnode_max_width'] < 0) {
    form_set_error('flashnode_max_width', t('The maximum displayed width must be zero or a positive number.'));
  }

  // Check max height - must be numeric and not negative
  if (!is_numeric($form_state['values']['flashnode_max_height']) || $form_state['values']['flashnode_max_height'] < 0) {
    form_set_error('flashnode_max_height', t('The maximum displayed height must be zero or a positive number.'));
  }

  // Check teaser scale - must be numeric and not negative
  if (!is_numeric($form_state['values']['flashnode_teaser_scale']) || $form_state['values']['flashnode_teaser_scale'] < 0) {
    form_set_error('flashnode_teaser_scale', t('The teaser scaling factor must be zero or a positive number.'));
  }

  // Check max teaser width - must be numeric and not negative
  if (!is_numeric($form_state['values']['flashnode_max_teaser_width']) || $form_state['values']['flashnode_max_teaser_width'] < 0) {
    form_set_error('flashnode_max_teaser_width', t('The maximum displayed teaser width must be zero or a positive number.'));
  }

  // Check max teaser height - must be numeric and not negative
  if (!is_numeric($form_state['values']['flashnode_max_teaser_height']) || $form_state['values']['flashnode_max_teaser_height'] < 0) {
    form_set_error('flashnode_max_teaser_height', t('The maximum displayed teaser height must be zero or a positive number.'));
  }

  // Check weight - must be numeric
  if (!is_numeric($form_state['values']['flashnode_weight'])) {
    form_set_error('flashnode_weight', t('The weight must be number.'));
  }

  // Check upload size settings
  $default_uploadsize = $form_state['values']['upload_uploadsize_default'];
  $default_usersize = $form_state['values']['upload_usersize_default'];
  $exceed_max_msg = t('Your PHP settings limit the maximum file size per upload to %size.', array(
    '%size' => format_size(file_upload_max_size()),
  )) . '<br/>';
  $more_info = t("Depending on your server environment, these settings may be changed in the system-wide php.ini file, a php.ini file in your Drupal root directory, in your Drupal site's settings.php file, or in the .htaccess file in your Drupal root directory.");
  if (!is_numeric($default_uploadsize) || $default_uploadsize <= 0) {
    form_set_error('upload_uploadsize_default', t('The %role file size limit must be a number and greater than zero.', array(
      '%role' => t('default'),
    )));
  }
  if (!is_numeric($default_usersize) || $default_usersize <= 0) {
    form_set_error('upload_usersize_default', t('The %role file size limit must be a number and greater than zero.', array(
      '%role' => t('default'),
    )));
  }
  if ($default_uploadsize * 1024 * 1024 > file_upload_max_size()) {
    form_set_error('upload_uploadsize_default', $exceed_max_msg . $more_info);
    $more_info = '';
  }
  if ($default_uploadsize > $default_usersize) {
    form_set_error('upload_uploadsize_default', t('The %role maximum file size per upload is greater than the total file size allowed per user', array(
      '%role' => t('default'),
    )));
  }
  foreach ($form_state['values']['roles'] as $rid => $role) {
    $uploadsize = $form_state['values']['upload_uploadsize_' . $rid];
    $usersize = $form_state['values']['upload_usersize_' . $rid];
    if (!is_numeric($uploadsize) || $uploadsize <= 0) {
      form_set_error('upload_uploadsize_' . $rid, t('The %role file size limit must be a number and greater than zero.', array(
        '%role' => $role,
      )));
    }
    if (!is_numeric($usersize) || $usersize <= 0) {
      form_set_error('upload_usersize_' . $rid, t('The %role file size limit must be a number and greater than zero.', array(
        '%role' => $role,
      )));
    }
    if ($uploadsize * 1024 * 1024 > file_upload_max_size()) {
      form_set_error('upload_uploadsize_' . $rid, $exceed_max_msg . $more_info);
      $more_info = '';
    }
    if ($uploadsize > $usersize) {
      form_set_error('upload_uploadsize_' . $rid, t('The %role maximum file size per upload is greater than the total file size allowed per user', array(
        '%role' => $role,
      )));
    }
  }
}