Массовое изменение прав у элементов раздела каталога — различия между версиями
Материал из Umicms
| Whoa (обсуждение | вклад) | Kublan (обсуждение | вклад)  | ||
| Строка 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:31, 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. Перед вызовом советуем сделать дамп базы данных.
