При работе с private файлами в Drupal, можно использовать зацепку hook_file_download($uri), в которой вы можете реализовать проверку прав доступа к скачиваемому файлу. Но на входе функции — только uri, вместо fid, по которому было бы удобно вытащить всю информацию о файле.
В общем то понятно, что по uri можно вытащить данные из таблицы file_managed. Через апи этот запрос можно сформировать функцией file_load_multiple().
|
|
function HOOK_file_download($uri) { $files = file_load_multiple(array(), array('uri' => $uri)); // После анализа данных, полученных о файле, // нужно вернуть content-type файла или -1, // если доступ к файлу запрещен ... $access_enabled = true; if ($access_enabled) { return array('Content-Type' => file_get_mimetype($uri)); } else { // Access to the file is denied. return -1; } } |
Данная запись опубликована в 07.11.2017 13:19 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 18, 2015 г.
Сам бы я не додумался написать подобный гайд, да люди подсказали. :)
Если вы вошли на сайт как администратор, а полоска админ меню сверху не появилась, то скорее всего не установлен/не включен соответствующий модуль. Тем не менее, админка drupal ...
Читать
Май 8, 2021 г.
Конечно можно скачать/установить Drupal в ручную, это очень просто и не требует "лишних" инструментов. Но composer не просто так кушает свой хлеб. Его ...
Читать
Сентябрь 19, 2020 г.
Раздражающая многих особенность друпальных форм, когда пользователь видит избыточное количество элементов формы, связанных с загрузкой файла, может быть ...
Читать
Январь 27, 2018 г.
Разные типы node view предназначены для темизации публикаций. Но drupal не даёт задавать новые представления из панели администрирования.
Рассмотрим как создавать их программно.
Чтобы в типах отображения публикации появилась новая (-ые) вкладки, ...
Читать