При работе с 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 4, 2024 г.
При работе с migration API в друпал, в документации предполагается, что вы задаёте файл в секции source как значение path. (Подразумевается, что вы используете модуль migrate_source_csv).
Хотелось бы делать это через интерфейс, а не конфигурационные ...
Читать
Июль 25, 2024 г.
Если ваш view базируется на search API источнике данных, то важно, чтобы данные были проиндексированы. Но иногда форма переиндексации отсутствует на странице ...
Читать
Октябрь 12, 2021 г.
Типичная проблема сайта, когда тот оказывается за балансировщиком нагрузки (load balancer), это несоответствие части заголовков запроса клиента и тех заголовков, которые передаются балансировщиком серверу. Чаще всего мы сталкиваемся с этим при запуске ...
Читать
Апрель 20, 2018 г.
Drupal удаляет не используемые изображения. С одной стороны это правильная стратегия - зачем хранить картинки, файлы, которые уже не используются? С другой стороны есть причины, когда их требуется сохранить.
Вот хотя бы две:
SEO-шникам важно, ...
Читать