Ограничение доступа к страницам пользователя

Аватар пользователя ser_house ser_house 21 июля 2012 в 22:20

В профиле у пользователя различная информация (в том числе на Panels и Views). Часть её должна быть доступна всем, часть — только владельцу профиля. Вот по этой второй части и интересно.

Поискал, вроде ничего не нашел (кроме советов по коду). Для себя написал модуль, добавляющий во Views разрешение просматривать данные только пользователю, чей uid совпадает с uid из адреса, ну и так, для страниц с произвольным адресом (лишь бы в нём uid был).

Однако задачка-то вроде должна быть распространенной, неужели все модули пишут? Может я какой модуль прозевал? Кто как делает такое ограничение?

На всякий случай ещё раз, дабы избежать неясностей: результат выборки Views в профиле пользователя должен быть доступен только этому же пользователю.

Комментарии

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 22 июля 2012 в 9:19

"ser_house" wrote:
результат выборки Views в профиле пользователя должен быть доступен только этому же пользователю.

Если указывать аргументом uid юзера Выбрать аргумент через пхп, указать

return arg(1);

Аватар пользователя ser_house ser_house 22 июля 2012 в 12:10

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:

Ага, вот оно! Это при установленном Views PHP выбрать в доступе PHP и:

return $account->uid == arg(1) || $account->uid == 1;

для вьюхи с контекстным фильтром по uid. Да, оно.

Как-то я этот Views php пробовал (для чего-то другого, не помню уже), чего-то он глючил или я хотел странного, ну и не сложилось. А для данной задачи — самое то.

[user=volocuga@drupal.org], спасибо!