You are here

function elfinder_admin_form_validate in elFinder file manager 7.3

Same name in this branch
  1. 7.3 inc/elfinder.admin.inc \elfinder_admin_form_validate()
  2. 7.3 inc/elfinder.admin.profiles.inc \elfinder_admin_form_validate()
Same name and namespace in other branches
  1. 6.2 inc/elfinder.admin.inc \elfinder_admin_form_validate()
  2. 6.2 inc/elfinder.admin.profiles.inc \elfinder_admin_form_validate()
  3. 6 inc/elfinder.admin.inc \elfinder_admin_form_validate()
  4. 7 inc/elfinder.admin.inc \elfinder_admin_form_validate()
  5. 7.2 inc/elfinder.admin.inc \elfinder_admin_form_validate()
  6. 7.2 inc/elfinder.admin.profiles.inc \elfinder_admin_form_validate()

Validate form data

File

inc/elfinder.admin.inc, line 324
file manager admin settings page

Code

function elfinder_admin_form_validate($form, &$form_state) {
  $tmbsize = $form_state['values']['tmbsize'];
  $mwidth = $form_state['values']['manager_width'];
  $mheight = $form_state['values']['manager_height'];
  if ($form_state['values']['filesystem_root'] == 'custom') {
    $customroot = $form_state['values']['filesystem_root_custom'];
    if ($customroot == '') {
      form_set_error('filesystem_root_custom', t('Filesystem root cannot be empty'));
    }
    $customroot = elfinder_parse_path_tokens($customroot);

    // checking directory accessibility by creating test file
    if (!elfinder_prepare_directory($customroot)) {
      form_set_error('filesystem_root_custom', t('Filesystem root is not writable'));
    }
  }
  if (!preg_match('/^\\d{3,4}$/', $form_state['values']['file_perm'])) {
    form_set_error('file_perm', t('Created file permissions should be a numeric'));
  }
  if (!preg_match('/^\\d{3,4}?$/', $form_state['values']['dir_perm'])) {
    form_set_error('dir_perm', t('Created directory permissions should be a numeric'));
  }
  if (!empty($form_state['values']['max_filesize']) && !is_numeric(parse_size($form_state['values']['max_filesize']))) {
    form_set_error('max_filesize', t('The file size option must contain a valid value. You may either leave the text field empty or enter a string like "512" (bytes), "80 KB" (kilobytes) or "50 MB" (megabytes).'));
  }
  if ($mwidth && !is_numeric($mwidth)) {
    form_set_error('manager_width', t('Manager width size should be a number'));
  }
  if ($mheight && !is_numeric($mheight)) {
    form_set_error('manager_height', t('Manager height size should be a number'));
  }
  if ($tmbsize && !is_numeric($tmbsize)) {
    form_set_error('tmbsize', t('Thumbnail size should be a number'));
  }
}