You are here

function encrypt_file_key_path_validate in Encrypt 7.3

Same name and namespace in other branches
  1. 7.2 plugins/key_providers/file.inc \encrypt_file_key_path_validate()

Validate key path.

1 string reference to 'encrypt_file_key_path_validate'
encrypt_file_key_settings_form in plugins/key_providers/file.inc
Settings form for our key provider.

File

plugins/key_providers/file.inc, line 81
Plugin definition for the File key provider.

Code

function encrypt_file_key_path_validate($element, &$form_state, $form) {
  $directory = $element['#value'];
  $file = $element['#value'] . '/' . ENCRYPT_FILE_NAME;
  if (!file_exists($directory)) {
    form_error($element, t('The directory %dir does not exist.', array(
      '%dir' => $directory,
    )));
  }
  elseif (!is_dir($directory)) {
    form_error($element, t('The key path provided exists, but is not a directory.'));
  }
  elseif (!file_exists($file) && !is_writable($directory)) {
    form_error($element, t('The directory %dir needs to be writable in order to create the key file.', array(
      '%dir' => $directory,
    )));
  }
  elseif (file_exists($file) && !is_readable($file)) {
    form_error($element, t('The key file %file exists, but is not readable by the web server.', array(
      '%file' => $file,
    )));
  }
}