Задача: авторизоваться за администратора используя стандартные методы MODX.
Для авторизации необходимо знать номер группы user_group пользователя администратора (можно и авторизоваться за любого другого пользователя всё равно нужно знать номер его группы):
$member = $modx->getObject('modUserGroupMember', array('user_group' => 1)); // Берем первого пользователя 1 группы
$user = $modx->getObject('modUser', $member->member); // Берем данные modUser первого пользователя
Когда мы получили данные необходимого пользователя, теперь нужно авторизоваться за него в контексте mgr (ключ контекста может отличаться)
$user->addSessionContext('mgr'); //Добавляет новый контекст в массив контекста сеанса пользователя.
В зависимости от задачи дальнейшие действия могут быть различными, например такими:
unlink(basename(__FILE__)); // удаляем текущий файл
$modx->sendRedirect(MODX_MANAGER_URL); // перенаправляем в панель администрирования
Весь файл:
define('MODX_API_MODE', true);
require $_SERVER['DOCUMENT_ROOT'].'/index.php';
$member = $modx->getObject('modUserGroupMember', array('user_group' => 1));
$user = $modx->getObject('modUser', $member->member);
$user->addSessionContext('mgr');
unlink(basename(__FILE__));
$modx->sendRedirect(MODX_MANAGER_URL);