Редактирование контекста в мультидоменном сайте

Мультидоменный сайт, каждый контекст имеет уникальные настройки, которые можно редактировать. Но если я даю доступ к настройкам локального контекста, появляется доступ к системным.
Так как требуется доступ к «Видеть и редактировать Системные настройки.»

Как закрыть доступ к системным настройкам?
Посоветовали дать доступ к странице системных настроек и закрыть для пользователя доступ к системным через плагин.

Написал вот это, но не работает.
<?php
switch ($modx->event->name) {

	case 'OnLoadWebDocument':
	case 'OnWebPagePrerender':

		// текущий контекст
		$context = $modx->context->get('key');

		$url = $_GET['a'];

		if (/* ($context == 'mgr' OR $context == 'web') and */ $url == 'system/settings' ) {
			exit('Доступ запрещен!');
		}

	break;

}
P.S. Revolution 2.8.7
Виталий
19 ноября 2024, 09:37
modx.pro
86
0

Комментарии: 1

Виталий
19 ноября 2024, 10:51
0
Решил свою проблему через имя пользователя, но хотелось бы через права пользователя «Неограниченные права»
<?php
  /**
  * Системное событие OnManagerPageBeforeRender
  *
  */

  // какой скрипт запущен
  $script = $scriptProperties['controller']->scriptProperties;
  $url = $script['a'];

  // пользователь
  $user = $modx->getUser();
  $username = $user->get('username');

  if ($username != 'admin' AND $url == 'system/settings' ) {
	exit('Доступ запрещен '. $context);
  }
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1