Еще один кейс: на сайте куча пользователей без какой-либо группы. Надо их всех закинуть в определенную группу. К слову, это еще один логический минус системы политик безопасности MODX, так как уровни доступов пользователей настраиваются только на основании групп пользователей, а тут получается, что пользователь и не аноним (неавторизованные пользователи в группе анонимов находятся, которой можно задавать права доступов), и ни в какой другой группе. Без группы им вообще нельзя права задать, и получается, что часто такие пользователи вообще прав меньше имеют, чем анонимы даже. Готовый код: <?php
ini_set('max_execution_time', 0); ignore_user_abort(true);
print '<pre>';
// Формируем запрос на выборку пользователей, не состоящих ни в одной группе $q = $modx->newQuery('modUser'); $q->leftJoin('modUserGroupMember', 'UserGroupMembers');
$q->where(array( "UserGroupMembers.id" => null, ));
// Подсчет количества таких пользователей // print "<br />". $modx->getCount('modUser', $q);
$groupId = 5; // ID группы пользователей, в которую надо добавить пользователя $roleId = null; // ID роли $rank = null;
foreach($modx->getIterator("modUser", $q) as $user){
// Добавляем пользователя в группу
$user->joinGroup($groupId, $roleId, $rank);
}
print "<br />OK";
Это не плагин, это готовый код на выполнение, чтобы всех пользователей не распределенных перенести в определенную группу, то есть это когда пользователи уже давно зарегистрировались. А если у вас задача, чтобы при регистрации пользователь попадал в определенную группу, так это, на сколько я знаю, просто в Login параметр передается и все.
Сорри, проверял доступы другого пользователя, забыл разлогиниться))