вопрос
Всем привет! Сайт функционирует на DLE 9.7. Для некоторых групп пользователей стоит запрет на скачивание файлов с сайта. Но на сайте должна быть еще такая возможность, чтобы определенные файлы могли скачать все посетители сайта. Для этого заведено дополнительное поле "Общедоступный файл" с именем uploads_all_access. Когда просматриваю БД через phpMyAdmin, то в таблице "dle_post" поле "xfields" заполнено таким образом:
Идея такая. На сайте давать прямую ссылку на этот файл. Начал писать модуль, и первая проблема, с которой столкнулся, это прочесть запись поля "xfields" в том же виде, в котором оно храниться в БД. Написал пока простенький модуль такого содержания:
Вот тут и проблема. Дело в том, что в результате переменной $number_attach_file присваивается уже обработанное значение. Т.е. гости сайта увидят примерно следующее:
Вы не можете скачать данный файл с нашего сервера
А те группы пользователей, которым разрешено скачивать файлы на сайте, увидят ссылку по которой они смогут скачать файл. Мне же надо в переменную $number_attach_file передать искомое значение поля "xfields" таблицы "dle_post". Т.е. в приведенном выше примере переменной $number_attach_file было присвоено значение "file|[attachment=2]". Как это сделать?
file|[attachment=2]
Идея такая. На сайте давать прямую ссылку на этот файл. Начал писать модуль, и первая проблема, с которой столкнулся, это прочесть запись поля "xfields" в том же виде, в котором оно храниться в БД. Написал пока простенький модуль такого содержания:
<?php
/*
=====================================================
Файл: echo_file_uploads_all_access.php
-----------------------------------------------------
Назначение: Выводит прямую ссылку на прикрепленый для общего доступа файл.
Вызывается так: {include file="engine/modules/echo_file_uploads_all_access.php?id_news_active=ID_новости"}
В шаблонном файле fullstory.tpl можно вызвать так:
{include file="engine/modules/echo_file_uploads_all_access.php?id_news_active={news-id}"}
=====================================================
*/
if( ! defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
// ищем новость-пост в БД
$my_sql_select = "SELECT * FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.id=". $id_news_active . ";";
$my_sql_result = $db->query( $my_sql_select );
$row = $db->get_row( $my_sql_result ); // данные указанной новости
$number_attach_file = $row['xfields'];
echo $number_attach_file; // вывод дополнительных полей
?>
Вот тут и проблема. Дело в том, что в результате переменной $number_attach_file присваивается уже обработанное значение. Т.е. гости сайта увидят примерно следующее:
Вы не можете скачать данный файл с нашего сервера
А те группы пользователей, которым разрешено скачивать файлы на сайте, увидят ссылку по которой они смогут скачать файл. Мне же надо в переменную $number_attach_file передать искомое значение поля "xfields" таблицы "dle_post". Т.е. в приведенном выше примере переменной $number_attach_file было присвоено значение "file|[attachment=2]". Как это сделать?
1. В доп поле ставьте прямую ссылку.
2. в переменную $number_attach_file не может попадать такое значение, его при выводе просто убирает функция show_attach вроде так
2. в переменную $number_attach_file не может попадать такое значение, его при выводе просто убирает функция show_attach вроде так