Массовое изменение прав у элементов раздела каталога
Материал из Umicms
Версия от 09:31, 13 августа 2018; Kublan (обсуждение | вклад)
Актуально для версии 18.
Если Вам необходимо массово изменить права у объектов каталога определенного раздела каталога, то для этого вам необходимо в корне сайта создать файл change_permissions.php и добавить в него следующий код:
<?php
require "standalone.php";
$groupId = 4; // id группы пользователей или пользователя
$categoryId = 150; // id раздела каталога
/**
* Уровень выставляемых прав от "0" до "31":
* ---------------------------------------------------------------------------
* | значение | чтение | редактирование | создание | удаление | перемещение |
* | 0 | - | - | - | - | - |
* | 1 | + | - | - | - | - |
* | 3 | + | + | - | - | - |
* | 7 | + | + | + | - | - |
* | 15 | + | + | + | + | - |
* | 31 | + | + | + | + | + |
* ---------------------------------------------------------------------------
*/
$permissionsLevel = 1;
$hierarchy = umiHierarchy::getInstance();
$childrenList = $hierarchy->getChildrenTree($categoryId);
$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. Перед вызовом советуем сделать дамп базы данных.