При работе с 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 5, 2017 г.
После выполнения загрузки данных по ajax, может потребоваться инициализация скриптов для только что полученного куска HTML.
Как данный механизм реализован в Drupal 7?
По большому счету, требуется добавить js код в секцию success после вызова ...
Читать
Июль 2, 2025 г.
Drupal — мощная, гибкая и в то же время довольно сложная CMS. Один из важных аспектов SEO и удобства пользователей — это ЧПУ (человекопонятные URL). В ...
Читать
Сентябрь 23, 2016 г.
Что делать, если запуск Cron в Drupal 6 постоянно выдаёт такую ошибку - "Cron run failed."?
Смотрим, как возникает данная ситуация в библиотеке /includes/common.inc . Функция drupal_cron_run() использует флаг для блокировки одновременного запуска:
[crayon-6a688b7415e6a869346116/] ...
Читать
Январь 19, 2014 г.
На мой взгляд, это и новый виток в войне с ботами и предвестник авторизации в будущем.
Сегодня практически у каждого есть сотовый телефон, а в будущем ...
Читать