При работе с 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 15, 2010 г.
Возможность запрограммировать на PHP (php code) список значений поля CCK, является замечательной опцией для разработчика сайта.
Требования к описанию такие:
не надо ставить скобки
(об этом написано прямо под полем, куда предлагают ввести код) ...
Читать
Апрель 20, 2014 г.
По разным причинам нам может понадобится информация объекта текущей публикации (ноды) внутри модуля.Если код модуля вызывается из шаблона, то достаточно передать локальную переменную $node. Если такой возможности нет, то код ноды можно получить из текущего ...
Читать
Январь 19, 2014 г.
На мой взгляд, это и новый виток в войне с ботами и предвестник авторизации в будущем.
Сегодня практически у каждого есть сотовый телефон, а в будущем ...
Читать
Январь 18, 2022 г.
То, что в семерке выполняется функцией drupal_html_class(), в Drupal 8 реализовано в виде статического метода\Drupal\Component\Utility\Html::getClass($str).
Данная функция также востребована в шаблонах (twig). Здесь вы можете использовать фильтр ...
Читать