From c1a2fccd8e846ae5a2a1fe101cbd9e3bb4095638 Mon Sep 17 00:00:00 2001 From: Simon Leary Date: Fri, 12 Sep 2025 09:33:51 -0400 Subject: [PATCH] add script --- .pre-commit-config.yaml | 6 +++++- workers/remove-users-from-group.php | 33 +++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 workers/remove-users-from-group.php diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b8f55c87..3d4e679d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -65,4 +65,8 @@ repos: entry: ./test/assert-no-die-exit.bash language: system files: \.php$ - exclude: resources/lib/UnitySite\.php$ + exclude: | + (?x)^( + resources/lib/UnitySite\.php$| + workers/.*| + )$ diff --git a/workers/remove-users-from-group.php b/workers/remove-users-from-group.php new file mode 100644 index 00000000..d05dafbd --- /dev/null +++ b/workers/remove-users-from-group.php @@ -0,0 +1,33 @@ +exists()) { + _die("No such group '$gid'\n"); +} +$handle = fopen($filename, "r") or _die("Can't open '$filename'\n"); +while (($line = fgets($handle)) !== false) { + $uid = trim($line); + $user = new UnityUser($uid, $LDAP, $SQL, $MAILER, $REDIS, $WEBHOOK); + if (!$group->userExists($user)) { + print("Skipping '$uid' who doesn't appear to be in '$gid'\n"); + continue; + } + $group->removeUser($user); +} +fclose($handle);