From 0a869f3a933e9576e733f88682b9c64a87aac681 Mon Sep 17 00:00:00 2001 From: Simon Leary Date: Mon, 22 Dec 2025 14:00:13 -0500 Subject: [PATCH 1/4] add workers for user flags --- workers/get-user-flags.php | 27 +++++++++++++++++++++ workers/set-user-flag.php | 48 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100755 workers/get-user-flags.php create mode 100755 workers/set-user-flag.php diff --git a/workers/get-user-flags.php b/workers/get-user-flags.php new file mode 100755 index 000000000..565fd63e9 --- /dev/null +++ b/workers/get-user-flags.php @@ -0,0 +1,27 @@ +#!/usr/bin/env php +exists()) { + echo "no such user: '$uid'"; + exit(1); +} +$max_flag_strlen = max(array_map(fn($x) => strlen($x->value), UserFlag::cases())); +foreach (UserFlag::cases() as $flag) { + if ($user->getFlag($flag)) { + echo str_pad($flag->value, $max_flag_strlen, " ", STR_PAD_RIGHT) . " 1\n"; + } else { + echo str_pad($flag->value, $max_flag_strlen, " ", STR_PAD_RIGHT) . " 0\n"; + } +} + diff --git a/workers/set-user-flag.php b/workers/set-user-flag.php new file mode 100755 index 000000000..30c498306 --- /dev/null +++ b/workers/set-user-flag.php @@ -0,0 +1,48 @@ +#!/usr/bin/env php +exists()) { + echo "no such user: '$uid'"; + exit(1); +} +$user->setFlag($flag, $value); + From c236088bff6bfdacbb73d6ada106c4315618d6cb Mon Sep 17 00:00:00 2001 From: Simon Leary Date: Mon, 22 Dec 2025 14:02:53 -0500 Subject: [PATCH 2/4] tweak output style --- workers/set-user-flag.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/set-user-flag.php b/workers/set-user-flag.php index 30c498306..9a8ad1944 100755 --- a/workers/set-user-flag.php +++ b/workers/set-user-flag.php @@ -14,7 +14,7 @@ implode("\n", [ "Usage: set-user-flag.php uid flag flag_value", "choices for flag: %s", - "choices for value: 0 or 1", + "choices for value: [\"0\", \"1\"]", "", ]), jsonEncode($flag_choices), @@ -36,7 +36,7 @@ $value = true; break; default: - print "invalid value: '$value_str'. valid values: 0 or 1"; + print "invalid value: '$value_str'. valid values are 0 or 1"; exit(1); } $user = new UnityUser($uid, $LDAP, $SQL, $MAILER, $WEBHOOK); From 59da869486251bb1d753fe56163dabb5f7198c54 Mon Sep 17 00:00:00 2001 From: Simon Leary Date: Mon, 22 Dec 2025 14:03:53 -0500 Subject: [PATCH 3/4] remove newlines --- workers/get-user-flags.php | 2 -- workers/set-user-flag.php | 3 --- 2 files changed, 5 deletions(-) diff --git a/workers/get-user-flags.php b/workers/get-user-flags.php index 565fd63e9..52f23b334 100755 --- a/workers/get-user-flags.php +++ b/workers/get-user-flags.php @@ -1,7 +1,6 @@ #!/usr/bin/env php exists()) { diff --git a/workers/set-user-flag.php b/workers/set-user-flag.php index 9a8ad1944..a98dd4c0f 100755 --- a/workers/set-user-flag.php +++ b/workers/set-user-flag.php @@ -1,13 +1,11 @@ #!/usr/bin/env php Date: Mon, 22 Dec 2025 14:04:45 -0500 Subject: [PATCH 4/4] ensure print statements end with newline --- workers/get-user-flags.php | 2 +- workers/set-user-flag.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/workers/get-user-flags.php b/workers/get-user-flags.php index 52f23b334..aae94cffe 100755 --- a/workers/get-user-flags.php +++ b/workers/get-user-flags.php @@ -11,7 +11,7 @@ $uid = $argv[1]; $user = new UnityUser($uid, $LDAP, $SQL, $MAILER, $WEBHOOK); if (!$user->exists()) { - echo "no such user: '$uid'"; + echo "no such user: '$uid'\n"; exit(1); } $max_flag_strlen = max(array_map(fn($x) => strlen($x->value), UserFlag::cases())); diff --git a/workers/set-user-flag.php b/workers/set-user-flag.php index a98dd4c0f..13ed8156d 100755 --- a/workers/set-user-flag.php +++ b/workers/set-user-flag.php @@ -21,7 +21,7 @@ } [$_, $uid, $flag_str, $value_str] = $argv; if (!in_array($flag, $flag_choices)) { - echo sprintf("invalid flag: '%s'. valid choices: %s", $flag, jsonEncode($flag_choices)); + echo sprintf("invalid flag: '%s'. valid choices: %s\n", $flag, jsonEncode($flag_choices)); exit(1); } $flag = UserFlag::from($flag_str); @@ -33,7 +33,7 @@ $value = true; break; default: - print "invalid value: '$value_str'. valid values are 0 or 1"; + print "invalid value: '$value_str'. valid values are 0 or 1\n"; exit(1); } $user = new UnityUser($uid, $LDAP, $SQL, $MAILER, $WEBHOOK);