Могу ли я изменить разрешения для категории в Joomla 2.5 без повреждения таблицы активов? - PullRequest
0 голосов
/ 30 сентября 2018

Могу ли я изменить работу вокруг консоли администратора и изменить разрешения непосредственно в БД, не повреждая таблицу активов Joomla'a?

Мы используем Joomla 2.5 для уникального приложения, где нам пришлось создавать тысячикатегорий.Единственная проблема заключается в том, что мы не можем изменить разрешения для определенной категории с помощью консоли администратора, поскольку время ожидания истекло.Мы просто хотим изменить разрешение «Изменить» с «Унаследовано» на «Разрешено».

Категория, для которой мы меняем права, не является родительской для какой-либо другой категории.

Это необщая задача.

1 Ответ

0 голосов
/ 01 октября 2018

Лучший способ - временно увеличить время выполнения в вашем файле php.ini.но все же, если вы хотите пойти дальше и внести изменения, чем это не повредит базу данных, если вы не совершите ошибку.Если права на создание, удаление, редактирование и т. Д. Наследуются, то значения в поле правил будут выглядеть так:

{"core.create":[],"core.delete":[],"core.edit":[],"core.edit.state":[],"core.edit.own":[]}

. И как только вы сделаете правку из унаследованного в «Разрешено», оно станет

{"core.create":[],"core.delete":[],"core.edit":{"1":1},"core.edit.state":[],"core.edit.own":[]}
* 1006.* Таким образом, core.edit имеет массив с ключом 1 и значением 1. Вы можете изменить аналогично для других, но будьте осторожны, изменяя базу данных напрямую.Помните, что ключ один для общественного разрешения.Точно так же, если вам нужно сменить менеджера, он становится
{"core.create":[],"core.delete":[],"core.edit":{"1":1,"6":1},"core.edit.state":[],"core.edit.own":[]}

. Вы видите, что ключ 6 добавлен со значением 1, что означает, что у менеджера есть права на редактирование. Ключи 1 и 6 - это групповые идентификаторы public и Managerсоответственно.Вы можете получить идентификаторы группы, если перейдете в Users-> Groups.Идентификатор правой стороны будет отображаться для каждой отдельной группы.Итак, предположим, что вы хотите редактировать функциональность для издателя с идентификатором группы 5, тогда столбец правил будет выглядеть так:

 {"core.create":[],"core.delete":[],"core.edit":{"1":1,"6":1,"5":1},"core.edit.state":[],"core.edit.own":[]}
...