Всем привет. Есть тип материала, у него есть поле для архива, лежит оно в общем доступе
/sites/default/files/Screenshot_1.rar
То есть можно просто пройти по ссылке и получить файл.
А есть ли хук, который позволяет поймать запрос ещё до выдачи файлов? В общем, хочу сделать закрытую директорию под поля ноды и выдавать из неё файлы в зависимости от переменной в сессии юзера. Как такое в друпале правильно делается?
Хук на скачивание файла
Главные вкладки
Лучший ответ
Всё, нашёл хуки.
<?phpfunction my_module_file_download_access($file_item, $entity_type, $entity) {
session_start();
if (isset($_SESSION['tt'])==false) $_SESSION['tt'] = 3;
if ($_SESSION['tt'] > 0) {
$_SESSION['tt']--;
return false;
}
$_SESSION['tt'] = 3;
return true;
}
function my_module_node_access($node, $op, $account) {
return NODE_ACCESS_ALLOW;
}?>
Комментарии
А, нашёл. Создать приватную файловую систему в интерфейсе, в поле выбрать её, ок. А как теперь организовать всё-таки доступ к файлам у пользователя, у которого в сессии переменная с нужным значением?
Всё, нашёл хуки.
<?phpfunction my_module_file_download_access($file_item, $entity_type, $entity) {
session_start();
if (isset($_SESSION['tt'])==false) $_SESSION['tt'] = 3;
if ($_SESSION['tt'] > 0) {
$_SESSION['tt']--;
return false;
}
$_SESSION['tt'] = 3;
return true;
}
function my_module_node_access($node, $op, $account) {
return NODE_ACCESS_ALLOW;
}?>