Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » (DLE 9.7) Как из БД получить необработанные значения полей?

(DLE 9.7) Как из БД получить необработанные значения полей?


     25.01.2013    искомое значение из бд, необработанное поле из бд, получить поле из бд, узнать значение поля из бд, необработанное поле из базы данных    Все вопросы » Общие вопросы по PHP    3912

вопрос
Всем привет! Сайт функционирует на DLE 9.7. Для некоторых групп пользователей стоит запрет на скачивание файлов с сайта. Но на сайте должна быть еще такая возможность, чтобы определенные файлы могли скачать все посетители сайта. Для этого заведено дополнительное поле "Общедоступный файл" с именем uploads_all_access. Когда просматриваю БД через phpMyAdmin, то в таблице "dle_post" поле "xfields" заполнено таким образом:

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]". Как это сделать?

Ответил: nowheremany


1. В доп поле ставьте прямую ссылку.
2. в переменную $number_attach_file не может попадать такое значение, его при выводе просто убирает функция show_attach вроде так
Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх