[Решено] Download после авторизации

Главные вкладки

Аватар пользователя Stanislav Stanislav 6 октября 2014 в 15:18

Привет, народ.

Задача сделать загрузку файла пристегнутого к ноде только для определенной роли, анонимам и др. показать только возможность скачать с предложением авторизоваться при нажатии на ссыль.
Ссылка на файл выводился полем в ноде. Выставлен приват.

Подскажите решение.

Комментарии

Аватар пользователя NurOff NurOff 6 октября 2014 в 18:26

Если для единичных случаев, то можно применять ноду, примерно с таким содержанием. Разрешить PHP.

<?php
<h3>К примеру название файла</h3
Описание для вашего файла- <?php
global $user;
if (
is_object($user) and $user->uid>0) {
$ulogin=$user->name;
?>
<a href="/download/название файла.разрешенное разрешение файла">Слово СКАЧАТЬ или картина-кнопка(<img alt="" src="/download.png" style="margin: 0 5px -5px 0;" />)</a>
<?php

else {
?>
<a href="/user">Представьтесь</a> или <a href="/user/register">зарегистрируйтесь</a>
<?php
}
?>

Ну а если масштабы глобальные, то сделать чтобы для всех загрузок сделать проверку юзера.
А если продавать файлы. То уже посложнее выйдет. Проверки сложнее. Хотя можно ссылки для загрузки можно формировать только после оплаты.

Аватар пользователя Stanislav Stanislav 7 октября 2014 в 13:02

Нода выведена как отдельный тип материала
строка вывода:

<?php print render($content['field_download']); ?>

в поле field_download выводится ссылка на скачивание.
сейчас ссылка видна только авторизованным пользователям. Анонимим ее не видно. А надо чтоб была видна, но скачать не могли(переадресация на страницу авторизации). Как в это код вставить проверку роли?

Аватар пользователя NurOff NurOff 7 октября 2014 в 15:21

После этой строки поставь проверку на неавторизованного...

"Stanislav" wrote:
показать только возможность скачать с предложением авторизоваться при нажатии на ссыль.

И <a href="/user">Скачать</a>
Ну и дальше endif

Аватар пользователя Stanislav Stanislav 10 октября 2014 в 17:21

Сделал через File entity скачивание по ролям, а вывод сообщения для анонимов функцией user_is_anonymous()

Всем спасибо!!!