При работе с 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 16, 2017 г.
Задача не для программиста, а больше для системного администратора, т.к. речь пойдет о правильной настройке.
Типично, CKeditor имеет компонент Форматирование ...
Читать
Июль 24, 2014 г.
Есть такая больная мозоль у drupal - это модуль комментариев.
Ситуация как в анекдоте - прислали индусам из России танк. Как ни собирают - получается комбайн. Перечитывают инструкцию по сборке - "после сборки доработать напильником".
С комментариями ...
Читать
Ноябрь 22, 2016 г.
Модуль user предоставляет довольно неудобную функцию, которая проверяет роль пользователя по Role-ID, а не по названию роли.
Код и описание функции (из /modules/user/user.module):
[crayon-69c5248dd474c062048022/]
Проблема в том, что роли пользователей ...
Читать
Октябрь 29, 2017 г.
Если вы увлеклись использованием данного Drupal модуля (под 7ку) настолько, что добавили в форму несколько полей типа tablefield, то заметите, что перемещение строк а-ля драг-n-дроп работает только для первого из полей.
Причина в том, что таблицы ...
Читать