Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

action full и переменные, доступные в системных настройках

18.06.2018, 12:03
ktotoff
АльтерЛан

Зарегистрирован:
2006-12-19
Сообщений: 339

Привет всем! Просю помощи ))

У меня есть:
1. Список пользователей с отметкой в профиле «стандарт/премиум»
2. Список неких объектов а-ля новости с полем «стандарт/премиум»

Стандарт/премиум — это соответствующий классификатор.
Задача — ограничить доступность объектов по этому параметру.

Сама по себе задача простая. В системных настойках:
$query_where = "a.news_Type = '".$current_user['user_Type_id']."' OR a.news_Type = 0";

Но, продвигаясь по зыбкому пути перфекционизма, нельзя упускать тот факт, что если пользователь «стандарт» ручками введет в строку браузера прямой путь к объекту «премиум» ( site.domain/sub/message_id.html ), это не будет обработано как ошибка.

Т.е. с точки зрения системы путь неошибочен. Также естественно, что доступа к информации нет — объект не попадает в выборку и для пользователя не существует. Но, в любом случае, показывать пользователю пустой макет дизайная не есть хорошо. Как я могу обработать эту ситуацию?

Пытался решить в тех же системных настройках на редиректах по различным условиям ($action == 'full' && $f_Message_ID и все в таком роде), но результата не добился.

...жизнь прекрасна, когда правильно подобраны антидепрессанты...
18.06.2018, 21:05
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 386

Здравствуйте.
Желательно, чтобы что происходило?

Если пользователь перейдёт по прямой ссылке, а в системных настройках настроено отображение только премиум, то по сути пользователь увидит только макет, как Вы и пишите.

А что должно быть? 404? Какое-то сообщение? Или что-то еще?
Что Вы хотите в итоге получить?)

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
25.06.2018, 15:14
ktotoff
АльтерЛан

Зарегистрирован:
2006-12-19
Сообщений: 339

Павел, любая возможность влияния на ситуацию подходит.
Если 404 — отлично, если сообщение — идеально.

Конечно, можно отказаться от кастомизации выборки и все сделать на условиях настройки списка объектов и полного просмотра, но с выборкой надежней.

...жизнь прекрасна, когда правильно подобраны антидепрессанты...
25.06.2018, 15:30
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 386

Я думаю самое простое, обернуть в условие нужный код, который у Вас в отображении объекта.

В системных настройках $query_where прописать тоже по условию ($action == 'index').
А в отображении объекта проверять пользователя на принадлежность к классификатору.

Если пользователь стандарт, то вывести сообщение, вместо информации объекта.

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
198 196 2018-06-25 15:30:41 14970
Описание проекта