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);