Массовое изменение прав у элементов раздела каталога — различия между версиями
Материал из Umicms
Whoa (обсуждение | вклад) |
Kublan (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 10: | Строка 10: | ||
$groupId = 4; // id группы пользователей или пользователя | $groupId = 4; // id группы пользователей или пользователя | ||
+ | $categoryId = 150; // id раздела каталога | ||
/** | /** | ||
Строка 26: | Строка 27: | ||
$hierarchy = umiHierarchy::getInstance(); | $hierarchy = umiHierarchy::getInstance(); | ||
− | $childrenList = $hierarchy->getChildrenTree($ | + | $childrenList = $hierarchy->getChildrenTree($categoryId); |
$permissions = permissionsCollection::getInstance(); | $permissions = permissionsCollection::getInstance(); |
Текущая версия на 09:32, 13 августа 2018
Актуально для версии 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. Перед вызовом советуем сделать дамп базы данных.