При работе с 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 9, 2017 г.
Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в Drupal, нужно определить три параметра - системный адрес объекта, новый псевдоним и код языка.
К примеру, для объекта node код может быть следующим:
[crayon-69c34f459d9f1149322039/] ...
Читать
Январь 4, 2018 г.
У картинок, к которым применены стили, уже есть один параметр - это itok. Он появился в 7ке для уменьшения возможностей проведения DDoS атак на ваш Drupal сайт.
СЕО-шникам он не нравится, и иногда они просят его отключить. Как отключить ITOK читайте ...
Читать
Февраль 28, 2014 г.
Задача распространенная для бизнеса на территории РФ, где многие перепродают товары из-за рубежа. Получается, что отпускные цены зависят от колебания валют, ...
Читать
Июль 6, 2016 г.
Для организации мультисайтинга в Drupal 7 можно использовать специальный файл sites.php, содержащий массив перенаправлений. Этот массив задаёт соответствия между запрашиваемыми доменными именами (и др. параметрами http запроса) и конечными папками, содержащими ...
Читать