function private_files_download_permission_get_directory_list in Private files download permission 7.2
Returns the list of all directories under control.
5 calls to private_files_download_permission_get_directory_list()
- private_files_download_permission_file_download in ./
private_files_download_permission.module - Implements hook_file_download().
- private_files_download_permission_get_directory_form in ./
private_files_download_permission.module - (Form callback.) Displays a form to add/edit a directory.
- private_files_download_permission_list_directories in ./
private_files_download_permission.module - (Page callback.) Displays the main page and lists directories under control.
- private_files_download_permission_remove_directory in ./
private_files_download_permission.module - (Form callback.) Displays a confirmation dialog before removing a directory from the control list.
- private_files_download_permission_remove_directory_submit in ./
private_files_download_permission.module - (Form callback.) Removes a directory from the control list.
3 string references to 'private_files_download_permission_get_directory_list'
- private_files_download_permission_get_directory_form_submit in ./
private_files_download_permission.module - (Form callback.) Submits the directory form.
- private_files_download_permission_get_preferences_form_submit in ./
private_files_download_permission.module - (Form callback.) Submits the preferences form.
- private_files_download_permission_remove_directory_submit in ./
private_files_download_permission.module - (Form callback.) Removes a directory from the control list.
File
- ./
private_files_download_permission.module, line 113 - Handles both module settings and its behaviour.
Code
function private_files_download_permission_get_directory_list() {
$directory_list =& drupal_static('private_files_download_permission_directory_list');
if (!isset($directory_list)) {
// Load directory list.
$directory_list = db_select('private_files_download_permission_directory', 't')
->fields('t')
->orderBy('t.path', 'ASC')
->execute()
->fetchAllAssoc('did');
// Add user id and role id arrays to each directory.
foreach ($directory_list as $directory) {
$directory->uid = array();
$directory->rid = array();
}
// Load directory user list.
$directory_users = db_select('private_files_download_permission_directory_user', 't')
->fields('t')
->orderBy('t.did', 'ASC')
->execute()
->fetchAll();
// Load directory role list.
$directory_roles = db_select('private_files_download_permission_directory_role', 't')
->fields('t')
->orderBy('t.did', 'ASC')
->execute()
->fetchAll();
// Merge array values.
foreach ($directory_users as $directory_user) {
$did = $directory_user->did;
$uid = $directory_user->uid;
$directory_list[$did]->uid[$uid] = array(
'uid' => $uid,
);
}
foreach ($directory_roles as $directory_role) {
$did = $directory_role->did;
$rid = $directory_role->rid;
$directory_list[$did]->rid[$rid] = array(
'rid' => $rid,
);
}
}
return $directory_list;
}