foreach ($revokeList as $permissionToRevoke) { $permissionsToRevoke->Add($permissionToRevoke); } $site->RevokeRoleMembershipsFromUsers($roleToUpdate, $permissionsToRevoke); } // Find users to gain role permission. $grantList = array_diff($usersSelected, $oldUsersForRoleList); if ($grantList != null && !empty($grantList)) { $permissionsToGrant = new MgStringCollection(); foreach ($grantList as $permissionToGrant) { $permissionsToGrant->Add($permissionToGrant); } $site->GrantRoleMembershipsToUsers($roleToUpdate, $permissionsToGrant); } // Get old list of groups for role GetUsersOrGroupsByRole(false, $selectedRole, $oldGroupsForRoleList); // Find groups to lose role permission. $revokeList = array_diff($oldGroupsForRoleList, $groupsSelected); if ($revokeList != null && !empty($revokeList)) { $permissionsToRevoke = new MgStringCollection(); foreach ($revokeList as $permissionToRevoke) { $permissionsToRevoke->Add($permissionToRevoke); } $site->RevokeRoleMembershipsFromGroups($roleToUpdate, $permissionsToRevoke); } // Find groups to gain role permission. $grantList = array_diff($groupsSelected, $oldGroupsForRoleList); if ($grantList != null && !empty($grantList)) { $permissionsToGrant = new MgStringCollection(); foreach ($grantList as $permissionToGrant) { $permissionsToGrant->Add($permissionToGrant);
function LoadGroupRolesTable(&$targetTable, $firstIndex, $lastIndex) { GetUsersOrGroupsByRole(false, ADMIN_ROLE, $groupsWithAdminRole); GetUsersOrGroupsByRole(false, AUTHOR_ROLE, $groupsWithAuthorRole); $targetTable = array(); LoadGroupTable($groupTable, $firstIndex, $lastIndex, false); foreach ($groupTable as $groupKey => $groupVal) { // Create record for role data $groupRolesRec = new GroupRolesTableRecord(); $targetTable[$groupKey] = $groupRolesRec; // For each role, record the group's role permission if (in_array($groupKey, $groupsWithAdminRole)) { $groupRolesRec->adminOn = true; } else { $groupRolesRec->adminOn = false; } if (in_array($groupKey, $groupsWithAuthorRole)) { $groupRolesRec->authorOn = true; } else { $groupRolesRec->authorOn = false; } } }