При работе с 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).
Хотелось бы делать это через интерфейс, а не конфигурационные ...
Читать
Ноябрь 3, 2013 г.
С месяц уже участвую в проекте ГенийМеста в качестве, естественно, программиста. В наследство от разработчиков мне достался довольно спорный подход (почти ...
Читать
Июнь 30, 2025 г.
Если вы только начинаете писать тесты в Drupal, то официальная документация — первое место, куда стоит заглянуть. Однако она не всегда отвечает на все вопросы новичков. В этой статье разберём несколько моментов, которые часто вызывают недоумение.
...
Читать
Июль 11, 2016 г.
Модуль транслитерации помогает нам с переименованием загружаемых файлов. Но мне лично не все нравится в его работе. Например, пробелы он заменяет символом нижнего подчеркивания, а хотелось бы получить "дефис".
Хоть у модуля и нет тонких настроек, ...
Читать