При работе с 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 1, 2016 г.
Когда заказывают переделать сайты с "историей", приходится перетаскивать имеющиеся публикации на новый сайт. Хочу поделиться некоторыми моментами, связанными ...
Читать
Март 17, 2025 г.
Иногда бывает потребность создать ссылку из кода. Структура ссылки довольно сложная на этапе препроцессинга шаблона меню, делюсь сниппетом кода.
Потребуются следующие зависимости:
[crayon-6a0f778f15cce430341682/]
Добавим ссылку в меню main. ...
Читать
Июнь 6, 2017 г.
Этот проект я не создавал, а переносил с одного движка на другой, попутно решая некоторые актуальные задачи. Почему возникла потребность в переносе?
...
Читать
Январь 4, 2018 г.
У картинок, к которым применены стили, уже есть один параметр - это itok. Он появился в 7ке для уменьшения возможностей проведения DDoS атак на ваш Drupal сайт.
СЕО-шникам он не нравится, и иногда они просят его отключить. Как отключить ITOK читайте ...
Читать