function encrypt_file_key_settings_form_submit in Encrypt 7.3
Same name and namespace in other branches
- 7.2 plugins/key_providers/file.inc \encrypt_file_key_settings_form_submit()
Submit callback for the settings form.
1 string reference to 'encrypt_file_key_settings_form_submit'
- encrypt_file_encrypt_key_providers in plugins/
key_providers/ file.inc - Implements MODULE_FILENAME_encrypt_key_providers().
File
- plugins/
key_providers/ file.inc, line 106 - Plugin definition for the File key provider.
Code
function encrypt_file_key_settings_form_submit($form, $form_state) {
$directory = $form_state['values']['encrypt_key_providers_file_settings']['path'];
$file = $directory . '/' . ENCRYPT_FILE_NAME;
// Check for contents of file; do not write over the key.
if (file_exists($file) && file_get_contents($file)) {
return;
}
// Create a default key.
$open_file = fopen($file, 'wb');
$new_key = md5(drupal_random_bytes(32));
fwrite($open_file, $new_key);
fclose($open_file);
// Ensure that the file is only readable and writable by owner.
drupal_chmod($file, 0600);
drupal_set_message(t('The key file has been written to %file', array(
'%file' => $file,
)));
}