Skip to content

Commit a6ee98f

Browse files
committed
add script
1 parent 4beda18 commit a6ee98f

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
if (sizeof($argv) != 3 or in_array($argv, array("-h", "--help"))) {
4+
die("Usage: $argv[0] group_name filename_of_users_to_remove\n");
5+
}
6+
// builtin die() makes a return code of 0, we want nonzero
7+
function _die($msg) {
8+
print($msg);
9+
exit(1);
10+
}
11+
require_once __DIR__ . "/../resources/autoload.php";
12+
use UnityWebPortal\lib\UnityUser;
13+
use UnityWebPortal\lib\UnityGroup;
14+
15+
$gid = $argv[1];
16+
$filename = $argv[2];
17+
$group = new UnityGroup($gid, $LDAP, $SQL, $MAILER, $REDIS, $WEBHOOK);
18+
if (!$group->exists()) {
19+
_die("No such group '$gid'\n");
20+
}
21+
$handle = fopen($filename, "r") or _die("Can't open '$filename'\n");
22+
while (($line = fgets($handle)) !== false) {
23+
$uid = trim($line);
24+
$user = new UnityUser($uid, $LDAP, $SQL, $MAILER, $REDIS, $WEBHOOK);
25+
if (!$group->userExists($user)) {
26+
print("Skipping '$uid' who doesn't appear to be in '$gid'\n");
27+
continue;
28+
}
29+
$group->removeUser($user);
30+
}
31+
fclose($handle);

0 commit comments

Comments
 (0)