Поиск сообщества
Показаны результаты для тегов 'разрешения'.
Найдено: 8 результатов
-
-
- разрешения
- permissions
-
(и ещё 1 )
C тегом:
-
Плагин даёт возможность администраторам копировать разрешения форумов/категорий. Форумы. Альбомы Галереи. Категории Загрузок. Базы данных Страниц (категории). Просмотр полной приложение
-
- copy
- permissions
-
(и ещё 1 )
C тегом:
-
Плагин позволит администраторам выбирать, какие группы пользователей смогут использовать и просматривать каждое поле профиля. Все группы по умолчанию могут использовать любое поле профиля. Пользователи из групп, которые не выбраны в настройках поля, не смогут просматривать и заполнять поля в своем профиле.
-
Плагин позволит администраторам выбирать, какие группы пользователей смогут использовать и просматривать каждое поле профиля. Все группы по умолчанию могут использовать любое поле профиля. Пользователи из групп, которые не выбраны в настройках поля, не смогут просматривать и заполнять поля в своем профиле. Просмотр полной приложение
-
Для каждой отдельной группы пользователь можно настроить возможность продвижения контента в социальные сети. Также вы можете разрешить делать это конкретному пользователю сообщества. Для этого перейдите на вкладку Разрешения и укажите имя пользователя:
-
Элементы контента могут автоматически проверять, имеет ли пользователь разрешение на выполнение определенных действий путем изучения объекта ноды контейнера. Чтобы эта функциональность поддерживалась, как и следовало ожидать, ваши элементы контента должны использовать ноды контейнера. Для получения дополнительной информации обратитесь к документации по контейнерам нод и поддержке контейнеров в элементах контента. Поддержка разрешений в элементах контента Все, что вам нужно сделать для поддержки разрешений - это реализовать интерфейс разрешений в вашем классе модели элементов контента: implements \IPS\Content\Permissions Изменения в методах модели после реализации разрешений Несколько методов в вашей модели элемента контента немного меняют поведение при реализации разрешений. canView() вернёт FALSE для элемента ноды, у которого пользователь не имеет разрешения на просмотр. loadAndCheckPerms() вызовет исключение OutOfRange, если загружен объект, к которому пользователь не имеет разрешения на просмотр. Во всех местах, где функции что-то делают, будет проверено разрешение. Например, canCreate() теперь вернёт FALSE, если пользователь не имеет разрешения на создание элементов контента в указанной ноде. getItemsWithPermission() будет возвращать только элементы, к которым текущий авторизованный пользователь имеет разрешение на просмотр (или другое разрешение, указанное параметрами). Доступные дополнительные методы модели boolean can( строка $permission [, \IPS\Member $member=NULL ] ) Возвращает логическое значение, указывающее, имеет ли пользователь разрешение на выполнение указанного действия. $permission (строка, обязательный) - Ключ проверяемого разрешения. Действие должно соответствовать значению из статического свойства $permissionMap класса контейнера. $member (\IPS\Member, необязательный) - Объект пользователя, разрешения которого должны быть проверены. Вы можете передать объект \IPS\Member\Group, чтобы проверить права группы. Если значение не передано, используется текущий авторизованный пользователь. integer permId() Возвращает идентификатор индекса разрешения для этой модели элемента.
-
Разрешения фронтэнда позволяют администраторам контролировать, какие группы пользователей могут выполнять какие-либо действия (к примеру, возможность просматривать элементы контента внутри ноды, создание новых элементов контента, комментирование элементов контента, и так далее). Ваши ноды могут иметь до 7 различных разрешений, настраиваемых в зависимости от потребностей вашего приложения. Реализация разрешения изменяет поведение нескольких методов ноды, и добавляет несколько новых методов на основе разрешений, которые вы можете вызвать. Настройка вашей модели Для того, чтобы использовать фронтэнд разрешения, ваша модель должна расширить интерфейс \IPS\Node\Permissions, например так: class _ExampleModel extends \IPS\Node\Model implements \IPS\Node\Permissions { //... } Далее вам нужно определить три свойства для вашей модели. public static $permType = 'string'; Уникальный (для вашего приложения) ключ, который представляет данный набор разрешений на сайте, например 'форумы' или 'категории'. public static $permApp = 'string'; Ключ вашего приложения, позволяющий сайту корректно ассоциировать ваши разрешения с вашим приложением. public static $permissionMap = array(); Это свойство представляет собой массив, который сопоставляет ключи разрешений, которые вы хотите определить, с индексом разрешений, который должен иметь либо значение 'view' или целое число от 2 до 7. Как отмечено выше, вы должны, по крайней мере, определить ключ со значением 'view'; вам не нужно определять все 7 разрешений, если вы не планируете их использовать. В качестве примера: $permissionMap = array( 'view' => 'view', 'read' => 2, 'add' => 3, 'reply' => 4, 'export' => 5, 'download' => 6 ); В данном примере мы определяем обязательный ключ view, а также пять других ключей, которые будут использоваться нашим приложением. Ключи, которые вы определяете здесь, - это средства, с помощью которых вы будете проверять разрешения в других методах, а так же формируют ключи языковых строк, которые предназначены для названия ваших разрешений. Некоторые ключи требуются, если ваши модели реализуют некоторые другие функции: view (можно просматривать ноду) всегда необходим (определяется как значение 'view'). read (можно читать элементы контента) всегда необходим. add (можно добавлять элементы контента) всегда необходим. reply (можно отвечать на элементы контента) обязателен, если ваши элементы контента могут быть прокомментированы. review (можно оставлять отзывы на элементы контента) обязателен, если ваши элементы контента поддерживают отзывы. Интерфейс матрицы разрешений в админцентре покажет разрешения в порядке, который вы определяете здесь. Имена столбцов определяются строкой языка с ключом perm__{$key}, где $key это ключ из вышеприведённого массива, поэтому вам нужно добавить их в файл lang.php вашего приложения. Изменённые поведения после реализации \IPS\Node\Permissions После реализации в вашей модели, следующие три метода (по умолчанию) будут возвращать дочерние ноды, которые текущий авторизованный пользователь имеет разрешения просматривать: hasChildren() childrenCount() children() Эти методы принимают два необязательных параметра, которые позволяют вам контролировать это поведение. Подпись параметра одинакова для всех трех; В качестве примера здесь показан children(). array children( [ string $permissionCheck='view' [, \IPS\Member $member=NULL ] ] ) $permissionCheck (string, optional, default 'view') Определяет, какое разрешение проверяется при работе с потомком; должен быть одним из ключей разрешения, которые вы определили ранее. Разрешение просмотра используется, если ни один не указан. $member (\IPS\Member, optional) Контролирует какие разрешения пользователя проверяются. По умолчанию, используется авторизованный в настоящее время пользователь, однако, вы можете переназначит это и указать другого пользователя. В дополнение к вышупомянутым, метод loadAndCheckPerms() теперь будет бросать исключение OutOfRangeException, если нода загружена у авторизованного пользователя, не имеющего разрешения на просмотр.. Дополнительные методы boolean static canOnAny( string $permission [, \IPS\Member $member ] ) Возвращает true, если пользователь имеет запрашиваемое разрешение на любой ноде, которая использует эту модель. $permission (string, required) Тип разрешения для проверки. $member (\IPS\Member, optional) Если предоставлено, при выполнении проверки используется разрешение данного пользователя. По умолчанию, используется авторизованный в настоящее время пользователь. boolean can( string $permission [, \IPS\Member $member ] ) Возвращает true, если пользователь имеет запрашиваемое разрешение для объекта ноды. $permission (string, required) Тип разрешения для проверки. $member (\IPS\Member, optional) Если предоставлено, при выполнении проверки используется разрешение данного пользователя. По умолчанию, используется авторизованный в настоящее время пользователь. array permissions() Возвращает массив, представляющий строку ноды из таблицы core_permission_index, которая содержит данные о том, какие группы какие имеют разрешения. Массив содержит ключи perm_view и с perm_2 до perm_7, предоставляющие настроенные вами типы разрешений. Каждое из этих значений представляет собой список идентификаторов групп, разделенных запятыми, которые имеют это разрешение. Например: $permissions = $myNode->permissions(); $groupsWithPermission = explode( ",", $permissions['perm_2'] ); // perm_2 может быть 'read' в нашей ноде foreach( $groupsWithPermission as $id ) { echo "Группа #{$id} имеет разрешение на прочтение элементов в этой ноде"; } Этот метод в первую очередь полезен при построении запросов на основе групп, имеющих указанное разрешение.
-
Перед тем, как позволить пользователям свободно создавать блоги на вашем сайте, вы должны произвести базовые настройки. Основные настройки Во-первых, вы можете настроить глобальные параметры для блогов, которые можно найти на странице вашего админцентра: Сообщество > Блоги > Настройки Настройки приложения Блоги Эта страница позволит вам разрешить или запретить экспорт/импорт RSS лент, а также включить возможность оценивать записи блогов. Настройки групп После основных настроек вы можете настроить параметры на уровне групп пользователей, тем самым ограничив некоторые возможности приложения для определённых групп. Вы можете получить доступ к группам пользователей в меню Пользователи > Пользователи > Группы. Более подробно прочитать про группы пользователей можно в инструкции Группы пользователей. После перехода на вкладку "Блог", вы увидите страницу, похожую на изображении ниже. Здесь вы можете настроить возможности группы в приложении Блоги. Настройки приложения в рамках группы пользователей
-
- permissions
- настройки
-
(и ещё 1 )
C тегом: