function private_files_download_permission_remove_directory_submit in Private files download permission 7.2
(Form callback.) Removes a directory from the control list.
File
- ./
private_files_download_permission.module, line 488 - Handles both module settings and its behaviour.
Code
function private_files_download_permission_remove_directory_submit($form, &$form_state) {
$transaction = db_transaction();
try {
// Check that $form_state['values']['did'] is actually a valid directory id.
$directory_list = private_files_download_permission_get_directory_list();
if (!in_array($form_state['values']['did'], array_keys($directory_list))) {
drupal_set_message(t('You need to provide a valid directory id.'), 'error');
return;
}
// Remove users associated to the directory.
db_delete('private_files_download_permission_directory_user')
->condition('did', $form_state['values']['did'])
->execute();
// Remove roles associated to the directory.
db_delete('private_files_download_permission_directory_role')
->condition('did', $form_state['values']['did'])
->execute();
// Remove the directory itself.
db_delete('private_files_download_permission_directory')
->condition('did', $form_state['values']['did'])
->execute();
} catch (Exception $e) {
$transaction
->rollback();
drupal_set_message(t('An error occurred while removing directory from the control list. Please check the log for details.'), 'error');
}
// Purge directory list from cache.
drupal_static_reset('private_files_download_permission_get_directory_list');
// Set form redirection.
$form_state['redirect'] = 'admin/config/media/private-files-download-permission';
}