diff options
author | Mario Vavti <mario@mariovavti.com> | 2019-01-27 17:30:10 +0100 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2019-01-27 17:30:10 +0100 |
commit | 5c2f7a744a544a228b809da5e788795ba89ecb08 (patch) | |
tree | 4757da0c2356b072440dc5e5723a6e79514fc40e /util | |
parent | 793d78fba649bda486a358e5e3ec45873805d9d7 (diff) | |
parent | 535f0f45c9dbeb737d5bc888ccbd95fd01fb6e43 (diff) | |
download | volse-hubzilla-5c2f7a744a544a228b809da5e788795ba89ecb08.tar.gz volse-hubzilla-5c2f7a744a544a228b809da5e788795ba89ecb08.tar.bz2 volse-hubzilla-5c2f7a744a544a228b809da5e788795ba89ecb08.zip |
Merge remote-tracking branch 'mike/master' into dev
Diffstat (limited to 'util')
-rwxr-xr-x | util/admins | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/util/admins b/util/admins new file mode 100755 index 000000000..3c7f0e83e --- /dev/null +++ b/util/admins @@ -0,0 +1,60 @@ +#!/usr/bin/env php +<?php + +if(!file_exists('include/cli_startup.php')) { + echo 'Run admins from the top level Hubzilla web directory, as util/admins <args>' . PHP_EOL; + exit(1); +} + + + +require_once('include/cli_startup.php'); + +cli_startup(); + +$helpArgs = getopt('h', array('help')); +if (count($helpArgs) === 1) { + echo <<<'EndOfOutput' +adds, removes, or lists admins + +Usage: util/admins + util/admins list + util/admins add <account_id> + util/admins remove <account_id> + +EndOfOutput; + return; +} + +if($argc == 1) { + $r = q("select account_id, account_roles, account_email from account"); + if($r) { + foreach($r as $rr) { + echo sprintf('%4u %s %s', $rr['account_id'], $rr['account_email'],(($rr['account_roles'] & 4096) ? '*' : '')) . PHP_EOL; + } + } +} + + + +if($argc > 1 && $argv[1] === 'list') { + $r = q("select account_id, account_roles, account_email from account where (account_roles & 4096) > 0"); + if($r) { + foreach($r as $rr) { + echo sprintf('%4u %s %s', $rr['account_id'], $rr['account_email'],(($rr['account_roles'] & 4096) ? '*' : '')) . PHP_EOL; + } + } +} + + +if($argc > 2 && $argv[1] === 'add' && intval($argv[2])) { + $r = q("update account set account_roles = (account_roles | 4096) where account_id = %d", + intval($argv[2]) + ); +} + +if($argc > 2 && $argv[1] === 'remove' && intval($argv[2])) { + $r = q("update account set account_roles = (account_roles - 4096) where account_id = %d and (account_roles & 4096) > 0", + intval($argv[2]) + ); +} |