UMIhelp

Разработка дополнительного функционала => Custom макросы => Тема начата: muldy от 28 Сентября 2014, 20:57:25

Название: Вывод страницы которую пользовтаель имеет права на редактирвание?
Отправлено: muldy от 28 Сентября 2014, 20:57:25
Здравствуйте!
Собственно вопрос, требуется получить страницу, на которую пользовтаель имеет права редактиования!
Изучал API, не нашел примера, как быть?
Название: Re:Вывод страницы которую пользовтаель имеет права на редактирвание?
Отправлено: admin от 29 Сентября 2014, 00:04:14
Зависит от того, что именно вам надо проверить.
В любом случае смотрите на функционал класса permissionsCollection (http://api.docs.umi-cms.ru/spravochnik_po_klassam_yadra_umicms/model_prav_dostupa/permissionscollection/)

hasUserPermissions() — Узнать, имеет ли пользователь или группа в принципе права на какие-нибудь страницы
getUsersByElementPermissions() — Получить список всех пользователей или групп, имеющих права на страницу $elementId
isAllowedObject() — Узнать, разрешен ли пользователю или группе $owner_id доступ на чтение страницы $object_id (класс umiHierarchyElement)

Я думаю, вам нужен последний метод. На всякий случай пример его вызова
$ownerId = 11;// id пользователя или группы пользователей
$object_id = 22; // id объекта, являющегося основой страницы для которой вы проверяете права
$perm = permissionsCollection::getInstance();
$res = $perm->isAllowedObject($ownerId,$object_id); // $res - массив, содержащий 5 элементов. Ключи 0-4 соответствуют правам на 5 осноных действий пользователя (чтение, редактирование, создание, удаление, перемещение)
Название: Re:Вывод страницы которую пользовтаель имеет права на редактирвание?
Отправлено: muldy от 29 Сентября 2014, 03:04:18
Не много не то, мне надо получить именно объект зная Id  пользователя!
В вашем примере я должен знать сам объект.
Посмотрел как при помощи selector  это сделать, но ступор и не пойму как найти страницу.
Грубо говоря, это личный кабинет пользователя с возможностью редактирования страниц.