Массовое изменение прав у элементов раздела каталога — различия между версиями
Материал из Umicms
Kublan (обсуждение | вклад) (Новая страница: «'''Актуально 18''' Если Вам необходимо массово изменить права у объектов каталога определе…») |
Kublan (обсуждение | вклад) |
||
Строка 45: | Строка 45: | ||
Затем вызвать скрипт в адресной строке имя_сайта.ru/change_permissions.php. Перед вызовом советуем сделать дамп базы данных. | Затем вызвать скрипт в адресной строке имя_сайта.ru/change_permissions.php. Перед вызовом советуем сделать дамп базы данных. | ||
− | [[category:Написание кастомных макросов]] | + | [[category:Написание кастомных макросов]][[category:Модуль Каталог]] |
Версия 08:36, 13 августа 2018
Актуально 18
Если Вам необходимо массово изменить права у объектов каталога определенного раздела каталога, то для этого вам необходимо в корне сайта создать файл change_permissions.php и добавить в него следующий код:
<?php
require "standalone.php";
$groupId = 4; // id группы пользователей или пользователя
/**
* Уровень выставляемых прав от "0" до "31":
* ---------------------------------------------------------------------------
* | значение | чтение | редактирование | создание | удаление | перемещение |
* | 0 | - | - | - | - | - |
* | 1 | + | - | - | - | - |
* | 3 | + | + | - | - | - |
* | 7 | + | + | + | - | - |
* | 15 | + | + | + | + | - |
* | 31 | + | + | + | + | + |
* ---------------------------------------------------------------------------
*/
$permissionsLevel = 1;
$hierarchy = umiHierarchy::getInstance();
$childrenList = $hierarchy->getChildrenTree($groupId);
$permissions = permissionsCollection::getInstance();
foreach ($childrenList as $elementId => $value) {
$result = $permissions->setElementPermissions($groupId, $elementId, $permissionsLevel);
if ($result) {
echo "Изменены права видимости для элемента $elementId";
echo "<br/>";
} else {
echo "Произошла ошибка на элементе $elementId";
echo "<br/>";
}
}
Затем вызвать скрипт в адресной строке имя_сайта.ru/change_permissions.php. Перед вызовом советуем сделать дамп базы данных.